Skip to main content

Architecture + Python – Perfect for structured design.

Project description

ArchiPy Logo

ArchiPy - Architecture + Python

Forks Stars Python UV Documentation License Maintained Contributions welcome PyPI - Version PyPI - Downloads Contributors Last Commit Open Issues Closed Issues Pull Requests Repo Size Code Size

Structured Python Development Made Simple

ArchiPy is a Python framework designed to provide a standardized, scalable, and maintainable architecture for modern applications. Built with Python 3.14+, it offers a suite of tools, utilities, and best practices to streamline configuration management, testing, and development workflows while adhering to clean architecture principles.


📋 Table of Contents


🎯 Goals

ArchiPy is built with the following objectives in mind:

  1. Configuration Management & Injection - Simplify and standardize configuration handling
  2. Common Adapters & Mocks - Provide ready-to-use adapters with testing mocks
  3. Standardized Entities & DTOs - Enforce consistency in data modeling
  4. Common Helpers for Everyday Tasks - Simplify routine development work
  5. Behavior-Driven Development (BDD) Support - Enable robust feature validation
  6. Best Practices & Development Structure - Enforce coding standards

Read more about ArchiPy's architecture and design


✨ Features

  • 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


🛠️ Prerequisites

  • Python 3.14 or higher
  • UV (recommended for development)

📥 Installation

Install using pip

# Basic installation
pip install archipy

# With optional dependencies (e.g., Redis and FastAPI)
pip install archipy[redis,fastapi]

Using UV:

uv add archipy

# With optional dependencies
uv add archipy[redis,fastapi]

View installation documentation


🎯 Usage

Optional Dependencies

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


🛠️ Development

Quick Commands

# Format code
make format

# Run tests
make behave

# Lint code
make lint

View the complete development guide


🤝 Contributing

Contributions are welcome! See our contribution guidelines for details.


📄 License

This project is licensed under the terms of the LICENSE file.


🙌 Sponsors

Support ArchiPy by checking out our amazing sponsors! View Sponsors


📞 Contact


🔗 Links

📚 Documentation

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
  • Performance Optimized: Multiple build modes for fast iteration

Quick Start

# Install documentation dependencies
uv sync --group docs

# Fast mode for quick iterations (10-20s builds)
make docs-serve-fast

# Balanced mode for regular work (30-60s builds)
make docs-serve

# Full production build (2-5min, all features)
make docs-build-full

# Deploy to GitHub Pages
make docs-deploy

See DOCS_QUICKSTART.md for more commands and tips.

View the latest documentation

Project details


Release history Release notifications | RSS feed

This version

4.8.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

archipy-4.8.0.tar.gz (707.4 kB view details)

Uploaded Source

Built Distribution

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

archipy-4.8.0-py3-none-any.whl (266.1 kB view details)

Uploaded Python 3

File details

Details for the file archipy-4.8.0.tar.gz.

File metadata

  • Download URL: archipy-4.8.0.tar.gz
  • Upload date:
  • Size: 707.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for archipy-4.8.0.tar.gz
Algorithm Hash digest
SHA256 1928560fe3219057bdf1bb421bf1401dc58bfcce60d2a034736b1a988001aaba
MD5 e159f9c18ca53ff7f5476dc6e57477c2
BLAKE2b-256 3f31765d0b38589f21f724edde8dccc3d2603ddf6745dd8e8f15f0cc1d924ecf

See more details on using hashes here.

File details

Details for the file archipy-4.8.0-py3-none-any.whl.

File metadata

  • Download URL: archipy-4.8.0-py3-none-any.whl
  • Upload date:
  • Size: 266.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for archipy-4.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9ab7dc0e959bbd118e810935f1b1f78196de2666b3bbd6075740f655a4a84c67
MD5 e04ec5e1c7bd67ac8d5269869e0d51d0
BLAKE2b-256 be31dbf0b9cda319dda0177aa600064802fa3804db6cf34a558124d45f53cf2e

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