Skip to main content

Imbi is a DevOps Service Management Platform designed to provide an efficient way to manage a large environment that contains many services and applications.

Project description

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)
just setup

# Start Docker services and run the development server with auto-reload
just serve --dev

# Initialize Imbi (first time only — seeds roles/permissions, creates admin user)
uv run imbi-api setup

# Access the API
curl http://localhost:8000/status

Testing

# Run all tests with coverage
just test

# Run pre-commit checks + type checking
just lint

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

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

imbi_api-2.10.0.tar.gz (786.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

imbi_api-2.10.0-py3-none-any.whl (421.8 kB view details)

Uploaded Python 3

File details

Details for the file imbi_api-2.10.0.tar.gz.

File metadata

  • Download URL: imbi_api-2.10.0.tar.gz
  • Upload date:
  • Size: 786.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for imbi_api-2.10.0.tar.gz
Algorithm Hash digest
SHA256 1bcdc86ef86c3e9a2691d762a77ae7b5bdf5263931ef6e4e66302fa32ec32b5c
MD5 5cda1bbb258794aee9a6a3c0809d2b7f
BLAKE2b-256 bcfbbf357afd7c3ffb4a60e31f472b44599b9c992b5b2b890c1c37db1531a093

See more details on using hashes here.

Provenance

The following attestation bundles were made for imbi_api-2.10.0.tar.gz:

Publisher: deploy.yaml on AWeber-Imbi/imbi-api

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file imbi_api-2.10.0-py3-none-any.whl.

File metadata

  • Download URL: imbi_api-2.10.0-py3-none-any.whl
  • Upload date:
  • Size: 421.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for imbi_api-2.10.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d403ea941f381ef2c29f3d402c55eb788380a8c2dfbe6d7bcbf58e0c91738212
MD5 d31671ca088f6772dabab0e850f17e33
BLAKE2b-256 6f4b64dbb48fd034234db3081fec006ee837eed5d877dd9b037e4152484cdf6e

See more details on using hashes here.

Provenance

The following attestation bundles were made for imbi_api-2.10.0-py3-none-any.whl:

Publisher: deploy.yaml on AWeber-Imbi/imbi-api

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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