Summary
Refactor the project’s pyproject.toml to adopt Poetry as the canonical dependency and packaging manager. Poetry will manage all runtime and development dependencies, enforce reproducible builds via lockfiles, and streamline both local and CI workflows.
Design Requirements
- Use Poetry to:
- Replace
pip-tools and requirements*.txt generation
- Maintain separate
[tool.poetry.group.dev.dependencies] for dev tooling (pre-commit, pytest, mypy, etc.)
- Automatically generate
poetry.lock for reproducible CI builds
- Manage version metadata, license, and maintainers within
pyproject.toml
Implementation Tasks
Acceptance Criteria
- The project builds and runs entirely using Poetry
- CI workflows install dependencies with
poetry install
- No references to
requirements.txt or pip-tools remain
- Development environment setup is documented with
poetry shell and poetry install
- Lockfile is checked into Git and used in all CI jobs
Dependencies
Milestone
Milestone: v0.3.0 – ETL Enhancements and Data Integrity
Adopting Poetry lays the groundwork for reproducible development environments, streamlined CI/CD, and simpler dependency isolation across LedgerBase components.
Summary
Refactor the project’s
pyproject.tomlto adopt Poetry as the canonical dependency and packaging manager. Poetry will manage all runtime and development dependencies, enforce reproducible builds via lockfiles, and streamline both local and CI workflows.Design Requirements
pip-toolsandrequirements*.txtgeneration[tool.poetry.group.dev.dependencies]for dev tooling (pre-commit,pytest,mypy, etc.)poetry.lockfor reproducible CI buildspyproject.tomlImplementation Tasks
poetry initto bootstrap missing metadatainstall_requiresand dev packages into[tool.poetry.dependencies]and[tool.poetry.group.dev.dependencies]requirements.txtgeneration withpoetry export --without-hashespoetry installinstead ofpip installpoetry.lockpoetry.lockto version controlAcceptance Criteria
poetry installrequirements.txtorpip-toolsremainpoetry shellandpoetry installDependencies
setup.cfgtooling configs topyproject.toml(#XXX)Milestone
Milestone: v0.3.0 – ETL Enhancements and Data Integrity
Adopting Poetry lays the groundwork for reproducible development environments, streamlined CI/CD, and simpler dependency isolation across LedgerBase components.