Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 7003cff

Browse files
chore: clean up backlog docs
1 parent 235f4a3 commit 7003cff

3 files changed

Lines changed: 3 additions & 41 deletions

File tree

BACKLOG.md

Lines changed: 1 addition & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Backlog
22

3-
This backlog merges the existing `TODO.md` items with research findings from `docs/architecture-testing-comparison.md`.
3+
This backlog collects product and maintenance ideas from project research.
44

55
## P0 - Maintenance And Correctness
66

@@ -13,7 +13,6 @@ This backlog merges the existing `TODO.md` items with research findings from `do
1313

1414
- Add an `.archignore` or similar file, modeled after `.gitignore`, for files that should never be analyzed.
1515
- Add a `.because(...)` API so rules can carry user-facing rationale into failure messages and generated architecture documentation.
16-
- Add a freeze/baseline mechanism for known violations so teams can adopt ArchUnitPython incrementally.
1716
- Add configuration-file support for common rules, while keeping the fluent Python API as the primary interface.
1817
- Add support for monorepo and multi-package Python projects.
1918

@@ -61,22 +60,3 @@ This backlog merges the existing `TODO.md` items with research findings from `do
6160
- Add a Sphinx or MkDocs documentation site.
6261
- Add a complete example repository or examples folder covering pytest, unittest, PlantUML, metrics, and CI.
6362
- Add contribution guidance for new rule types and metric implementations.
64-
65-
## Existing TODO Coverage
66-
67-
The previous `TODO.md` items are represented above:
68-
69-
- `.archignore`: P1 Adoption Workflow
70-
- Auto-generated architecture documentation: P1 Reporting And Documentation
71-
- `.because(...)`: P1 Adoption Workflow
72-
- Namespace packages: P1 Python Import Semantics
73-
- Dynamic imports: P1 Python Import Semantics
74-
- Conditional imports: P1 Python Import Semantics
75-
- `TYPE_CHECKING` imports: P1 Python Import Semantics
76-
- Clickable IDE paths: P1 Reporting And Documentation
77-
- Large-project performance: P2 Performance And Scale
78-
- HTML report with charts and zone visualization: P1 Reporting And Documentation
79-
- LCOM edge cases: P2 Metrics
80-
- Monorepo / multi-package support: P1 Adoption Workflow
81-
- Publish to PyPI: P3 Packaging And Docs
82-
- Sphinx/MkDocs documentation site: P3 Packaging And Docs

TODO.md

Lines changed: 0 additions & 18 deletions
This file was deleted.

docs/architecture-testing-comparison.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ That breadth makes the project closer to ArchUnit-style libraries than to pure i
1818

1919
| Tool | Ecosystem | Rule definition style | Dependency/layer rules | Cycles | Diagram support | Metrics | Reports/visualization | Notable strengths | ArchUnitPython comparison |
2020
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
21-
| [ArchUnit](https://www.archunit.org/userguide/html/000_Index.html) | Java | Fluent Java API, JUnit integrations | Yes: packages, classes, layers, slices | Yes | PlantUML component diagrams | Yes: software architecture metrics | Strong test failure output; mature JUnit support | Mature reference implementation; broad rule model and advanced adoption features such as freezing/ignoring violations | ArchUnitPython mirrors the core idea and already has files/slices/metrics, but lacks class/member/annotation richness and mature freeze/import options |
21+
| [ArchUnit](https://www.archunit.org/userguide/html/000_Index.html) | Java | Fluent Java API, JUnit integrations | Yes: packages, classes, layers, slices | Yes | PlantUML component diagrams | Yes: software architecture metrics | Strong test failure output; mature JUnit support | Mature reference implementation with a broad rule model and mature JUnit workflow | ArchUnitPython mirrors the core idea and already has files/slices/metrics, but lacks class/member/annotation richness and mature import options |
2222
| [ArchUnitNET](https://github.com/TNG/ArchUnitNET) | .NET | Fluent C# API with xUnit/NUnit/MSTest integrations | Yes: assemblies, namespaces, types, members | Yes | PlantUML support and diagram generation in the project ecosystem | Limited compared with ArchUnit | Test framework integrations | Strong .NET analogue to ArchUnit with many framework adapters | ArchUnitPython has stronger built-in code metrics, but less type/member-level expressiveness |
2323
| [NetArchTest](https://github.com/BenMorris/NetArchTest) | .NET | Fluent C# API | Yes: namespace/type dependency and conventions | Not a primary differentiator | No first-class PlantUML in core | No | Policy results; test framework agnostic | Simple, widely adopted dependency/convention tests for .NET | ArchUnitPython is broader on cycles, slices, PlantUML, and metrics |
2424
| [ts-arch](https://github.com/ts-arch/ts-arch) | TypeScript/JavaScript | Fluent API, Jest matcher | Yes: files, folders, slices | Yes | PlantUML diagram adherence | No | Jest-oriented failure output | Very close conceptual sibling: file API, slice API, PlantUML, NX monorepo support | ArchUnitPython has a similar surface plus metrics; ts-arch has stronger monorepo/NX positioning |
@@ -38,7 +38,7 @@ That breadth makes the project closer to ArchUnit-style libraries than to pure i
3838

3939
- ArchUnitPython should lean into being the ArchUnit-style Python test library, not just another import linter.
4040
- The nearest feature gap against Python tools is not raw rule breadth; it is workflow: config files, ignore files, public interfaces, incremental adoption, reporting, and IDE/CI polish.
41-
- Against ArchUnit and ArchUnitNET, the biggest long-term gaps are richer semantic model support, better ignore/freeze mechanisms, and mature documentation/reporting.
41+
- Against ArchUnit and ArchUnitNET, the biggest long-term gaps are richer semantic model support, import semantics, and mature documentation/reporting.
4242
- Metrics are a meaningful differentiator in the Python space and should be kept visible in docs and examples.
4343

4444
## Sources

0 commit comments

Comments
 (0)