ArchiPy is a Python framework designed to provide a standardized, scalable, and maintainable architecture for modern applications. Built with Python 3.13+, it offers a suite of tools, utilities, and best practices to streamline configuration management, testing, and development workflows while adhering to clean architecture principles.
- Goals
- Features
- Prerequisites
- Installation
- Usage
- Development
- Contributing
- License
- Sponsors
- Contact
- Links
ArchiPy is built with the following objectives in mind:
- Configuration Management & Injection - Simplify and standardize configuration handling
- Common Adapters & Mocks - Provide ready-to-use adapters with testing mocks
- Standardized Entities & DTOs - Enforce consistency in data modeling
- Common Helpers for Everyday Tasks - Simplify routine development work
- Behavior-Driven Development (BDD) Support - Enable robust feature validation
- Best Practices & Development Structure - Enforce coding standards
Read more about ArchiPy's architecture and design
- Config Standardization: Tools for managing and injecting configurations
- Adapters & Mocks: Pre-built adapters for Redis, SQLAlchemy, and email with testing mocks
- Data Standardization: Base entities, DTOs, and type safety
- Helper Utilities: Reusable tools for common tasks
- BDD Testing: Fully integrated Behave setup
- Modern Tooling: Dependency management and code quality tools
Explore the complete feature set
- Python 3.13 or higher
- Poetry (recommended for development)
Install using pip
# Basic installation
pip install archipy
# With optional dependencies (e.g., Redis and FastAPI)
pip install archipy[redis,fastapi]
Using Poetry:
poetry add archipy
# With optional dependencies
poetry add archipy[redis,fastapi]
View installation documentation
ArchiPy's modular design lets you install only what you need:
# Examples
pip install archipy[redis] # Redis support
pip install archipy[fastapi] # FastAPI framework
pip install archipy[postgres] # PostgreSQL support
See the documentation for all available options and examples
# Format code
make format
# Run tests
make behave
# Lint code
make lint
View the complete development guide
Contributions are welcome! See our contribution guidelines for details.
This project is licensed under the terms of the LICENSE file.
Support ArchiPy by checking out our amazing sponsors! View Sponsors
- Mehdi Einali: einali@gmail.com
- Hossein Nejati: hosseinnejati14@gmail.com
ArchiPy's documentation has been migrated from Sphinx to MkDocs for improved readability and organization:
- Modern Interface: Material theme with responsive design
- Improved Navigation: Intuitive organization and search
- Clearer Examples: Expanded code samples with explanations
- API Reference: Auto-generated from source code docstrings
To run the documentation locally:
# Install documentation dependencies
poetry install --with docs
# Serve documentation locally
make docs-serve
# Build documentation
make docs-build
# Deploy to GitHub Pages
make docs-deploy