Application
This is the source code for Poetry, a Python dependency management and packaging tool. It handles project creation, dependency resolution, virtual environment management, package building (sdist/wheel), publishing to PyPI, and lock file generation for reproducible installs. It serves as a complete replacement for pip+setuptools+virtualenv workflows with a single unified CLI.
Key Features
- Dependency Resolution (PubGrub Solver)
- Lock File Management
- Package Installation Orchestration
- Repository Integration
- Virtual Environment Management
- CLI Application
- Package Building (PEP 517)
- Package Publishing
- Plugin System
- Configuration Management
- Lazy Wheel Downloading
- Project Scaffolding
Coding Conventions
Standards and patterns used in this codebase
configuration
Configuration is centralized in config files
Config files: src/poetry/config/config.py, src/poetry/config/config_source.pysrc/poetry/config/config.pysrc/poetry/config/config_source.pysrc/poetry/config/file_config_source.py
data-layer
Database operations are in data layer
Data files: tests/repositories/test_installed_repository.py, tests/repositories/test_legacy_repository.pytests/repositories/test_installed_repository.pytests/repositories/test_legacy_repository.py
utilities
Shared utilities are in utils/ directory
Utility files: tests/utils/test_python_manager.pytests/utils/test_python_manager.py
file-organization
Standard project structure
Code is organized by feature/moduletests/conftest.pytests/helpers.pytests/types.py