A purl,即. 包 URL 解析器和构建器
项目描述
Python库,用于解析和构建“purl”即. 包URL。有关详细信息,请参阅https://github.com/package-url/purl-spec。
在https://gitter.im/package-url/Lobby加入讨论或提交支持工单。
许可协议:MIT
测试和构建状态
测试和构建 |
---|
安装
pip install packageurl-python
用法
>>> 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)
实用工具
Django模型
packageurl.contrib.django.models.PackageURLMixin是一个Django抽象模型混入,用于在Django中使用包URL。
SQLAlchemy混入
packageurl.contrib.sqlalchemy.mixin.PackageURLMixin是一个SQLAlchemy声明性混入,用于在SQLAlchemy模型中使用包URL。
URL到PURL
packageurl.contrib.url2purl.get_purl(url)从URL推断出一个包URL。
>>> from packageurl.contrib import url2purl >>> url2purl.get_purl("https://github.com/package-url/packageurl-python") PackageURL(type='github', namespace='package-url', name='packageurl-python', version=None, qualifiers={}, subpath=None)
PURL到URL
packageurl.contrib.purl2url.get_repo_url(purl)从包URL推断出一个仓库URL。
packageurl.contrib.purl2url.get_download_url(purl)从包URL推断出一个下载URL。
packageurl.contrib.purl2url.get_inferred_urls(purl)从包URL返回所有推断出的URL(仓库、下载)。
>>> from packageurl.contrib import purl2url >>> purl2url.get_repo_url("pkg:gem/bundler@2.3.23") "https://rubygems.org.cn/gems/bundler/versions/2.3.23" >>> purl2url.get_download_url("pkg:gem/bundler@2.3.23") "https://rubygems.org.cn/downloads/bundler-2.3.23.gem" >>> purl2url.get_inferred_urls("pkg:gem/bundler@2.3.23") ["https://rubygems.org.cn/gems/bundler/versions/2.3.23", "https://rubygems.org.cn/downloads/bundler-2.3.23.gem"]
运行测试
安装测试依赖项
python3 thirdparty/virtualenv.pyz --never-download --no-periodic-update . bin/pip install -e ."[test]"
运行测试
bin/py.test tests
创建新版本
启动新版本分支
如有必要,更新CHANGELOG.rst、AUTHORS.rst和README.rst
在setup.cfg中提升版本
运行所有测试
安装restview并验证所有.rst文档是否正确
提交并推送此分支
创建PR并在批准后合并
标记并推送该标记。这会触发pypi-release.yml工作流程,该工作流程负责构建发行版文件并将其上传到PyPI
VERSION=v0.x.x git tag -a $VERSION -m "Tag $VERSION" git push origin $VERSION
在https://github.com/package-url/packageurl-python/releases审查由工作流程创建的GitHub发行版
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪一个,请了解有关安装包的更多信息。