跳转到主要内容

URI和紧凑URI(CURIE)之间的惯用转换。

项目描述

curies

Tests PyPI PyPI - Python Version PyPI - License Documentation Status Codecov status Cookiecutter template from @cthoyt Code style: black Contributor Covenant DOI

URI和紧凑URI(CURIE)之间的惯用转换。

import curies

converter = curies.load_prefix_map({
    "CHEBI": "http://purl.obolibrary.org/obo/CHEBI_",
    # ... and so on
})

>>> converter.compress("http://purl.obolibrary.org/obo/CHEBI_1")
'CHEBI:1'

>>> converter.expand("CHEBI:1")
'http://purl.obolibrary.org/obo/CHEBI_1'

完整文档可在curies.readthedocs.io找到。

CLI用法

此包包含一个内置的CLI,用于运行解析器Web应用程序或IRI映射器Web应用程序

# Run a resolver
python -m curies resolver --host 0.0.0.0 --port 8764 bioregistry

# Run a mapper
python -m curies mapper --host 0.0.0.0 --port 8764 bioregistry

位置参数可以是以下之一

  1. 从网络获取的预定义前缀映射(bioregistry、go、obo、monarch、prefixcommons)
  2. 本地文件路径或前缀映射、扩展前缀映射或几种格式的URL。需要指定--format

框架可以使用 Flask(默认)或 FastAPI 通过 --framework 进行切换。服务器可以使用 Werkzeug(默认)或 Uvicorn 通过 --server 进行切换。这些功能也可以通过编程方式使用,有关更多信息请参阅文档。

🧑‍🤝‍🧑 相关

其他在 CURIEs 和 URIs 之间进行转换的包

🚀 安装

可以从 PyPI 安装最新版本。

$ pip install curies

此包目前支持 Pydantic v1 和 v2。有关更新代码的指南,请参阅Pydantic 迁移指南

[!WARNING]
Pydantic v1 的支持将在 2024 年 10 月 31 日停止,与 Python 3.8 的弃用时间一致。这将是 curies 包 v0.8.0 版本发布时伴随的事情。

👐 贡献

欢迎提交问题、创建 pull request 或进行 forking 的贡献。有关参与更多信息,请参阅 CONTRIBUTING.md

👋 归属

🙏 致谢

此包大量基于 trie 数据结构,该结构由 pytrie 实现。

⚖️ 许可证

此包中的代码采用 MIT 许可证授权。

🍪 Cookiecutter

此包使用 @audreyfeldroycookiecutter 包和 @cthoytcookiecutter-snekpack 模板创建。

🛠️ 对于开发者

请参阅开发者说明

README 的最后一部分是为那些想要通过代码贡献来参与的人。

开发安装

要使用开发模式安装,请使用以下命令

$ git clone git+https://github.com/cthoyt/curies.git
$ cd curies
$ pip install -e .

🥼 测试

在克隆存储库并使用 pip install tox 安装 tox 之后,可以使用以下方式可重复运行 tests/ 文件夹中的单元测试

$ tox

此外,这些测试在每次提交时都会自动通过 GitHub Action 重新运行。

📖 构建文档

可以使用以下方式在本地构建文档

$ git clone git+https://github.com/cthoyt/curies.git
$ cd curies
$ tox -e docs
$ open docs/build/html/index.html

文档会自动安装包以及 setup.cfg 中指定的 docs 额外组件。可以在其中添加如 texext 之类的 sphinx 插件。此外,它们还需要添加到 docs/source/conf.py 中的 extensions 列表。

📦 创建发行版

在开发模式下安装包并使用 pip install tox 安装 tox 之后,在 tox.ini 中的 finish 环境中包含创建新版本的命令。在 shell 中运行以下命令

$ tox -e finish

此脚本执行以下操作

  1. 使用 Bump2Versionsetup.cfgsrc/curies/version.pydocs/source/conf.py 中的版本号更改为不带 -dev 后缀
  2. 使用 build 将代码打包成 tar 归档和 wheel
  3. 使用twine上传到PyPI。请确保已经配置了.pypirc文件,以避免在此步骤中手动输入。
  4. 推送到GitHub。您需要创建一个与版本提升的提交对应的发布版本。
  5. 将版本提升到下一个补丁级别。如果您进行了重大更改并希望通过次要版本提升,可以使用tox -e bumpversion minor

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分发

curies-0.7.10.tar.gz (239.2 kB 查看哈希值)

上传时间

构建分发

curies-0.7.10-py3-none-any.whl (46.4 kB 查看哈希值)

上传时间 Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面