python-poetry/poetry
66.1
Adequate · 18 September 2026
21.8k
lines of production code
Python
primary language
1
measurement over time
What this system is
This system is Poetry, a Python dependency management and packaging tool that handles project configuration, virtual environment creation, and package installation. It provides a command-line interface for managing dependencies, resolving version constraints, and building distribution packages, while also supporting plugin management and Python version installation. The system includes a native installer, a dependency resolver, and tools for inspecting package metadata and managing local caches.
How it got here
2018 — test infrastructure and dependency resolver migration
30 changes.
This period focused on establishing a comprehensive test suite for the new dependency resolution system, replacing the legacy semver module with the mixology solver. The work involved migrating project configuration to pyproject.toml, modernizing linting tools, and adding extensive test coverage for installation, repository, and console command functionalities.
2019–2021 — Poetry v2 architecture and CLI overhaul
42 changes.
This period focused on the foundational refactoring for Poetry v2, migrating the codebase to a src layout and upgrading the CLI framework to Cleo 2.0. It introduced major architectural changes including a native wheel installer, a restructured dependency solver, and a new configuration system with migration support. The work also expanded test coverage and added new features like lazy wheel inspection and project-scoped plugin management.
2022–2024 — VCS backend and repository architecture modernization
26 changes.
This period focused on modernizing Poetry's core infrastructure by refactoring the Git backend to use the Dulwich library and introducing a modular link source architecture with native PEP 691 JSON support. These architectural changes were accompanied by extensive test coverage additions and the implementation of new diagnostic commands to inspect the runtime environment.
2025–2026 — Python management subsystem
6 changes.
This period focused on introducing a new internal subsystem for managing Python interpreters, leveraging findpython and pbs\_installer to support standalone installations and free-threaded Python versions. It expanded the CLI with experimental commands for installing, listing, and removing these managed Python environments. Comprehensive test coverage was added for both the new management utilities and the associated build system fixtures.
Features
Add 'self show' and 'self show plugins' commands to inspect Poetry's runtime environment
Users can now inspect the packages and plugins installed in Poetry's own runtime environment using the new \self show\ and \self show plugins\ commands. The \self show\ command lists all packages in the Poetry install environment, with an \--addons\ flag to filter for additional packages added via \self add\. The \self show plugins\ command specifically lists installed Poetry plugins, detailing their versions, the number of plugin entry points they provide, and their dependencies.
src/poetry/console/commands/self/show · high confidence
Introduce experimental Python management commands
Adds a new set of CLI commands under the \python\ namespace (\python install\, \python list\, \python remove\) to manage standalone Python installations. Users can now install specific Python versions (including free-threaded builds for 3.13+) from the Python Standalone Builds project, list available or installed versions, and remove managed installations. These commands support filtering by implementation (CPython, PyPy) and manage their own isolated installation directory, distinct from system Python paths.
src/poetry/console/commands/python · high confidence
Introduce modular link source architecture with PEP 691 JSON support
The link source logic has been refactored into a modular structure under src/poetry/repositories/link\_sources, introducing a base LinkSource class and specific implementations for HTML (PEP 503) and JSON (PEP 691) repository APIs. This change adds native support for the PEP 691 JSON-based Simple API, allowing Poetry to consume structured metadata directly from JSON endpoints. Additionally, the implementation optimizes performance by lazily constructing Link objects only when necessary, rather than eagerly parsing all files, and introduces a search capability on repository root pages to quickly identify available package names.
_src/poetry/repositories/link\sources · high confidence
Introduce project-scoped plugin management via \`tool.poetry.requires-plugins\`
Users can now define required plugins in the \tool.poetry.requires-plugins\ section of their \pyproject.toml\. When running \poetry install\, any plugins not present in Poetry's main environment are automatically installed into a project-local \.poetry/plugins\ directory. This directory is added to the front of \sys.path\ (including processing \.pth\ files) to ensure these plugins are available to the project, allowing for isolated plugin dependencies that do not pollute the global Poetry environment.
src/poetry/plugins · high confidence
Introduce src layout support for new projects
Users can now choose between a standard layout and a src layout when creating new projects via \poetry new\ or \poetry init\. The \src\ layout places the package code inside a \src/\ directory, which is a common best practice for preventing accidental imports from the source tree during development. This change adds the necessary layout classes and registration logic to support this structure generation.
src/poetry/layouts · high confidence
New 'self' subcommand suite for managing Poetry's runtime environment
Poetry now includes a dedicated 'self' command group to manage its own installation and runtime dependencies. Users can add, remove, install, lock, sync, and update Poetry's internal packages using commands like \poetry self add\, \self remove\, \self install\, \self lock\, \self sync\, and \self update\. These commands operate on a system-level \pyproject.toml\ located in Poetry's configuration directory, allowing users to customize their Poetry environment without affecting their project dependencies.
src/poetry/console/commands/self · high confidence
New Python management subsystem with standalone installation support
Poetry introduces a new internal module (src/poetry/utils/env/python) to manage Python interpreters, leveraging the findpython library for discovery and pbs\_installer for downloading standalone Python builds. This change adds support for installing and managing free-threaded Python versions, introduces specific error handling for incompatible or missing Python versions, and provides a dedicated installer for Poetry-managed Python environments.
src/poetry/utils/env/python · high confidence
New cache management commands (list and clear)
Users can now manage Poetry's local cache directly via the CLI. The new \cache list\ command displays available cache directories, while \cache clear\ allows removing specific cache entries by name and version, clearing all entries for a specific cache root, or clearing the entire cache with the \--all\ flag.
src/poetry/console/commands/cache · high confidence
New debug subcommands for environment info, dependency resolution, and compatibility tags
Poetry now includes a new \debug\ command group with three subcommands. \debug info\ displays Poetry version, Python version, and installation paths, and delegates to \env info\ for environment details. \debug resolve\ allows users to debug dependency resolution by showing resolved packages, optionally displaying a dependency tree (\--tree\) or simulating installation for the current system (\--install\), with support for specifying packages, extras, and Python versions. \debug tags\ lists the compatible platform tags for the current active Python environment.
src/poetry/console/commands/debug · high confidence
New lazy-wheel metadata inspection module
The \src/poetry/inspection\ package has been restructured into dedicated modules (\info.py\, \lazy\wheel.py\, and an empty \\\init\\_.py\). This introduces a new \lazy\_wheel\ capability that fetches package metadata from remote wheel URLs using HTTP range requests, allowing Poetry to inspect wheel contents without downloading the entire file. The \info.py\ module provides the \PackageInfo\ class and \PackageInfoError\ exception for handling package metadata extraction, while \lazy\_wheel.py\ implements the \LazyWheelOverHTTP\ context manager and related error types to support this efficient metadata retrieval.
src/poetry/inspection · high confidence
New structured logging formatters for build output
A new logging formatter module has been introduced to improve the presentation of build-related console output. This includes a base Formatter abstract class and a specific BuilderLogFormatter that applies syntax highlighting (using tags like \<info\>, \<success\>, and \<b\>) to standard build messages such as 'Building', 'Built', 'Adding', and 'Executing build script'. These formatters are registered in a central FORMATTERS dictionary to handle logs from Poetry's core masonry builders (builder, sdist, and wheel), resulting in more readable and visually distinct build progress indicators for users.
src/poetry/console/logging/formatters · high confidence
Removals
Removal of internal semver parsing module
The internal \poetry/semver\ module, which previously handled version normalization, comparison, and constraint parsing (including support for tilde and caret ranges), has been completely removed from the codebase.
poetry/semver · high confidence
Removal of legacy semver constraint classes
The \poetry/semver/constraints\ module has been removed, deleting the \Constraint\, \EmptyConstraint\, and \MultiConstraint\ classes. This eliminates the previous manual version-matching logic (including operator translation and \pkg\_resources\ usage) in favor of the newly added dependency resolver, simplifying how version constraints are handled internally.
poetry/semver/constraints · high confidence
Architecture
Environment management module refactored into separate classes
The environment management logic in src/poetry/utils/env has been reorganized into distinct modules (base\_env, env\_manager, virtual\_env, system\_env, etc.) to improve code structure and maintainability. This change introduces a cleaner separation of concerns between environment detection, virtual environment creation, and system environment handling, while preserving the existing public API and behavior for users.
src/poetry/utils/env · high confidence
Repository layer refactored with new abstract base and prioritized pool
The repository subsystem has been restructured to introduce an AbstractRepository base class and a RepositoryPool that manages multiple sources with explicit priority levels (Primary, Supplemental, Explicit). This change centralizes repository logic, improves caching via a new CachedRepository base, and adds support for single-page repositories and lockfile-specific package resolution, resulting in more predictable source ordering and better performance during dependency resolution.
src/poetry/repositories · high confidence
Behavioural changes
Dependency resolution and installation logic restructured
The dependency solving and installation workflow has been reorganized into a new modular structure within the puzzle package. The \Solver\ class now explicitly manages the resolution process, delegating package information retrieval and constraint checking to a dedicated \Provider\, which handles source lookups, marker merging, and override logic. A new \Transaction\ class centralizes the calculation of installation operations (install, update, uninstall) by evaluating resolved packages against the current environment and installed state, ensuring that extras and markers are correctly applied during the installation phase. Exception handling has also been refined with specific error types like \SolverProblemError\ and \OverrideNeededError\ to provide clearer feedback when resolution fails or requires adjustment.
src/poetry/puzzle · high confidence
Dependency resolution engine refactored and performance-optimized
The dependency resolution logic in src/poetry/mixology has been significantly refactored to improve performance and reliability. The solver now employs a more efficient caching strategy for dependencies, reducing redundant lookups during the resolution process. Additionally, the error reporting for version conflicts has been enhanced to provide clearer, more actionable messages to users when dependency constraints cannot be satisfied.
src/poetry/mixology · high confidence
Editable installs now use a dedicated builder with improved script handling
The masonry module now includes a dedicated \EditableBuilder\ that manages editable installations by generating \.pth\ files and console/GUI scripts directly in the environment, rather than relying on pip's editable wrapper. This change ensures that scripts defined in \\[tool.poetry.scripts\]\ are correctly installed and executed, fixing issues where they were previously not copied to the bin directory or failed when extras were involved. Users will see more reliable editable installs with proper script availability and better error messages for malformed script definitions.
src/poetry/masonry · high confidence
Git backend refactored to use Dulwich with a fallback to system Git
The Git version control backend has been rewritten to primarily use the Dulwich library for operations like cloning, fetching, and parsing configuration, replacing the previous reliance on direct system Git subprocess calls. This change improves reliability and security by handling Git interactions in-process. A new SystemGit fallback mechanism is available for specific operations, ensuring compatibility with environments where the Dulwich implementation may not cover all use cases or when users explicitly prefer the system Git client.
src/poetry/vcs · high confidence
Migration to Cleo 2.0 and introduction of new console commands
The Poetry console application has been upgraded to use Cleo 2.0, which changes how commands are loaded and registered. This update introduces several new commands: \env activate\ (replacing the deprecated \shell\ command), \python install\, \python list\, and \python remove\ for managing Python versions, and \self add\, \self install\, \self lock\, \self remove\, \self update\, \self show\, and \self show plugins\ for managing Poetry itself. It also adds \sync\ as a replacement for \install --sync\, and \debug tags\. The \shell\ command is no longer installed by default, and users are directed to use \env activate\ or the \shell\ plugin. Global options like \--no-cache\ and \--directory\ (or \-C\) are now properly supported. Error handling has been improved with new exception classes like \PoetryRuntimeError\ and \ConsoleMessage\ for better formatting and debugging output.
src/poetry/console · high confidence
Migration to src layout and introduction of build constraints
Poetry has migrated its source code to a standard src layout, moving modules under the src/poetry directory and updating the entry point in \_\main\\_.py. This release also introduces support for specifying build constraints for dependencies via the build-constraints configuration, allowing users to define specific dependency versions for isolated build environments. Additionally, the project now uses platformdirs for locating configuration and cache directories, replacing the previous appdirs dependency, and includes a py.typed marker file to enable static type checking for consumers of the library.
src/poetry · high confidence
New package management module with lock file v2.1 support
The \src/poetry/packages\ module has been restructured into a dedicated package, introducing new classes to manage dependency resolution and lock file handling. \DependencyPackage\ and \PackageCollection\ now encapsulate the relationship between dependencies and their resolved packages, while \DirectOrigin\ handles fetching packages from Git, URLs, and directories, including file size metadata. The \Locker\ class has been updated to support lock file format version 2.1, which stores package file hashes and sizes directly in the lock file, supports dependency groups with specific markers, and includes a \@generated\ comment header. Additionally, \TransitivePackageInfo\ provides structured data for transitive dependency analysis, including depth and group-specific markers.
src/poetry/packages · high confidence
New structured console logging with third-party log prefixing
The console logging subsystem has been refactored to use a new \IOHandler\ and \IOFormatter\ that integrate with Cleo's IO interface. This change ensures that log messages from third-party packages are prefixed with their source module or package name (e.g., \\[requests:connectionpool\]\) to improve debuggability, while Poetry's own logs remain unadorned. The formatter also applies color coding based on log level (red for errors, yellow for warnings, etc.) and supports custom formatting for specific log sources.
src/poetry/console/logging · high confidence
New version selection logic with strict prerelease handling
The version resolution process has been refactored into a dedicated \VersionSelector\ class that explicitly manages prerelease availability. Users will now experience stricter enforcement of the \allow-prereleases\ setting: prereleases are ignored by default unless no stable versions are available, and setting the flag to \false\ will actively forbid prereleases even when they are the only candidates. This change ensures more predictable dependency resolution by preventing unintended inclusion of unstable package versions.
src/poetry/version · high confidence
Poetry v2 CLI commands restructured and migrated to Cleo 2.0
The CLI command implementations in src/poetry/console/commands have been rewritten for Poetry v2, migrating from the legacy CLI framework to Cleo 2.0. This introduces a new base Command class that explicitly manages the Poetry instance via set\_poetry, and refactors command hierarchies (e.g., InstallerCommand now inherits from both GroupCommand and EnvCommand). The diff shows the addition of new commands and options such as --all-extras and --only-root for install, --regenerate for lock, and --migrate for config, alongside the deprecation of legacy flags like --sync and --dev. These changes represent a complete overhaul of the command-line interface structure and behavior.
src/poetry/console/commands · high confidence
Project configuration migrated to pyproject.toml and pre-commit modernized
The project configuration file has been moved from the legacy poetry.toml to the standard pyproject.toml format, and the pre-commit configuration has been updated to use ruff for linting and formatting, replacing the previous flake8 and isort setup. Additionally, the .gitattributes file now marks .metadata files as binary to prevent line-ending corruption, and the .gitignore has been updated to exclude .venv and poetry.toml.
(repo-wide) · high confidence
Publishing module refactored into src layout with FIPS-compatible hashing
The publishing logic has been reorganized into the src layout, introducing dedicated modules for the Publisher, Uploader, and HashManager. A key behavioral change is the HashManager's ability to operate in FIPS environments by gracefully handling disabled MD5 and BLAKE2 algorithms, ensuring uploads do not fail on restricted systems. Additionally, the uploader now computes and includes blake2\_256 digests in upload metadata alongside MD5 and SHA-256, and the publisher normalizes legacy repository URLs to ensure consistent endpoint resolution.
src/poetry/publishing · high confidence
Refactor environment management commands into a modular subcommand structure
The environment management commands have been reorganized from a monolithic structure into distinct, modular subcommands (\env activate\, \env info\, \env list\, \env remove\, \env use\). This change introduces specific behaviors for each subcommand: \env activate\ now detects the current shell and prints the appropriate activation script command (supporting bash, zsh, fish, powershell, etc.), \env info\ displays detailed virtualenv and base environment information with optional path/executable filters, \env list\ shows associated virtualenvs with an optional full-path flag, \env remove\ handles deletion of specific or all virtualenvs including cleanup of the envs.toml file, and \env use\ manages activation or creation of new virtualenvs. This modularization improves command clarity and allows for more targeted environment operations.
src/poetry/console/commands/env · high confidence
Refactor installation operations to use PEP 563 postponed annotations
The installation operation classes (Install, Uninstall, Update, and the Operation base class) now use postponed evaluation of annotations (from \_\future\\_ import annotations). This change simplifies type hint syntax by allowing forward references without quotes and improves compatibility with modern Python typing features, such as using typing\_extensions.Self for better method chaining support in the base Operation class.
src/poetry/installation/operations · high confidence
Refactor source management commands to use the new Source class and Priority enum
The source management commands (add, remove, show) have been refactored to use the dedicated Source class and the new Priority enum, replacing previous inline logic. This change introduces a warning when adding a source without specifying priority, indicating that the default will shift to 'supplemental' in a future release, and enhances the 'source show' command to explicitly notify users when PyPI is implicitly enabled as a primary source.
src/poetry/console/commands/source · high confidence
Refactored TOML handling to align with poetry-core exception hierarchy
The TOML file handling logic has been restructured to integrate with the updated poetry-core exception system. A new custom TOMLError is now raised for invalid TOML files, inheriting from both PoetryCoreError and TOMLKitError to ensure compatibility with the core library's error hierarchy. The TOMLFile class wraps the underlying tomlkit file reader, providing a consistent interface for reading and validating TOML configuration files while surfacing these standardized errors to the user.
src/poetry/toml · high confidence
Removal of poetry/\_\_init\_\_.py
The \_\init\\_.py file in the poetry package has been deleted. This change removes the explicit package initialization file, which previously contained only a coding declaration comment. This may affect how the poetry directory is interpreted as a Python package by importers.
poetry · high confidence
Replace pip-based installation with a native wheel installer and builtin uninstaller
Poetry now installs packages natively using the \installer\ library instead of invoking \pip\ as a subprocess. This introduces a built-in \WheelInstaller\ for writing wheel contents directly to the environment, a \Chef\ component for building wheels from source distributions in isolated environments, and a standalone \uninstaller\ module that removes packages by reading \.dist-info\ RECORD files without calling \pip uninstall\. The \Executor\ orchestrates these components, supporting parallel execution, hash verification, and configuration options like \installer.no-binary\ and \installer.only-binary\ to filter package sources.
src/poetry/installation · high confidence
Reworked configuration system with new default settings and migration support
The configuration subsystem has been refactored to introduce a new \ConfigSource\ abstraction with dedicated \DictConfigSource\ and \FileConfigSource\ implementations, enabling structured configuration management. This change updates default settings, notably setting \installer.re-resolve\ to \false\ by default and enabling \solver.lazy-wheel\ by default, while adding new configuration options such as \installer.builtin-uninstall\, \installer.build-config-settings\, and \keyring.enabled\. A new \ConfigSourceMigration\ mechanism is included to handle key renames and value transformations, ensuring backward compatibility for existing user configurations during upgrades.
src/poetry/config · high confidence
Rewritten utility modules for Python 3.10+ and improved HTTP handling
The \src/poetry/utils\ package has been rewritten to target Python 3.10+, replacing the legacy \cachy\ dependency with a new \FileCache\ and \ArtifactCache\ implementation in \cache.py\ and introducing a \tomllib\ compatibility shim in \\_compat.py\. HTTP operations are now managed by a new \Authenticator\ class that supports per-repository certificate configuration, connection pooling, and caching via \cachecontrol\, while \download.py\ introduces a \Downloader\ class with support for resumable downloads and progress indicators. Authentication logic has been refactored into \password\_manager.py\ and \authenticator.py\, adding support for empty usernames in keyring entries and allowing users to disable keyring access. Dependency specification parsing is now handled by a new \RequirementsParser\ class in \dependency\_specification.py\, and isolated builds in \isolated\_build.py\ now support build constraints.
src/poetry/utils · high confidence
Switch to fastjsonschema for Poetry JSON validation
The JSON schema validation in src/poetry/json now uses the fastjsonschema library instead of the previous implementation. This change introduces caching for the compiled validator and properties to improve performance, and updates the validation logic to check for additional properties not defined in the Poetry or core schemas, returning specific error messages for unexpected keys.
src/poetry/json · high confidence
Test coverage
4 commits adding/updating tests in tests/repositories/fixtures/pypi.org/metadata; Add repository test suite and fixtures; Add test fixtures for git-based demo packages; Added comprehensive test suite for the version solver; Added comprehensive test suite for utils module; Added console test suite and fixtures; Added installation lock-file fixtures for Poetry 2.1; Added installation test suite; Added integration tests for the Git VCS backend; Added legacy project fixture for PEP 639 and PEP 621 compatibility tests; Added legacy repository test fixtures; Added test coverage for config system components; Added test coverage for console commands; Added test coverage for publishing components; Added test coverage for the \poetry self\ command suite; Added test fixture files for simple\_project; Added test fixture for a project using setup.py; Added test fixture for building C extensions without a setup.py; Added test fixture for excluded subpackage handling; Added test fixture for excluded subpackage versioning; Added test fixture for extended project with custom build logic; Added test fixture for extended project without setup.py; Added test fixture for git URL subdirectory resolution; Added test fixture for missing build system requirements; Added test fixture for multi-constraints dependencies; Added test fixture for multiple dist-dir scenarios; Added test fixture for namespace package one; Added test fixture for non-canonical package name validation; Added test fixture for package with include configuration; Added test fixture for poetry-plugin package; Added test fixture for setup.py calling external scripts; Added test fixtures for PEP 610 and editable installations; Added test fixtures for PyPI search responses; Added test fixtures for a no-dependencies demo project; Added test fixtures for file scripts handling; Added test fixtures for forked git repository subdirectories; Added test fixtures for git URL subdirectory support; Added test fixtures for invalid \[tool.poetry.scripts\] entries; Added test fixtures for package inspection edge cases; Added test fixtures for project plugin scenarios; Added test fixtures for script execution behavior; Added test fixtures for transitive dependencies; Added test fixtures for various build system configurations; Added test suite for mixology dependency resolution logic; Added tests for Python environment management and installation; Added tests for Python management commands; Added tests for TOML file management; Added tests for cache clear and list commands; Added tests for console logging formatters; Added tests for debug info and resolve commands; Added tests for link source parsing logic; Added tests for package inspection and lazy wheel metadata retrieval; Added tests for package locking, direct origin handling, and transitive package info; Added tests for pyproject.toml parsing and configuration handling; Added tests for pyproject.toml schema validation; Added tests for the Git VCS backend and system modules; Added tests for the editable builder; Added tests for the env console commands; Added tests for the plugin manager and project plugin caching; Added tests for virtual environment management and site-packages handling; Added unit tests for the dependency puzzle solver; Initial test infrastructure and fixtures; New repository test fixtures for PyPI and legacy repositories; Removed legacy semver test suite; Updated test fixtures and generation script for PyPI repository tests; Updated test fixtures for installed package detection; Updated test fixtures for installed packages.
Dependencies
Poetry 2.5.0 dependency lock and manifest update
The project has been updated to version 2.5.0.dev0, with a regenerated \poetry.lock\ file reflecting the latest dependency resolutions (including \anyio\ 4.14.2 and \ast-serialize\ 0.8.0). The \pyproject.toml\ manifest now requires \poetry-core\>=2.0\ for the build system and specifies \requires-poetry = "\>=2.0"\, while updating runtime dependencies such as \dulwich\ (\>=0.25.0), \keyring\ (\>=25.1.0), and \pbs-installer\ (\>=2025.6.10). Test fixtures have also been added to cover new features like build constraints and various build system configurations.
(dependencies) · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Baseline
- First survey — no prior run to compare against. CAI 66.
Lenses
- Code Health 81
- Architecture 92
- Maturity 54
- Readiness 72
- Security 80
Changes since last survey
- 300 commits — 218 feature/other, 82 fixes
By area
- src/poetry — 131 commits
- (root) — 68 commits
- tests/console — 18 commits
- docs/cli.md — 14 commits
- tests/repositories — 12 commits
- .github/workflows — 8 commits
- tests/utils — 7 commits
- docs/_index.md — 4 commits
- docs/pyproject.md — 4 commits
- tests/vcs — 4 commits
- docs/contributing.md — 3 commits
- docs/dependency-specification.md — 3 commits
- docs/managing-dependencies.md — 3 commits
- tests/test_helpers.py — 3 commits
- .github/actions — 2 commits
- docs/basic-usage.md — 2 commits
- docs/configuration.md — 2 commits
- docs/repositories.md — 2 commits
- tests/config — 2 commits
- tests/fixtures — 2 commits
Notable commits
- fix: Fix AssertionError when cloning at annotated tag (#10719)
- fix: Fix MetadataNotFound from importlib.metadata on Python 3.15+ (#10860)
- fix: Fix _remove to catch EnvCommandError instead of CalledProcessError (#10740)
- fix: Fix poetry new behavior when used in an existing empty directory (#10431)
- fix: Fix publish --build prompt behavior in non-interactive mode (#10769)
- fix: Fix cache clear example to use PyPI instead of pypi (#10749)
- fix: Fix contributing guide label links (#10913)
- fix: Fix editable installs for project GUI scripts (#10973)
- fix: Fix explicit-priority sources not checked by poetry show --outdated (#10982)
- fix: Fix file scripts not copied to bin on poetry install (#10736)
- fix: Fix link to pipx installation instructions (#11000)
- fix: Fix non-deterministic dependency constraint ordering in lock file (#10720)
- fix: Fix sdist extraction on older Python versions (#11037)
- fix: Fix test_python_get_preferred_default for rc Python releases (#10478)
- fix: Fix: Improve error message for invalid template variables in virtualenvs.prompt (#10648)
- fix: adapt to improved type hints and fix edge case issues with Package-files (#10673)
- fix: chore(tests): fix warnings (#10868)
- fix: chore: use pytest's new strict mode and fix duplicate tests (#10847)
- fix: fix --directory for plugins that access the poetry instance during activation (#10352)
- fix: fix Distribution.files for Python 3.10 and 3.11 on Windows and add regression tests (#10933)
- …and 280 more
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
python-poetry/poetry was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 18 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit af8f92a3d72c4f3b77b2a67f7356612c2859064e — the exact code this score is about.
- Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-5d04157a340d.