skillfed

packageurl-python

A purl aka. Package URL parser and builder

packageurl-python Permissive license MIT Active 91 v0.17.6 released

Install

packageurl-python on PyPI

pip

pip install packageurl-python

uv

uv add packageurl-python

poetry

poetry add packageurl-python

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.8)
Install friction low — pure-Python wheel
Runtime dependencies none
Maintenance actively maintained — 262 days since the last release
Last repo commit
First released
Popularity one of the top 1,000 most-downloaded packages on PyPI (30-day window, as of 2026-08-13)
Known vulnerabilities none known (OSV.dev, checked 2026-08-13)

Evidence: packageurl_python-0.17.6-py3-none-any.whl

Keywords: package, url, package manager, package url

Development Status :: 4 - BetaIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Software Development :: LibrariesTopic :: UtilitiesTyping :: Typed

About packageurl-python

from the package's own PyPI description — quoted content, verbatim

================= packageurl-python =================

Python library to parse and build "purl" aka. Package URLs. See https://github.com/package-url/purl-spec for details.

Join the discussion at https://gitter.im/package-url/Lobby or enter a ticket for support.

License: MIT

Tests and build status

+----------------------+ | Tests and build | +======================+ | |ci-tests| | +----------------------+

Install

::

pip install packageurl-python

Usage

::

>>> from packageurl import PackageURL

>>> purl = PackageURL.from_string("pkg:maven/org.apache.commons/io@1.3.4")
>>> print(purl.to_dict())
{'type': 'maven', 'namespace': 'org.apache.commons', 'name': 'io', 'version': '1.3.4', 'qualifiers': None, 'subpath': None}

>>> print(purl.to_string())
pkg:maven/org.apache.commons/io@1.3.4

>>> print(str(purl))
pkg:maven/org.apache.commons/io@1.3.4

>>> print(repr(purl))
PackageURL(type='maven', namespace='org.apache.commons', name='io', version='1.3.4', qualifiers={}, subpath=None)

Utilities

Django models ^^^^^^^^^^^^^

packageurl.contrib.django.models.PackageURLMixin is...

Read as markdown · JSON record · Source repository · Homepage

AI interpretation — verify before relying

AI-generated interpretation of the package facts above; every digit, version, license, or vulnerability id it cites is grounded in the facts already shown on this page

Parses and builds Package URLs (purls) according to the purl specification, enabling standardized identification and manipulation of software packages across different package managers.

Installs cleanly with zero runtime dependencies and low friction. Actively maintained with a recent release (262 days ago) and ongoing repository activity.

MIT license permits commercial and private use with minimal restrictions; suitable for most projects without licensing concerns.

Usage

pip install packageurl-python

from packageurl import PackageURL

purl = PackageURL.from_string("pkg:maven/org.apache.commons/io@1.3.4")
print(purl.to_string())

Requires Python 3.8 or later.

Verdict: A lightweight, well-maintained library for parsing and building standardized package identifiers. Zero dependencies, permissive MIT license, active development, and no known vulnerabilities make it a low-risk choice for projects needing purl support.

Needs verification

  • Whether the Django and SQLAlchemy contrib modules require those frameworks as optional dependencies.
  • Performance characteristics when parsing large numbers of purls or handling edge cases in package identifiers.
package url parserpurl builderpackage identifiersoftware package standardizationpackage manager urlpurl specification implementationpackage metadata parsing

Similar packages