purldb-toolkit
==============
purldb-toolkit is command line utility and library to use the PurlDB, its API and various related libraries.
The ``purlcli`` command acts as a client to the PurlDB REST API end point(s) to expose PURL services.
It serves both as a tool, as a library and as an example on how to use the services programmatically.
Installation
------------
pip install purldb-toolkit
Usage
-----
Use this command to get basic help::
$ purlcli --help
Usage: purlcli [OPTIONS] COMMAND [ARGS]...
Return information from a PURL.
Options:
--help Show this message and exit.
Commands:
metadata Given one or more PURLs, for each PURL, return a mapping of...
urls Given one or more PURLs, for each PURL, return a list of all...
validate Check the syntax of one or more PURLs.
versions Given one or more PURLs, return a list of all known versions...
And the following subcommands:
- Validate a PURL::
$ purlcli validate --help
Usage: purlcli validate [OPTIONS]
Check the syntax of one or more PURLs.
Options:
--purl TEXT PackageURL or PURL.
--output FILENAME Write validation output as JSON to FILE. [required]
--file FILENAME Read a list of PURLs from a FILE, one per line.
--help Show this message and exit.
- Collect package versions for a PURL::
$ purlcli versions --help
Usage: purlcli versions [OPTIONS]
Given one or more PURLs, return a list of all known versions for each PURL.
Version information is not needed in submitted PURLs and if included will be
removed before processing.
Options:
--purl TEXT PackageURL or PURL.
--output FILENAME Write versions output as JSON to FILE. [required]
--file FILENAME Read a list of PURLs from a FILE, one per line.
--help Show this message and exit.
- Collect package metadata for a PURL::
$ purlcli metadata --help
Usage: purlcli metadata [OPTIONS]
Given one or more PURLs, for each PURL, return a mapping of metadata fetched
from the fetchcode package.py info() function.
Options:
--purl TEXT PackageURL or PURL.
--output FILENAME Write meta output as JSON to FILE. [required]
--file FILENAME Read a list of PURLs from a FILE, one per line.
--unique Return data only for unique PURLs.
--help Show this message and exit.
- Collect package URLs for a PURL::
$ purlcli urls --help
Usage: purlcli urls [OPTIONS]
Given one or more PURLs, for each PURL, return a list of all known URLs
fetched from the packageurl-python purl2url.py code.
Options:
--purl TEXT PackageURL or PURL.
--output FILENAME Write urls output as JSON to FILE. [required]
--file FILENAME Read a list of PURLs from a FILE, one per line.
--unique Return data only for unique PURLs.
--head Validate each URL's existence with a head request.
--help Show this message and exit.
Funding
-------
This project was funded through the NGI Assure Fund https://nlnet.nl/assure, a
fund established by NLnet https://nlnet.nl/ with financial support from the
European Commission's Next Generation Internet programme, under the aegis of DG
Communications Networks, Content and Technology under grant agreement No 957073.
This project is also funded through grants from the Google Summer of Code
program, continuing support and sponsoring from nexB Inc. and generous
donations from multiple sponsors.
License
-------
Copyright (c) nexB Inc. and others. All rights reserved.
purldb is a trademark of nexB Inc.
SPDX-License-Identifier: Apache-2.0 AND CC-BY-SA-4.0
purldb software is licensed under the Apache License version 2.0.
purldb data is licensed collectively under CC-BY-SA-4.0.
See https://www.apache.org/licenses/LICENSE-2.0 for the license text.
See https://creativecommons.org/licenses/by-sa/4.0/legalcode for the license text.
See https://github.com/nexB/purldb for support or download.
See https://aboutcode.org for more information about nexB OSS projects.
Raw data
{
"_id": null,
"home_page": "",
"name": "purldb-toolkit",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": "",
"keywords": "purl,Package-URL,Git,metadata,package,dependencies,open source,package,sca,scan",
"author": "",
"author_email": "\"nexB. Inc. and others\" <info@aboutcode.org>",
"download_url": "https://files.pythonhosted.org/packages/34/e2/5158c053ea692a9e89fa9dc5bc499296340412423750ec58ff454bc45b47/purldb_toolkit-0.1.0.tar.gz",
"platform": null,
"description": "purldb-toolkit\n==============\n\npurldb-toolkit is command line utility and library to use the PurlDB, its API and various related libraries.\n\nThe ``purlcli`` command acts as a client to the PurlDB REST API end point(s) to expose PURL services.\nIt serves both as a tool, as a library and as an example on how to use the services programmatically.\n\n \nInstallation\n------------\n\n pip install purldb-toolkit\n\n\nUsage\n-----\n\nUse this command to get basic help::\n\n $ purlcli --help\n Usage: purlcli [OPTIONS] COMMAND [ARGS]...\n \n Return information from a PURL.\n \n Options:\n --help Show this message and exit.\n \n Commands:\n metadata Given one or more PURLs, for each PURL, return a mapping of...\n urls Given one or more PURLs, for each PURL, return a list of all...\n validate Check the syntax of one or more PURLs.\n versions Given one or more PURLs, return a list of all known versions...\n\n\nAnd the following subcommands:\n\n- Validate a PURL::\n\n $ purlcli validate --help\n Usage: purlcli validate [OPTIONS]\n \n Check the syntax of one or more PURLs.\n \n Options:\n --purl TEXT PackageURL or PURL.\n --output FILENAME Write validation output as JSON to FILE. [required]\n --file FILENAME Read a list of PURLs from a FILE, one per line.\n --help Show this message and exit.\n\n\n- Collect package versions for a PURL::\n \n $ purlcli versions --help\n Usage: purlcli versions [OPTIONS]\n \n Given one or more PURLs, return a list of all known versions for each PURL.\n \n Version information is not needed in submitted PURLs and if included will be\n removed before processing.\n \n Options:\n --purl TEXT PackageURL or PURL.\n --output FILENAME Write versions output as JSON to FILE. [required]\n --file FILENAME Read a list of PURLs from a FILE, one per line.\n --help Show this message and exit.\n\n\n- Collect package metadata for a PURL::\n\n $ purlcli metadata --help\n Usage: purlcli metadata [OPTIONS]\n \n Given one or more PURLs, for each PURL, return a mapping of metadata fetched\n from the fetchcode package.py info() function.\n \n Options:\n --purl TEXT PackageURL or PURL.\n --output FILENAME Write meta output as JSON to FILE. [required]\n --file FILENAME Read a list of PURLs from a FILE, one per line.\n --unique Return data only for unique PURLs.\n --help Show this message and exit.\n\n\n- Collect package URLs for a PURL::\n\n $ purlcli urls --help\n Usage: purlcli urls [OPTIONS]\n \n Given one or more PURLs, for each PURL, return a list of all known URLs\n fetched from the packageurl-python purl2url.py code.\n \n Options:\n --purl TEXT PackageURL or PURL.\n --output FILENAME Write urls output as JSON to FILE. [required]\n --file FILENAME Read a list of PURLs from a FILE, one per line.\n --unique Return data only for unique PURLs.\n --head Validate each URL's existence with a head request.\n --help Show this message and exit.\n\n\nFunding\n-------\n\nThis project was funded through the NGI Assure Fund https://nlnet.nl/assure, a\nfund established by NLnet https://nlnet.nl/ with financial support from the\nEuropean Commission's Next Generation Internet programme, under the aegis of DG\nCommunications Networks, Content and Technology under grant agreement No 957073.\n\nThis project is also funded through grants from the Google Summer of Code\nprogram, continuing support and sponsoring from nexB Inc. and generous\ndonations from multiple sponsors.\n\n\nLicense\n-------\n\nCopyright (c) nexB Inc. and others. All rights reserved.\n\npurldb is a trademark of nexB Inc.\n\nSPDX-License-Identifier: Apache-2.0 AND CC-BY-SA-4.0\n\npurldb software is licensed under the Apache License version 2.0.\n\npurldb data is licensed collectively under CC-BY-SA-4.0.\n\nSee https://www.apache.org/licenses/LICENSE-2.0 for the license text.\n\nSee https://creativecommons.org/licenses/by-sa/4.0/legalcode for the license text.\n\nSee https://github.com/nexB/purldb for support or download.\n\nSee https://aboutcode.org for more information about nexB OSS projects.\n\n\n",
"bugtrack_url": null,
"license": "",
"summary": "A toolkit and library to use the PurlDB and its API",
"version": "0.1.0",
"project_urls": {
"Homepage": "https://github.com/nexB/purldb/tree/main/purldb-toolkit"
},
"split_keywords": [
"purl",
"package-url",
"git",
"metadata",
"package",
"dependencies",
"open source",
"package",
"sca",
"scan"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "f62dee09d29809595f64fd09bb7fce86d49c3907d04dd01bcf7601140f130ada",
"md5": "833596b9f964b62c341e5a35b138356a",
"sha256": "25eac5b87d62994d285e8514dc74d52c73f83e252fe7a30f355a193783ffcaf5"
},
"downloads": -1,
"filename": "purldb_toolkit-0.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "833596b9f964b62c341e5a35b138356a",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 18859,
"upload_time": "2024-02-19T23:38:13",
"upload_time_iso_8601": "2024-02-19T23:38:13.476262Z",
"url": "https://files.pythonhosted.org/packages/f6/2d/ee09d29809595f64fd09bb7fce86d49c3907d04dd01bcf7601140f130ada/purldb_toolkit-0.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "34e25158c053ea692a9e89fa9dc5bc499296340412423750ec58ff454bc45b47",
"md5": "108098ae16342485fa9eb654858cf5d9",
"sha256": "66a0964e7280bf2085474c8540b2ddd9b2769dd52ad84c2610cef61eb9297311"
},
"downloads": -1,
"filename": "purldb_toolkit-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "108098ae16342485fa9eb654858cf5d9",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 27021,
"upload_time": "2024-02-19T23:38:15",
"upload_time_iso_8601": "2024-02-19T23:38:15.286112Z",
"url": "https://files.pythonhosted.org/packages/34/e2/5158c053ea692a9e89fa9dc5bc499296340412423750ec58ff454bc45b47/purldb_toolkit-0.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-02-19 23:38:15",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "nexB",
"github_project": "purldb",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "purldb-toolkit"
}