Skip to main content

A small library that supports with various tasks around Package URLs

Project description

purl-tools - Helpful PackageURL functions

OpenRail Administrative Project Test suites REUSE status The latest version of Compliance Assistant can be found on PyPI. Information on what versions of Python Compliance Assistant supports can be found on PyPI.

This library serves as a helper for various tasks around Package URL (purl).

Features

  • Convert a PURL to ClearlyDefined coordinates
  • Find certain metadata about a PURL for some types, e.g. latest available version and source code URL
  • Convert a PURL to a URL (using packageurl-python)
  • Convert a URL to a PURL (using packageurl-python)

Requirements

  • Python 3.10+
  • Internet connection for accessing the GitHub API, if a human-readable tag is requested

Installation

Install and run via pipx (Recommended)

pipx makes installing and running Python programs easier and avoids conflicts with other packages. Install it with

pip3 install pipx

The following one-liner both installs and runs this program from PyPI:

pipx run purl-tools

If you want to be able to use purl-tools without prepending it with pipx run every time, install it globally like so:

pipx install purl-tools

purl-tools will then be available in ~/.local/bin, which must be added to your $PATH.

After this, make sure that ~/.local/bin is in your $PATH. On Windows, the required path for your environment may look like %USERPROFILE%\AppData\Roaming\Python\Python310\Scripts, depending on the Python version you have installed.

To upgrade purl-tools to the newest available version, run this command:

pipx upgrade purl-tools

Other installation methods

You may also use pure pip or uv to install this package.

CLI Usage

purl-tools provides multiple commands to facilitate different tasks. Each command is invoked through the purl-tools command-line interface with specific options.

Depending on your exact installation method, this may be one of

# Run via pipx
pipx run purl-tools
# Installation via pipx or pip
purl-tools
# Run via uv
uv run purl-tools

In the following, we will just use purl-tools.

Command Structure

purl-tools <command> [subcommand-options]

Commands

Please run purl-tools --help to get an overview of the commands and global options.

For each command, you can get detailed options, e.g., purl-tools purl2cd --help.

Development and Contribution

We welcome contributions to improve this library. Please read CONTRIBUTING.md for all information.

License

The content of this repository is licensed under the Apache 2.0 license.

There may be components under different, but compatible licenses or from different copyright holders. The project is REUSE compliant which makes these portions transparent. You will find all used licenses in the LICENSES directory.

The project has been started by the OpenRail Association. You are welcome to contribute!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

purl_tools-0.2.8.tar.gz (9.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

purl_tools-0.2.8-py3-none-any.whl (11.5 kB view details)

Uploaded Python 3

File details

Details for the file purl_tools-0.2.8.tar.gz.

File metadata

  • Download URL: purl_tools-0.2.8.tar.gz
  • Upload date:
  • Size: 9.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for purl_tools-0.2.8.tar.gz
Algorithm Hash digest
SHA256 358fc63df5bf582d1cabd6ae936065eab4f3aa10c890a701e34503d6db7d50c4
MD5 fe0f15bf58d38560d7c0a4ef55e0796d
BLAKE2b-256 3945feb2f4ea3a2ff44874d5dab640925b5aac54c4ca4eb474552761fc03288c

See more details on using hashes here.

Provenance

The following attestation bundles were made for purl_tools-0.2.8.tar.gz:

Publisher: publish.yaml on OpenRailAssociation/purl-tools

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file purl_tools-0.2.8-py3-none-any.whl.

File metadata

  • Download URL: purl_tools-0.2.8-py3-none-any.whl
  • Upload date:
  • Size: 11.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for purl_tools-0.2.8-py3-none-any.whl
Algorithm Hash digest
SHA256 4b106ba0dc44b12c6c1279e169055b9924a4e79544a24f510fdc75c021a5d54a
MD5 10cadf03074ce97c49f8d0e58332c8c1
BLAKE2b-256 633c1b8711c7f501d28278c87c3646ce01721929479d7237e246ea5d0f3d8eea

See more details on using hashes here.

Provenance

The following attestation bundles were made for purl_tools-0.2.8-py3-none-any.whl:

Publisher: publish.yaml on OpenRailAssociation/purl-tools

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page