Skip to main content

A schema-driven application engine for building multi-tenant REST APIs with dynamic data models, storage abstraction, and pluggable backend integrations.

Project description

apibean-engine

apibean-engine is a schema-driven application framework for building modern, multi-tenant business applications.

It combines dynamic schema management, database abstraction, authentication, authorization, and REST API generation into a single, integrated package, allowing developers to rapidly build metadata-driven applications without assembling multiple frameworks.

The project is designed with a modular architecture. While the current release provides an all-in-one developer experience, major components such as the REST API layer and notebook integration are intended to evolve into standalone packages within the apibean ecosystem.

Features

Schema-Driven Applications

Define application models using JSON Schema instead of handwritten ORM models.

  • Dynamic schema definition
  • Runtime schema evolution
  • Metadata-driven application design
  • JSON object storage

Database Abstraction

Access multiple storage technologies through a unified programming model.

Supported and planned backends include:

  • PostgreSQL
  • MySQL
  • Redis
  • MinIO
  • OpenSearch
  • TimescaleDB

The storage layer is designed to be extensible through backend adapters.

Automatic REST APIs

Build RESTful APIs with minimal boilerplate.

Current integration is based on FastAPI, providing:

  • CRUD endpoints
  • Authentication
  • Authorization
  • Request validation
  • OpenAPI documentation
  • Dependency Injection

The REST layer is currently included in apibean-engine for simplicity and is planned to become a dedicated package in the future.

Authentication & Authorization

Built-in security components include:

  • User authentication
  • Role-Based Access Control (RBAC)
  • Permission management
  • Resource-level authorization
  • Extensible authentication providers

Multi-Tenant Ready

The framework is designed for SaaS and enterprise applications.

Capabilities include:

  • Organization management
  • Tenant-aware data access
  • Configurable isolation strategies
  • Tenant-specific schemas and resources

Advanced multi-tenant features will be provided by the future apibean-tenants package.

Extensible Plugin Architecture

Most framework capabilities are implemented through pluggable components.

Examples include:

  • Database adapters
  • Storage providers
  • Search engines
  • Time-series backends
  • Authentication providers
  • API extensions

Architecture

                   apibean-engine
    ┌─────────────────────────────────────────────┐
    │                                             │
    │  Schema Management                          │
    │  Metadata Runtime                           │
    │  Storage Adapters                           │
    │  Authentication                             │
    │  Authorization                              │
    │  REST API (FastAPI)                         │
    │  Dependency Injection                       │
    │                                             │
    └─────────────────────────────────────────────┘
                   │
        ┌──────────┼──────────┐
        ▼          ▼          ▼
   PostgreSQL   Redis      MinIO
        │
        ▼
   OpenSearch
        │
        ▼
   TimescaleDB

The internal architecture is modular, enabling individual components to be extracted into dedicated packages as the ecosystem grows.

Design Principles

  • Schema-first development
  • Metadata-driven applications
  • Convention with explicit customization
  • Pluggable backend architecture
  • Multi-tenant by design
  • Framework-independent domain logic
  • Production-ready defaults

Future Ecosystem

As the project evolves, the framework will be organized into dedicated packages:

  • apibean-engine — Core runtime and application framework
  • apibean-rest — REST API integration
  • apibean-client — Python API client
  • apibean-tenants — Advanced multi-tenant management
  • apibean-jupyter — Jupyter Server integration
  • apibean-notebook — Interactive notebook utilities
  • apibean-base — Shared utilities and common abstractions

Applications built today on apibean-engine will remain compatible as these components are gradually separated.

Installation

pip install apibean-engine

Vision

apibean-engine aims to provide a productive foundation for building metadata-driven applications. By combining schema management, storage abstraction, authentication, and REST APIs into a cohesive framework, it enables developers to focus on business logic rather than infrastructure.

The long-term vision is to grow into a modular ecosystem where individual capabilities can be adopted independently while maintaining a consistent developer experience.

License

MIT License

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

apibean_engine-0.1.0a1.tar.gz (61.9 kB view details)

Uploaded Source

Built Distribution

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

apibean_engine-0.1.0a1-py3-none-any.whl (105.4 kB view details)

Uploaded Python 3

File details

Details for the file apibean_engine-0.1.0a1.tar.gz.

File metadata

  • Download URL: apibean_engine-0.1.0a1.tar.gz
  • Upload date:
  • Size: 61.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.5

File hashes

Hashes for apibean_engine-0.1.0a1.tar.gz
Algorithm Hash digest
SHA256 7f4ff12bcdeb2a2fc468b4305d2d3e136b7c9bb47d581dcf0190333ec68fa321
MD5 c10c3ac0df6c2c0df9a93052c4a46869
BLAKE2b-256 4183b145f1db8f90667301bd4c7297494a69b02d80c26705caf7fdac4146dae5

See more details on using hashes here.

File details

Details for the file apibean_engine-0.1.0a1-py3-none-any.whl.

File metadata

File hashes

Hashes for apibean_engine-0.1.0a1-py3-none-any.whl
Algorithm Hash digest
SHA256 b741c2cb44b8ae1d9eed91d088ee1ca2caddf1e33c08748f323cd32c2144e55d
MD5 22590a96ecdcc2ebada8e5b8eb76b2c6
BLAKE2b-256 1569893c3f9feb6de2de5ba5336e63bdbaf3e40900f3e3d5aff532e475875a49

See more details on using hashes here.

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