Imbi Common Library
Shared library for the Imbi ecosystem providing core data access, authentication primitives, and domain models.
Overview
imbi-common is a Python library that provides common functionality for all Imbi services including:
- Database Clients: Apache AGE/PostgreSQL (graph database) and ClickHouse (analytics database) with connection management
- Message Streaming: Apache Iggy producer with connection management, stream and topic provisioning, and publishing
- Every analytics row is published to Iggy; the ClickHouse client queries and sets up schema, it does not insert (ADR 0019)
- Domain Models: Pydantic models for Projects, Organizations, Teams, Environments, ProjectTypes, and more
- Authentication: JWT token creation/verification, token encryption
- Configuration: Pydantic Settings-based configuration management with TOML file support
- Blueprint System: Dynamic schema extension system for runtime model customization
- Logging: Consistent logging configuration across all services
Services Using imbi-common
- imbi-api: Main API service for service management
- imbi-gateway: Webhook processing service
- imbi-mcp: Model Context Protocol server for Claude integration
Documentation
Full documentation is available at: https://aweber-imbi.github.io/imbi-common/
Development
Prerequisites
Setup
# Clone the repository
git clone https://github.com/AWeber-Imbi/imbi-common.git
cd imbi-common
# Install dependencies and pre-commit hooks
moon run root:setup
Running Tests
moon run common:test # The common library's test suite (requires Docker)
uv run --env-file .env.test pytest libraries/common/tests/<file> # Run a specific test file
Code Quality
moon run common:lint common:typecheck common:format # Run all linters + type check
uv run pre-commit run --all-files # Reformat code
License
BSD-3-Clause - See LICENSE file for details.
Authors
- Dave Shawley daves@aweber.com
- Gavin M. Roy gavinr@aweber.com
Contributing
Contributions are welcome! Please see CONTRIBUTING.md for guidelines.
Release files for imbi-common 2.35.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| imbi_common-2.35.0.tar.gz | 274.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| imbi_common-2.35.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 465.2 kB
Release files / imbi_common-2.35.0.tar.gz
| Download URL | imbi_common-2.35.0.tar.gz |
|---|---|
| Size | 274.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3d95421a8789cefb3e7c7b5855a8f10bcc470e3a7a8a701640e633269b63a690
|
|
BLAKE2b-256 checksum How to use checksums |
109cfe00c50be4a1608623fb286e053306273d1349a34f859f0fb4b899c37027
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 17, 2026.
Transparency logRelease files / imbi_common-2.35.0-py3-none-any.whl
| Download URL | imbi_common-2.35.0-py3-none-any.whl |
|---|---|
| Size | 190.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
db7ba633603b0702fcf023e6b8dde822ab8d1fd2afedb5d407149c40ef8d788a
|
|
BLAKE2b-256 checksum How to use checksums |
73f081e57314932d8ec862c8b0b7ee56b6f074f623e67c98c2f7b4d556d08c02
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 17, 2026.
Transparency log