Imbi
A DevOps Service Management Platform for managing complex service ecosystems
Imbi provides a centralized platform to manage, track, and understand all services and applications across your organization. It serves as a single source of truth for service metadata, dependencies, ownership, and operational information.
What is Imbi?
Imbi helps organizations answer critical questions about their service landscape:
- What services do we have? Complete inventory with ownership, type, and namespace organization
- How are they related? Graph-based dependency tracking and relationship visualization
- Who owns what? Clear ownership and team assignments
- What's deployed where? Environment-specific URLs and deployment tracking
- What needs attention? Project health scoring based on configurable factors
- Where's the documentation? Links to repos, CI/CD, monitoring, and other tools
Key Benefits
- Single Source of Truth: Centralized service catalog with comprehensive metadata
- Relationship Visualization: Graph database enables intuitive dependency mapping
- Automation Ready: API-first design enables integration with CI/CD, webhooks, and automations
- AI-Powered: Built-in vector search and conversational AI support for natural language queries
- Extensible: Blueprint system for customizable project metadata schemas
- Developer Friendly: Automatic data collection via GitHub webhooks and integrations
Version 2.0 (Alpha)
Complete rewrite using modern Python technologies for improved performance, scalability, and AI integration:
- FastAPI: Modern async web framework with automatic OpenAPI documentation
- Apache AGE: Graph database (PostgreSQL extension) for modeling service relationships and dependencies
- ClickHouse: Analytics and time-series data storage for operations logs and metrics
- Pydantic v2: Type-safe data validation and settings management
What's New in v2
- Graph Database: Apache AGE (PostgreSQL) for intuitive relationship modeling and AI-friendly Cypher queries
- Modern API: FastAPI provides automatic OpenAPI docs, async performance, and better type safety
- Simplified Architecture: Single PostgreSQL instance for relational and graph data
- Full Authentication: OAuth2/OIDC (Google, GitHub, Keycloak) and local password authentication with JWT tokens
- Fine-Grained Authorization: Permission-based access control with resource-level permissions and role management
- Analytics Ready: ClickHouse integration for operations logs and time-series metrics
For developers, see CLAUDE.md for development guide and architecture details.
Quick Start
Development Environment
# Set up development environment (install deps, pre-commit hooks)
moon run root:setup
# Start Docker services (writes .env.test), then run the dev server with auto-reload
moon run root:services
uv run --env-file .env.test imbi-api serve --dev
# Initialize Imbi (first time only — seeds roles/permissions, creates admin user)
uv run --env-file .env.test imbi-api setup
# Access the API
curl http://localhost:8000/status
Testing
# Run the API member's test suite
moon run api:test
# Lint, type-check, and format-check
moon run api:lint api:typecheck api:format
Core Concepts
Data Model
Imbi organizes services using a flexible, graph-based data model:
-
Organizations: Top-level organizational units
- Unique slug identifier
- Name, description, and optional icon
- Foundation for hierarchical team structure
-
Teams: Groups within organizations
- Managed by an organization (MANAGED_BY relationship)
- Own and maintain projects
- Unique slug identifier within their scope
-
Projects: Individual services or applications
- Owned by a team (OWNED_BY relationship)
- Categorized by project type (TYPE relationship)
- Deployed in environments (DEPLOYED_IN relationship)
- Links to external tools (GitHub, Jira, PagerDuty, monitoring, etc.)
- Environment-specific URLs (staging, production, etc.)
- Custom identifiers (repo IDs, service IDs, etc.)
-
Project Types: Service categorization
- Web Services, APIs, Libraries, Databases, etc.
- Unique slug identifier
- Used to classify projects
-
Environments: Deployment targets
- Production, Staging, Development, etc.
- Unique slug identifier
- Projects can be deployed to multiple environments
-
Blueprints: JSON Schema-based metadata templates
- Apply to Organizations, Teams, Environments, Project Types, or Projects
- Define custom fields with validation rules
- Enforce required metadata
- Priority-based application when multiple blueprints match
- Optional filtering based on entity properties
-
Users, Groups, and Roles: Authentication and authorization
- Users with OAuth or local password authentication
- Groups for organizing users
- Roles with fine-grained permissions
- Resource-based access control
API Access
Once the server is running, explore the API:
# Health check
curl http://localhost:8000/status
# Get authentication providers
curl http://localhost:8000/auth/providers
# API documentation
open http://localhost:8000/docs # ReDoc UI
License
BSD 3-Clause License
Copyright (c) 2018 - 2026, AWeber
Release files for imbi-api 2.29.1
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_api-2.29.1.tar.gz | 869.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| imbi_api-2.29.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.5 MB
Release files / imbi_api-2.29.1.tar.gz
| Download URL | imbi_api-2.29.1.tar.gz |
|---|---|
| Size | 869.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
cb3f83abb83663c8c4da05ed0837ce8b58f1a2744be0e6b54a01eb0f0d878952
|
|
BLAKE2b-256 checksum How to use checksums |
583ca94ef7b1d3cd3d62bfe40ba711b2c5d9d119a434473b6a77270661e3d3e9
|
| 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 Aug 22, 2026.
Transparency logRelease files / imbi_api-2.29.1-py3-none-any.whl
| Download URL | imbi_api-2.29.1-py3-none-any.whl |
|---|---|
| Size | 623.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e31438ac2727935638a840b34f7e6a58a23783cefe75f1a5c5a50ad5f7aaf4cb
|
|
BLAKE2b-256 checksum How to use checksums |
3309ccd1d4b30c056442589a1766617c6149f47d5535cf2ac15f4f79bea5ba56
|
| 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 Aug 22, 2026.
Transparency log