You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Deply - Enforce architectural patterns and layer-based rules with a straightforward YAML config
What is this Python project?
Deply is a standalone Python tool that inspects your codebase and validates whether it follows predefined architectural rules. You can define layers (e.g., views, models, services) and restrict the ways these layers interact using a YAML configuration. Deply parses your Python files to check import statements, class inheritance, decorator usage, file organization, and more—flagging any violations that don't adhere to your architecture guidelines.
Key Features
Layer-Based Analysis: Organize code into logical layers to keep your architecture modular and clean.
Flexible Collectors: Define how classes, functions, or decorators get grouped into layers using regex, inheritance checks, or file patterns.
Rich Rule System: Enforce naming conventions, prohibit certain layers from referencing others, require specific decorators, and more.
Configuration-Driven: A YAML-based approach means no additional test files; just define your rules in one config.
Performance & CI Integration: Runs efficiently on large projects and can fail a build if it detects unwanted dependencies or naming violations.
What's the difference between this Python project and similar ones?
1. Goes Beyond Imports
Deply checks not just import hierarchies (like import-linter) but also class inheritance, file-based patterns, and decorator usage. This gives teams a more holistic way to enforce architectural rules.
2. Stand-Alone vs. Pytest Hooks
Tools like pytest-archon or pytestarch may require test cases. Deply is fully configuration-driven and can be integrated into any CI pipeline without modifying test suites.
3. Layered Approach
Many code analysis tools focus on code style or static typing. Deply focuses on enforcing your chosen high-level design principles, ensuring your architecture doesn't degrade over time.
4. Intuitive YAML Config
By using a straightforward YAML config, Deply is easier to integrate into existing developer workflows. No extra coding is needed for rule definitions.
Deply - Enforce architectural patterns and layer-based rules with a straightforward YAML config
What is this Python project?
Deply is a standalone Python tool that inspects your codebase and validates whether it follows predefined architectural rules. You can define layers (e.g., views, models, services) and restrict the ways these layers interact using a YAML configuration. Deply parses your Python files to check import statements, class inheritance, decorator usage, file organization, and more—flagging any violations that don't adhere to your architecture guidelines.
Key Features
What's the difference between this Python project and similar ones?
1. Goes Beyond Imports
2. Stand-Alone vs. Pytest Hooks
3. Layered Approach
4. Intuitive YAML Config
Links
Anyone who agrees with this pull request could submit an Approve review to it.
The text was updated successfully, but these errors were encountered: