Skip to content
CAI
Software that uses CAICheck a score

python-poetry/poetry

66.1

Adequate · 18 September 2026

21.8k

lines of production code

Python

primary language

1

measurement over time

CAI band scale
CAI lens gauges

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

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.