Skip to main content
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

Each adapter extra installs its own package (archipy[redis] → archipy-redis), so only the adapters you ask for are installed. Imports are unchanged (archipy.adapters.redis).

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


📚 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

Metadata

Release files for archipy 5.15.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for archipy 5.15.0
File Size Uploaded
archipy-5.15.0.tar.gz 1.1 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for archipy 5.15.0
File Interpreter ABI Platform
archipy-5.15.0-py3-none-any.whl Python 3 none any Details

Total release size: 1.4 MB

Release files / archipy-5.15.0.tar.gz

Download URL archipy-5.15.0.tar.gz
Size 1.1 MB
Tags Source
SHA-256 checksum
How to use checksums
4fa2cb4743738a2ac097a081f0b5b2e05b40ac601c0a9ff22de8a2529c6242a6
BLAKE2b-256 checksum
How to use checksums
513efbc977c31c5ca093c3cd1ba2a6581c8defbf6906adf3f7d288507acbd4b3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","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}

Release files / archipy-5.15.0-py3-none-any.whl

Download URL archipy-5.15.0-py3-none-any.whl
Size 224.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1b3f354dd42c745e57554d2c411e903aaffb205e6e180611d4bb6918773ec709
BLAKE2b-256 checksum
How to use checksums
00ada9aa5b9c0ccd20f25cd90e1df8f90e268df69b0e18d8e8673ee8a558f9f9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","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}

Release history Release notifications | RSS feed

This release

5.15.0 This release

2 release files

5.14.0

2 release files

5.13.0

2 release files

5.12.1

2 release files

5.12.0

2 release files

5.11.0

2 release files

5.10.0

1 release file

5.9.0

1 release file

5.8.0

1 release file

5.7.1

2 release files

5.7.0

2 release files

5.6.0

2 release files

5.5.2

2 release files

5.5.1

2 release files

5.5.0

2 release files

5.4.1

2 release files

5.4.0

2 release files

5.3.0

2 release files

5.2.4

2 release files

5.2.3

2 release files

5.2.2

2 release files

5.2.1

2 release files

5.2.0

2 release files

5.1.0

2 release files

5.0.7

2 release files

5.0.6

2 release files

5.0.5

2 release files

5.0.4

2 release files

5.0.3

2 release files

5.0.2

2 release files

5.0.1

2 release files

5.0.0

2 release files

4.17.0

2 release files

4.16.0

2 release files

4.15.0

2 release files

4.14.0

2 release files

4.13.2

2 release files

4.13.1

2 release files

4.13.0

2 release files

4.12.1

2 release files

4.12.0

2 release files

4.11.1

2 release files

4.11.0

2 release files

4.10.2

2 release files

4.10.1

2 release files

4.10.0

2 release files

4.9.3

2 release files

4.9.2

2 release files

4.9.1

2 release files

4.9.0

2 release files

4.8.1

2 release files

4.8.0

2 release files

4.7.1

2 release files

4.7.0

2 release files

4.6.0

2 release files

4.5.0

2 release files

4.4.2

2 release files

4.4.1

2 release files

4.4.0

2 release files

4.3.6

2 release files

4.3.5

2 release files

4.3.4

2 release files

4.3.3

2 release files

4.3.2

2 release files

4.3.1

2 release files

4.3.0

2 release files

4.2.0

2 release files

4.1.0

2 release files

4.0.4

2 release files

4.0.3

2 release files

4.0.2

2 release files

4.0.1

2 release files

4.0.0

2 release files

3.15.1

2 release files

3.15.0

2 release files

3.14.4

2 release files

3.14.3

2 release files

3.14.1

2 release files

3.14.0

2 release files

3.13.9

2 release files

3.13.8

2 release files

3.13.7

2 release files

3.13.6

2 release files

3.13.3

2 release files

3.13.2

2 release files

3.13.1

2 release files

3.13.0

2 release files

3.12.0

2 release files

3.9.0

2 release files

3.8.1

2 release files

3.8.0

2 release files

3.7.0

2 release files

3.6.1

2 release files

3.6.0

2 release files

3.5.2

2 release files

3.5.1

2 release files

3.5.0

2 release files

3.4.5

2 release files

3.4.4

2 release files

3.4.3

2 release files

3.4.2

2 release files

3.4.1

2 release files

3.4.0

2 release files

3.3.1

2 release files

3.3.0

2 release files

3.2.8

2 release files

3.2.7

2 release files

3.2.5

2 release files

3.2.4

2 release files

3.2.3

2 release files

3.2.2

2 release files

3.2.1

2 release files

3.2.0

2 release files

3.1.1

2 release files

3.1.0

2 release files

3.0.1

2 release files

3.0.0

2 release files

2.0.1

2 release files

2.0.0

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.14.2

2 release files

0.14.1

2 release files

0.14.0

2 release files

0.13.5

2 release files

0.13.4

2 release files

0.13.3

2 release files

0.13.2

2 release files

0.12.0

2 release files

0.11.2

2 release files

0.11.1

2 release files

0.11.0

2 release files

0.10.2

2 release files

0.10.1

2 release files

0.10.0

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page