# System map — python-poetry/poetry

> Canonical page: https://codevetter.com/unpack/poetry/system-map

# System map — python-poetry/poetry

Scanned commit d4fd21e4711ae948f04e18a1736d9ee85b590e87 (2026-09-27). Generated by codevetter codevetter 1.15.0 on 2026-10-02.

Source inspection; upstream code and tests were not executed.

The executable frontend is a Cleo application with lazy command loading and event-driven environment and installer setup. Factory connects poetry-core project parsing to Poetry-owned configuration, repositories, plugins, and lock storage. Resolution, operation planning, artifact preparation, and environment mutation occupy separate modules. Distribution is through Python packages and a console script; the inspected CI includes lock validation, build/install smoke checks, typing, and tests.
- Both the installed poetry console script and python -m poetry reach poetry.console.application.main, which constructs Application and calls run(). — [pyproject.toml#L57-L58](https://github.com/python-poetry/poetry/blob/d4fd21e4711ae948f04e18a1736d9ee85b590e87/pyproject.toml#L57-L58) [src/poetry/__main__.py#L6-L9](https://github.com/python-poetry/poetry/blob/d4fd21e4711ae948f04e18a1736d9ee85b590e87/src/poetry/__main__.py#L6-L9) [src/poetry/console/application.py#L649-L651](https://github.com/python-poetry/poetry/blob/d4fd21e4711ae948f04e18a1736d9ee85b590e87/src/poetry/console/application.py#L649-L651)
- Application uses Cleo, registers COMMAND listeners for logging, environment setup, and installer setup, and supplies lazy factories for the COMMANDS table. — [src/poetry/console/application.py#L124-L143](https://github.com/python-poetry/poetry/blob/d4fd21e4711ae948f04e18a1736d9ee85b590e87/src/poetry/console/application.py#L124-L143)
- The package requires Python >=3.10,<4.0, pins poetry-core 2.5.0, and declares poetry.core.masonry.api as its PEP 517 build backend. — [pyproject.toml#L1-L13](https://github.com/python-poetry/poetry/blob/d4fd21e4711ae948f04e18a1736d9ee85b590e87/pyproject.toml#L1-L13) [pyproject.toml#L96-L98](https://github.com/python-poetry/poetry/blob/d4fd21e4711ae948f04e18a1736d9ee85b590e87/pyproject.toml#L96-L98)
- Factory.create_poetry validates requires-poetry, delegates project creation to BaseFactory, then attaches Locker, Config, a repository pool, and optional generic plugins. — [src/poetry/factory.py#L52-L79](https://github.com/python-poetry/poetry/blob/d4fd21e4711ae948f04e18a1736d9ee85b590e87/src/poetry/factory.py#L52-L79) [src/poetry/factory.py#L98-L147](https://github.com/python-poetry/poetry/blob/d4fd21e4711ae948f04e18a1736d9ee85b590e87/src/poetry/factory.py#L98-L147)
- Solver owns Provider and invokes mixology.resolve_version; VersionSolver maintains incompatibilities and a PartialSolution while propagating constraints and choosing package versions. — [src/poetry/puzzle/solver.py#L50-L73](https://github.com/python-poetry/poetry/blob/d4fd21e4711ae948f04e18a1736d9ee85b590e87/src/poetry/puzzle/solver.py#L50-L73) [src/poetry/puzzle/solver.py#L175-L188](https://github.com/python-poetry/poetry/blob/d4fd21e4711ae948f04e18a1736d9ee85b590e87/src/poetry/puzzle/solver.py#L175-L188) [src/poetry/mixology/version_solver.py#L171-L204](https://github.com/python-poetry/poetry/blob/d4fd21e4711ae948f04e18a1736d9ee85b590e87/src/poetry/mixology/version_solver.py#L171-L204)
- Installer reads installed packages through InstalledRepository.load and delegates mutations to Executor, while Transaction supplies environment-specific operations. — [src/poetry/installation/installer.py#L70-L85](https://github.com/python-poetry/poetry/blob/d4fd21e4711ae948f04e18a1736d9ee85b590e87/src/poetry/installation/installer.py#L70-L85) [src/poetry/installation/installer.py#L327-L351](https://github.com/python-poetry/poetry/blob/d4fd21e4711ae948f04e18a1736d9ee85b590e87/src/poetry/installation/installer.py#L327-L351) [src/poetry/installation/installer.py#L404-L408](https://github.com/python-poetry/poetry/blob/d4fd21e4711ae948f04e18a1736d9ee85b590e87/src/poetry/installation/installer.py#L404-L408)
- Persistent state includes project poetry.lock, global config.toml/auth.toml, optional project poetry.toml, artifact caches, and virtual environments under a configurable cache path. — [src/poetry/factory.py#L98-L110](https://github.com/python-poetry/poetry/blob/d4fd21e4711ae948f04e18a1736d9ee85b590e87/src/poetry/factory.py#L98-L110) [src/poetry/config/config.py#L152-L165](https://github.com/python-poetry/poetry/blob/d4fd21e4711ae948f04e18a1736d9ee85b590e87/src/poetry/config/config.py#L152-L165) [src/poetry/config/config.py#L432-L455](https://github.com/python-poetry/poetry/blob/d4fd21e4711ae948f04e18a1736d9ee85b590e87/src/poetry/config/config.py#L432-L455) [src/poetry/repositories/repository_pool.py#L53-L55](https://github.com/python-poetry/poetry/blob/d4fd21e4711ae948f04e18a1736d9ee85b590e87/src/poetry/repositories/repository_pool.py#L53-L55)
- CI declares poetry check --lock, pipx-based build/Twine/install smoke checks, poetry run mypy, and poetry run pytest --integration -v. — [.github/workflows/tests.yaml#L55-L88](https://github.com/python-poetry/poetry/blob/d4fd21e4711ae948f04e18a1736d9ee85b590e87/.github/workflows/tests.yaml#L55-L88) [.github/workflows/.tests-matrix.yaml#L53-L75](https://github.com/python-poetry/poetry/blob/d4fd21e4711ae948f04e18a1736d9ee85b590e87/.github/workflows/.tests-matrix.yaml#L53-L75)

Every claim links to its cited files at the pinned commit. Citations identify source evidence; they do not establish runtime correctness. Independent CodeVetter scan — not reviewed by upstream maintainers.

## Public product links

- [CodeVetter](https://codevetter.com/)
- [Download](https://codevetter.com/download)
- [Documentation](https://codevetter.com/docs/)
- [Source](https://github.com/Codevetter/codevetter)
