Skip to main content

Architecture validation library for Python projects

Project description

PyArchRules Logo

License Python 3.12+

Define and enforce architectural rules for Python projects with ease.
Perfect for monorepos, microservices, and maintaining clean architecture boundaries.

Installation

pip install pyarchrules

Quick Start

Initialize in your project:

pyarchrules init-project

This creates configuration in pyproject.toml:

[tool.pyarchrules]
project_name = "my-project"
description = "Architecture rules for this project"

[tool.pyarchrules.services]
root = "."

CLI Commands

# Initialize project
pyarchrules init-project

# Add a service
pyarchrules add-service api services/api

# List services
pyarchrules list-services

# Remove a service
pyarchrules remove-service api

Configuration

Define services in pyproject.toml:

[tool.pyarchrules]
project_name = "my-project"
description = "Architecture rules"

[tool.pyarchrules.services]
root = "."

[tool.pyarchrules.services.api]
path = "services/api"

[tool.pyarchrules.services.billing]
path = "services/billing"

Python API

from pyarchrules import PyArchRules

# Load configuration
rules = PyArchRules(".")

# Access services
print(rules.services)  # {'root': '.', 'api': 'services/api', ...}

Development Status

⚠️ Alpha Release - API may change in future versions.

Development

Setup

# Install with dev dependencies
uv pip install -e ".[dev]"

Code Quality Tools

Using Make (recommended):

# Run all linters
make lint

# Auto-format code
make format

# Run tests
make test

License

MIT

Project details


Download files

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

Source Distribution

pyarchrules-0.0.1a1.tar.gz (13.4 kB view details)

Uploaded Source

Built Distribution

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

pyarchrules-0.0.1a1-py3-none-any.whl (18.8 kB view details)

Uploaded Python 3

File details

Details for the file pyarchrules-0.0.1a1.tar.gz.

File metadata

  • Download URL: pyarchrules-0.0.1a1.tar.gz
  • Upload date:
  • Size: 13.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.27 {"installer":{"name":"uv","version":"0.9.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for pyarchrules-0.0.1a1.tar.gz
Algorithm Hash digest
SHA256 a1245ea817562d2fa9cf41c66e6ac36d747768145afff7e9d842c16130794d42
MD5 1d35cf8a769cf2fe0fb5451364ed89a3
BLAKE2b-256 8a5e5e191cd63a9a71d270c2a333404dc23c16494c0cae2c024d912c4532c7b3

See more details on using hashes here.

File details

Details for the file pyarchrules-0.0.1a1-py3-none-any.whl.

File metadata

  • Download URL: pyarchrules-0.0.1a1-py3-none-any.whl
  • Upload date:
  • Size: 18.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.27 {"installer":{"name":"uv","version":"0.9.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for pyarchrules-0.0.1a1-py3-none-any.whl
Algorithm Hash digest
SHA256 4f522070d8673a1e72cc4bfd2d4147bed63ced89984b01c733c077ca48d5cc12
MD5 fbc952f644c83d3a9dfc1cd7f9d4b2bb
BLAKE2b-256 0af6f2e83178ada37d59edc656bd1212e6e9b2ab5865f6cce8c58112d79e8b40

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