Integrant is a minimalistic micro-framework for building applications following a data-driven architecture. It lets you define system components declaratively as configuration data and handles lifecycle actions (init, halt, resume) in dependency order, serving as a modern alternative to Component or Mount. Integrant was built as a reaction to fix some perceived weaknesses with Component. In Component, systems are created programmatically. Constructor functions are used to build records, which are then assembled into systems. In Integrant, systems are created from a configuration data structure, typically loaded from an edn resource. The architecture of the application is defined through data, rather than code.

Features

  • Defines application architecture via plain Clojure data (maps)
  • Automatically orders initialization and halting tasks by dependencies using multimethods
  • Supports resuming with reuse of existing resources when possible (resume)
  • Provides tools to construct (init), suspend (suspend!), and tear down systems in reverse order
  • Allows extraction of dependency graphs and deep merging of config maps (dependency-graph, converge)
  • Compatible with both Clojure and ClojureScript environments

Project Samples

Project Activity

See All Activity >

Categories

Libraries

License

MIT License

Follow Integrant

Integrant Web Site

Other Useful Business Software
Gemini 3 and 200+ AI Models on One Platform Icon
Gemini 3 and 200+ AI Models on One Platform

Access Google's best plus Claude, Llama, and Gemma. Fine-tune and deploy from one console.

Build generative AI apps with Vertex AI. Switch between models without switching platforms.
Start Free
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of Integrant!

Additional Project Details

Registered

2025-08-20