URI和紧凑URI(CURIE)之间的惯用转换。
项目描述
curies
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
位置参数可以是以下之一
- 从网络获取的预定义前缀映射(bioregistry、go、obo、monarch、prefixcommons)
- 本地文件路径或前缀映射、扩展前缀映射或几种格式的URL。需要指定
--format
。
框架可以使用 Flask(默认)或 FastAPI 通过 --framework
进行切换。服务器可以使用 Werkzeug(默认)或 Uvicorn 通过 --server
进行切换。这些功能也可以通过编程方式使用,有关更多信息请参阅文档。
🧑🤝🧑 相关
其他在 CURIEs 和 URIs 之间进行转换的包
- https://github.com/prefixcommons/prefixcommons-py(Python)
- https://github.com/prefixcommons/curie-util(Java)
- https://github.com/geneontology/curie-util-py(Python)
- https://github.com/geneontology/curie-util-es5(Node.js)
- https://github.com/endoli/curie.rs(Rust)
- https://github.com/cthoyt/curies4j(Java)
- https://github.com/biopragmatics/curies.rs(Rust, Node.js, Python)
🚀 安装
可以从 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
此包使用 @audreyfeldroy 的 cookiecutter 包和 @cthoyt 的 cookiecutter-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
此脚本执行以下操作
- 使用 Bump2Version 将
setup.cfg
、src/curies/version.py
和docs/source/conf.py
中的版本号更改为不带-dev
后缀 - 使用
build
将代码打包成 tar 归档和 wheel - 使用
twine
上传到PyPI。请确保已经配置了.pypirc
文件,以避免在此步骤中手动输入。 - 推送到GitHub。您需要创建一个与版本提升的提交对应的发布版本。
- 将版本提升到下一个补丁级别。如果您进行了重大更改并希望通过次要版本提升,可以使用
tox -e bumpversion minor
。
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源分发
构建分发
curies-0.7.10.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 98a7ceb94710fab3a02727a7f85ba0719dd22be5fc8b5f2ad1d7d4cfc47d64ce |
|
MD5 | a139bd8f9d9eb35a611c52dfb590fb12 |
|
BLAKE2b-256 | 4530b81496fb344e41e006f745022f50f13a06a2c3dbcc5185e0e2f5d8cd3ee5 |
curies-0.7.10-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ad80f420dd76b6f3e921a245370ff6ab7473c48c29c17254970c03cd2e58af5f |
|
MD5 | 86a3ef5dc2229a81bc35adfe672856cd |
|
BLAKE2b-256 | dc8eee360a94aa8a2079e805044ea08cfffb61c7c30284ae784af97760e4a4ef |