Skip to content

API Reference

Welcome to the ArchiPy API reference documentation. This section provides detailed information about all modules, classes, and functions in ArchiPy.

Core Modules

Adapters

The adapters module provides standardized interfaces to external systems:

Configs

Configuration management and injection tools:

Helpers

Utility functions and support classes:

Models

Core data structures and types:

Source Code Organization

The ArchiPy source code is organized into the following structure:

archipy/
├── adapters/           # External system integrations
│   ├── base/          # Base adapter implementations
│   │   └── sqlalchemy/  # Base SQLAlchemy components
│   ├── email/         # Email service adapters
│   ├── internet_payment_gateways/ # Payment gateway adapters
│   │   └── ir/        # Country-specific implementations
│   │       └── parsian/  # Parsian Shaparak gateway adapter
│   ├── keycloak/      # Keycloak authentication adapters
│   ├── kafka/         # Kafka message streaming adapters
│   ├── minio/         # MinIO object storage adapters
│   ├── postgres/      # PostgreSQL database adapters
│   │   └── sqlalchemy/  # PostgreSQL SQLAlchemy components
│   ├── redis/         # Redis adapters
│   ├── sqlite/        # SQLite database adapters
│   │   └── sqlalchemy/  # SQLite SQLAlchemy components
│   └── starrocks/     # StarRocks database adapters
│       └── sqlalchemy/  # StarRocks SQLAlchemy components
├── configs/           # Configuration management
│   ├── base_config.py
│   └── templates/
├── helpers/           # Utility functions
│   ├── decorators/
│   ├── interceptors/
│   ├── metaclasses/
│   └── utils/
└── models/            # Core data structures
    ├── dtos/
    ├── entities/
    ├── errors/
    └── types/

API Stability

ArchiPy follows semantic versioning and marks API stability as follows:

  • 🟢 Stable: Production-ready APIs, covered by semantic versioning
  • 🟡 Beta: APIs that are stabilizing but may have breaking changes
  • 🔴 Alpha: Experimental APIs that may change significantly

See the Changelog for version history and breaking changes.

Contributing

For information about contributing to ArchiPy's development, please see: