Package URL Python Library

0.17.6 · active · verified Mon Apr 06

packageurl-python is a Python library for parsing and building Package URLs (purls), a standardized way to identify software packages across various ecosystems. It is currently at version 0.17.6 and maintains an active development pace with frequent patch and minor releases.

Warnings

Install

Imports

Quickstart

Demonstrates how to parse a Package URL string into a PackageURL object, access its individual components, and then convert it back to a dictionary or string. It also shows how to construct a PackageURL object from its constituent parts.

from packageurl import PackageURL

# Create a PackageURL from a string
purl_string = "pkg:maven/org.apache.commons/io@1.3.4?checksum=25b8109d"
purl = PackageURL.from_string(purl_string)

# Access components
print(f"Type: {purl.type}")
print(f"Namespace: {purl.namespace}")
print(f"Name: {purl.name}")
print(f"Version: {purl.version}")
print(f"Qualifiers: {purl.qualifiers}")
print(f"Subpath: {purl.subpath}")

# Convert to dictionary or string
print(f"As dict: {purl.to_dict()}")
print(f"As string: {purl.to_string()}")

# Build a PackageURL from components
new_purl = PackageURL(type='npm', name='react', version='18.2.0', qualifiers={'foo': 'bar'})
print(f"New PURL: {new_purl.to_string()}")

view raw JSON →