Python pyproject.toml project analyzer #3

Closed
opened 2026-06-16 14:47:32 +00:00 by GKaszewski · 0 comments
Owner

What to build

Add a PythonProjectAnalyzer implementing the ProjectAnalyzer port. Parses pyproject.toml (and fallback setup.py/setup.cfg) to extract project-level dependencies between packages in a Python monorepo. Detects intra-project dependencies by matching package names against directories in the repo.

This gives Python projects the same --level project capability that Rust workspaces get from CargoWorkspaceAnalyzer.

Acceptance criteria

  • New adapter crate archlens-python-project
  • Implements ProjectAnalyzer port
  • Parses pyproject.toml [project.dependencies] and [tool.poetry.dependencies]
  • Identifies intra-project vs external dependencies
  • Presentation layer auto-detects Python project when no Cargo.toml workspace found
  • Tests with sample pyproject.toml files
  • Existing tests still pass

Blocked by

None - can start immediately

## What to build Add a `PythonProjectAnalyzer` implementing the `ProjectAnalyzer` port. Parses `pyproject.toml` (and fallback `setup.py`/`setup.cfg`) to extract project-level dependencies between packages in a Python monorepo. Detects intra-project dependencies by matching package names against directories in the repo. This gives Python projects the same `--level project` capability that Rust workspaces get from `CargoWorkspaceAnalyzer`. ## Acceptance criteria - [ ] New adapter crate `archlens-python-project` - [ ] Implements `ProjectAnalyzer` port - [ ] Parses `pyproject.toml` `[project.dependencies]` and `[tool.poetry.dependencies]` - [ ] Identifies intra-project vs external dependencies - [ ] Presentation layer auto-detects Python project when no `Cargo.toml` workspace found - [ ] Tests with sample `pyproject.toml` files - [ ] Existing tests still pass ## Blocked by None - can start immediately
GKaszewski added the P2 label 2026-06-17 06:46:16 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: GKaszewski/archlens#3