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

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.9.2.tar.gz (715.7 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.9.2-py3-none-any.whl (267.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: archipy-4.9.2.tar.gz
  • Upload date:
  • Size: 715.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.13 {"installer":{"name":"uv","version":"0.11.13","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.9.2.tar.gz
Algorithm Hash digest
SHA256 89a525a49269e2f268d1d29b994e3c6f3a739e7130bd02f694591cd13d5ed9df
MD5 2f44f1387981b4d26328ecfeded8e9e3
BLAKE2b-256 f37f21bbf1d06f7d8c7a89c76559d56f50515350a96470ab0ab8e9b0b3087dc2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: archipy-4.9.2-py3-none-any.whl
  • Upload date:
  • Size: 267.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.13 {"installer":{"name":"uv","version":"0.11.13","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.9.2-py3-none-any.whl
Algorithm Hash digest
SHA256 1732fc895204e07f6aa3e2f67754ca39cfc456f96a9c24b1489d4821bdd6a6d6
MD5 48f0722b6c033c0115944a72b1e101b0
BLAKE2b-256 db201c10bcda98ac2f0ae767f096734c69d872044da4fde2a6b51ef52a383839

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