Public Wiki34,190View on GitHub
Want python-poetry/poetry knowledge in your AI?

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.py
src/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.py
tests/repositories/test_installed_repository.pytests/repositories/test_legacy_repository.py
utilities

Shared utilities are in utils/ directory

Utility files: tests/utils/test_python_manager.py
tests/utils/test_python_manager.py
file-organization

Standard project structure

Code is organized by feature/module
tests/conftest.pytests/helpers.pytests/types.py