[PR #2634] Add Deply #1950

Open
opened 2025-11-06 13:26:28 -06:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/vinta/awesome-python/pull/2634
Author: @Vashkatsi
Created: 12/25/2024
Status: 🔄 Open

Base: masterHead: patch-1


📝 Commits (1)

📊 Changes

1 file changed (+1 additions, -0 deletions)

View changed files

📝 README.md (+1 -0)

📄 Description

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.

Anyone who agrees with this pull request could submit an Approve review to it.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/vinta/awesome-python/pull/2634 **Author:** [@Vashkatsi](https://github.com/Vashkatsi) **Created:** 12/25/2024 **Status:** 🔄 Open **Base:** `master` ← **Head:** `patch-1` --- ### 📝 Commits (1) - [`4d01576`](https://github.com/vinta/awesome-python/commit/4d015766de2bb726a72f9a6e9543f7301b572b23) Add Deply ### 📊 Changes **1 file changed** (+1 additions, -0 deletions) <details> <summary>View changed files</summary> 📝 `README.md` (+1 -0) </details> ### 📄 Description 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. #### Links * GitHub: https://github.com/Vashkatsi/deply * PyPI: https://pypi.org/project/deply/ --- Anyone who agrees with this pull request could submit an *Approve* review to it. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2025-11-06 13:26:28 -06:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/awesome-python#1950