Skip to main content

A system assembly framework based on Integrant

Project description

While IoC and dependency injection aren’t as much of a thing in Python as they are in many compiled languages, that doesn’t mean they don’t have their place in decomposition of a complex architecture and assembly of systems; there’s something very nice about completely separated modules that communicate based on shared abstractions which are then assembled by a separate piece of code into running systems.

But despite the many microframeworks for dependency injection that I’ve seen for Python, I haven’t seen any that seem as elegant as the Integrant microframework enjoyed by Clojurists. This is an effort to remedy that, but as I haven’t loads of time to invest in it, it’s a pale shadow of the original.

Still, shadows have power. It can already do the initialization portion of a system, although items like prep, halt, suspend, etc remain, as do derived keys and refsets. But one thing at a time.

As of the 0.1.0 prerelease, all that works is the basic assembly of a system from a configuration (in Python, JSON, or TOML) and it’s surprising how effective that actually can be. Unfortunately error messages are lightly cryptic and documentation is nonexistent, but more will be coming shortly.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyntegrant-0.2.1.tar.gz (8.4 kB view hashes)

Uploaded source

Built Distribution

pyntegrant-0.2.1-py3-none-any.whl (9.0 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page