{"categories":[{"label":"Quality Assurance","url":"https://skillfed.io/packages/category/software-development-quality-assurance/4"}],"enrichment":{"capability":"Pytest-archon lets you define and test architectural boundaries in Python projects by specifying which modules can import from which others, catching circular dependencies and enforcing structure through test rules.","skillfed_tags":["architecture-testing","dependency-management"],"use_cases":["Enforce that a domain model layer has no dependencies on other submodules, keeping it reusable and decoupled.","Verify that utility or common modules are actually used by multiple parts of the codebase, preventing dead code.","Prevent circular imports between major architectural layers (e.g., controllers cannot import from views).","Document and test the intended module hierarchy for new team members through executable rules.","Catch unintended coupling between components during development before it becomes entrenched."],"what_it_does":"Pytest-archon is a pytest plugin that lets you write tests to enforce architectural rules in your Python codebase. Instead of relying on informal conventions, you define explicit boundaries\u2014specifying which modules can import from which others\u2014and verify them as part of your test suite. It catches circular dependencies, prevents unintended coupling, and makes your project structure explicit for new team members.\n\nYou write rules using a fluent API that matches module patterns (via fnmatch or regex), excludes specific modules, and specifies allowed or forbidden imports. The check method can inspect toplevel imports only, skip TYPE_CHECKING blocks, or include transitive dependencies, giving you fine-grained control over what gets validated. Rules are tied directly to your codebase, so they stay in sync with actual application structure.","worth_installing":"Yes, if you want to enforce architectural boundaries in a growing Python project. The low install friction, permissive license, and stable API make it straightforward to adopt. The aging maintenance status (329 days since last release) is a minor concern but not a blocker\u2014the repository is active and the package is marked Production/Stable. Use it when you need testable, explicit rules about module dependencies rather than informal conventions."},"id":"pytest-archon","links":{"html":"https://skillfed.io/packages/pytest-archon","md":"https://skillfed.io/packages/pytest-archon.md","pypi":"https://pypi.org/project/pytest-archon/"},"maintenance":{"status":"aging"},"meta":{"latest_release":"2025-09-19","license_spdx":null,"license_treatment":"permissive","name":"pytest-archon","python_support":"supports_current","summary":"Rule your architecture like a real developer"},"popularity":{"monthly_downloads":83877,"position":14043,"tier":"top_15000"},"security":{"n_vulnerabilities":0},"version":"0.0.7"}
