# pnpm vs Poetry

**Leader by vioscaleAI score:** pnpm

| Attribute | pnpm | Poetry |
|---|---|---|
| **vioscaleAI score** | 70.2 (65% (medium)) | 58.9 (77% (high)) |
| activity.commits_last_30d | 100 | 28 |
| adoption.dependent_repos | 600 | 1,968 |
| adoption.github_stars | 36,813 | 34,312 |
| adoption.package_downloads_weekly | 223,195,967 | 10,044,020 |
| content.faq | `[{"answer":"A package manager for JavaScript projects that emphasizes fast performance and minimal disk space requirements. It is indexed under Package Registries.","source":"https://pnpm.io","question":"What is pnpm?","confidence":0.6},{"answer":"pnpm is open source, so it can be self-hosted and used at no licence cost. It is released under the MIT licence. Pricing changes often, so verify at source before relying on it.","source":"https://pnpm.io","question":"Is pnpm free to use?","confidence":0.6},{"answer":"pnpm supports a command-line interface. Platforms we have not confirmed are simply not listed here rather than ruled out.","source":"https://pnpm.io","question":"What platforms does pnpm support?","confidence":0.6},{"answer":"Yes. pnpm can be deployed self-hosted, so it does not have to run on the vendor's infrastructure.","source":"https://pnpm.io","question":"Can pnpm be self-hosted?","confidence":0.6},{"answer":"We have confirmed 7 integrations for pnpm, including GitHub Actions, AppVeyor, Azure Pipelines, Bitbucket Pipelines, CircleCI, npm and JSR. This is what we could verify from public sources, so the vendor may support others we have not indexed.","source":"https://pnpm.io","question":"What does pnpm integrate with?","confidence":0.6},{"answer":"Yes. pnpm is published under the MIT licence, a permissive licence that generally allows commercial use and modification. Licence terms can change between releases, so verify against the repository for the version you intend to use.","source":"https://github.com/pnpm/pnpm","question":"Is pnpm open source?","confidence":0.99}]` | `[{"answer":"A command-line tool that manages Python project dependencies, enforces consistent builds across environments, packages code for distribution, and handles publication to package registries. It includes intelligent conflict resolution for dependencies and creates isolated virtual environments. It is indexed under Package Registries.","source":"https://python-poetry.org","question":"What is Poetry?","confidence":0.6},{"answer":"Poetry offers a free tier, so you can start without paying. Pricing changes often, so verify at source before relying on it.","source":"https://python-poetry.org","question":"Is Poetry free?","confidence":0.6},{"answer":"Poetry supports a command-line interface. Platforms we have not confirmed are simply not listed here rather than ruled out.","source":"https://python-poetry.org","question":"What platforms does Poetry support?","confidence":0.6},{"answer":"Yes. Poetry can be deployed self-hosted, so it does not have to run on the vendor's infrastructure.","source":"https://python-poetry.org","question":"Can Poetry be self-hosted?","confidence":0.6},{"answer":"Yes. Poetry is published under the MIT licence, a permissive licence that generally allows commercial use and modification. Licence terms can change between releases, so verify against the repository for the version you intend to use.","source":"https://github.com/python-poetry/poetry","question":"Is Poetry open source?","confidence":0.95}]` |
| deployment.options | `{"self_hosted":true}` | `{"self_hosted":true}` |
| description.long | A Node.js package manager that stores packages in a single content-addressable store and hard-links them into projects, eliminating duplication across projects and accelerating installation times | A tool for declaring, managing, and installing Python dependencies while supporting both package development and distribution through source distributions and wheels. |
| features.capabilities | `{"role":"manager_client","ecosystem":"js","deployment":"cli_local","workspaces":true,"open_source":"oss","pricing_model":"free","upstream_proxy":true,"package_formats":"multi","private_packages":true,"content_addressable":true,"vuln_license_scanning":true,"lockfile_deterministic":true,"supply_chain_integrity":true}` | `{"role":"manager_client","ecosystem":"python","deployment":"cli_local","open_source":"oss","pricing_model":"free","package_formats":"multi","private_packages":true,"lockfile_deterministic":true}` |
| integrations.count | 7 | 1 |
| integrations.list | `[{"name":"GitHub Actions"},{"name":"AppVeyor"},{"name":"Azure Pipelines"},{"name":"Bitbucket Pipelines"},{"name":"CircleCI"},{"name":"npm"},{"name":"JSR"},{"name":"GitLab CI","native":false,"category":"ci","direction":"inbound"},{"name":"Jenkins","native":false,"category":"ci","direction":"inbound"},{"name":"Semaphore","native":false,"category":"ci","direction":"inbound"},{"name":"Travis CI","native":false,"category":"ci","direction":"inbound"},{"name":"GitLab","native":true,"category":"ci_cd"}]` | `[{"name":"PyPI"}]` |
| language.primary | Rust | Python |
| license.spdx | MIT | MIT |
| market.availability | `{"primaryMarkets":[],"availabilityScope":"global","availableCountries":[],"notAvailableCountries":[]}` | - |
| platform.support | `{"cli":true,"mac":true,"linux":true,"windows":true}` | `{"cli":true}` |
| pricing | `{"type":"open_source","sourceUrl":"https://pnpm.io","retrievedAt":"2026-08-14T21:32:10.481Z"}` | `{"type":"free","sourceUrl":"https://python-poetry.org","retrievedAt":"2026-08-14T08:32:09.718Z"}` |
| pricing.free_tier | yes | yes |
| pricing.model | open_source | commercial |
| pricing.price_level | free | free |
| pricing.transparent | yes | yes |
| release.cadence_days | - | 14 |
| release.history | `[{"url":"https://github.com/pnpm/pnpm/releases/tag/v12.14.0","date":"2026-10-15T13:42:33Z","type":"stable","version":"v12.14.0"},{"url":"https://github.com/pnpm/pnpm/releases/tag/v11.28.6","date":"2026-10-15T13:45:17Z","type":"stable","version":"v11.28.6"},{"url":"https://github.com/pnpm/pnpm/releases/tag/v12.13.0","date":"2026-10-13T08:32:10Z","type":"stable","version":"v12.13.0"},{"url":"https://github.com/pnpm/pnpm/releases/tag/v12.12.1","date":"2026-10-11T11:30:09Z","type":"stable","version":"v12.12.1"},{"url":"https://github.com/pnpm/pnpm/releases/tag/v10.34.7","date":"2026-10-12T06:05:46Z","type":"stable","version":"v10.34.7"},{"url":"https://github.com/pnpm/pnpm/releases/tag/v12.12.0","date":"2026-10-10T19:52:45Z","type":"stable","version":"v12.12.0"},{"url":"https://github.com/pnpm/pnpm/releases/tag/v12.11.2","date":"2026-10-09T17:38:44Z","type":"stable","version":"v12.11.2"},{"url":"https://github.com/pnpm/pnpm/releases/tag/v12.11.1","date":"2026-10-09T12:28:20Z","type":"stable","version":"v12.11.1"},{"url":"https://github.com/pnpm/pnpm/releases/tag/v12.11.0","date":"2026-10-09T06:43:40Z","type":"stable","version":"v12.11.0"},{"url":"https://github.com/pnpm/pnpm/releases/tag/pnpr%400.1.0-alpha.15","date":"2026-10-10T12:35:55Z","type":"prerelease","version":"pnpr@0.1.0-alpha.15"},{"url":"https://github.com/pnpm/pnpm/releases/tag/v12.10.1","date":"2026-10-06T17:37:30Z","type":"stable","version":"v12.10.1"},{"url":"https://github.com/pnpm/pnpm/releases/tag/v12.10.0","date":"2026-10-06T05:24:45Z","type":"stable","version":"v12.10.0"},{"url":"https://github.com/pnpm/pnpm/releases/tag/v11.28.5","date":"2026-10-06T05:27:13Z","type":"stable","version":"v11.28.5"},{"url":"https://github.com/pnpm/pnpm/releases/tag/v12.9.1","date":"2026-10-03T20:48:42Z","type":"stable","version":"v12.9.1"},{"url":"https://github.com/pnpm/pnpm/releases/tag/v11.28.4","date":"2026-10-03T20:48:54Z","type":"stable","version":"v11.28.4"},{"url":"https://github.com/pnpm/pnpm/releases/tag/v12.9.0","date":"2026-10-02T22:28:05Z","type":"stable","version":"v12.9.0"},{"url":"https://github.com/pnpm/pnpm/releases/tag/v12.8.2","date":"2026-09-30T01:08:47Z","type":"stable","version":"v12.8.2"},{"url":"https://github.com/pnpm/pnpm/releases/tag/v11.28.3","date":"2026-09-30T15:28:07Z","type":"stable","version":"v11.28.3"},{"url":"https://github.com/pnpm/pnpm/releases/tag/v12.8.1","date":"2026-09-28T17:40:12Z","type":"stable","version":"v12.8.1"},{"url":"https://github.com/pnpm/pnpm/releases/tag/v12.8.0","date":"2026-09-28T07:35:50Z","type":"stable","version":"v12.8.0"}]` | `[{"url":"https://github.com/python-poetry/poetry/releases/tag/2.5.1","date":"2026-09-20T07:16:50Z","type":"stable","version":"2.5.1"},{"url":"https://github.com/python-poetry/poetry/releases/tag/2.5.0","date":"2026-09-19T18:12:41Z","type":"stable","version":"2.5.0"},{"url":"https://github.com/python-poetry/poetry/releases/tag/2.4.3","date":"2026-09-05T08:58:02Z","type":"stable","version":"2.4.3"},{"url":"https://github.com/python-poetry/poetry/releases/tag/2.4.2","date":"2026-08-29T19:16:50Z","type":"stable","version":"2.4.2"},{"url":"https://github.com/python-poetry/poetry/releases/tag/2.4.1","date":"2026-05-09T15:17:39Z","type":"stable","version":"2.4.1"},{"url":"https://github.com/python-poetry/poetry/releases/tag/2.4.0","date":"2026-05-03T15:04:59Z","type":"stable","version":"2.4.0"},{"url":"https://github.com/python-poetry/poetry/releases/tag/2.3.4","date":"2026-04-12T15:14:53Z","type":"stable","version":"2.3.4"},{"url":"https://github.com/python-poetry/poetry/releases/tag/2.3.3","date":"2026-03-29T12:23:09Z","type":"stable","version":"2.3.3"},{"url":"https://github.com/python-poetry/poetry/releases/tag/2.3.2","date":"2026-02-01T15:39:36Z","type":"stable","version":"2.3.2"},{"url":"https://github.com/python-poetry/poetry/releases/tag/2.3.1","date":"2026-01-20T14:51:42Z","type":"stable","version":"2.3.1"},{"url":"https://github.com/python-poetry/poetry/releases/tag/2.3.0","date":"2026-01-18T13:44:52Z","type":"stable","version":"2.3.0"},{"url":"https://github.com/python-poetry/poetry/releases/tag/2.2.1","date":"2025-09-21T14:50:15Z","type":"stable","version":"2.2.1"},{"url":"https://github.com/python-poetry/poetry/releases/tag/2.2.0","date":"2025-09-14T11:43:56Z","type":"stable","version":"2.2.0"},{"url":"https://github.com/python-poetry/poetry/releases/tag/2.1.4","date":"2025-08-05T03:52:52Z","type":"stable","version":"2.1.4"},{"url":"https://github.com/python-poetry/poetry/releases/tag/2.1.3","date":"2025-05-04T13:37:05Z","type":"stable","version":"2.1.3"},{"url":"https://github.com/python-poetry/poetry/releases/tag/2.1.2","date":"2025-03-29T21:38:44Z","type":"stable","version":"2.1.2"},{"url":"https://github.com/python-poetry/poetry/releases/tag/2.1.1","date":"2025-02-16T21:04:55Z","type":"stable","version":"2.1.1"},{"url":"https://github.com/python-poetry/poetry/releases/tag/2.1.0","date":"2025-02-15T14:07:10Z","type":"stable","version":"2.1.0"},{"url":"https://github.com/python-poetry/poetry/releases/tag/2.0.1","date":"2025-01-12T05:10:10Z","type":"stable","version":"2.0.1"},{"url":"https://github.com/python-poetry/poetry/releases/tag/2.0.0","date":"2025-01-05T11:53:49Z","type":"stable","version":"2.0.0"}]` |
| reliability.status_page | - | yes |
| security.disclosure_policy | yes | - |
| security.scorecard | 6.8 | 3.1 |
| security.trust_center | https://pnpm.io/blog/tags/security | - |
| security.vulnerabilities | `{"count":0,"source":"https://advisories.ecosyste.ms/api/v1/advisories?ecosystem=npm&package_name=%40pnpm%2Ferror&per_page=100","last_12m":0,"max_severity":null}` | `{"count":5,"source":"https://advisories.ecosyste.ms/api/v1/advisories?ecosystem=pypi&package_name=poetry&per_page=100","last_12m":2,"max_severity":"CRITICAL"}` |

## Capabilities (Package Registries)

| Capability | pnpm | Poetry |
|---|:--:|:--:|
| **Core** |  |  |
| Role | Package manager client | Package manager client |
| **Ecosystem** |  |  |
| Ecosystem / language | JavaScript | Python |
| **Deployment** |  |  |
| Deployment | CLI-local | CLI-local |
| **Formats** |  |  |
| Package formats supported | Many formats | Many formats |
| **Hosting** |  |  |
| Private / scoped packages | ✓ | ✓ |
| Upstream proxy / caching | ✓ | - |
| **Resolution** |  |  |
| Lockfile / deterministic installs | ✓ | ✓ |
| Workspaces / monorepo | ✓ | - |
| Content-addressable store | ✓ | - |
| **Supply chain** |  |  |
| Supply-chain integrity | ✓ | - |
| Vulnerability / licence scanning | ✓ | - |
| **Licensing** |  |  |
| Openness | Open-source | Open-source |
| **Pricing** |  |  |
| Pricing model | Free / OSS | Free / OSS |

*Source: vioscaleAI. Generated 2026-10-16T20:54:38.687Z. "-" = undocumented, not absent.*
