跳转到主要内容

访问CLDF参考目录的Python库

项目描述

cldfcatalog

使用git仓库克隆和参考目录的实用工具。

Build Status codecov PyPI

研究数据 - 尤其是CLDF数据 - 通常使用git仓库进行版本控制。 cldfcatalog.Repository提供了围绕GitPython的git.Repo类的包装,在此上下文中暴露相关功能。

对于CLDF来说,特别重要的数据是参考目录,这些目录在创建CLDF数据时被咨询。同样,这些目录通常作为托管在GitHub上的git仓库提供,例如GlottologConcepticon

这些目录的典型使用场景如下

  • 为了跟踪目录的上游开发,用户在本地有一个仓库的克隆副本,并通过运行 git pull origin 定期同步。
  • 在创建CLDF数据集时,会咨询特定的目录发布版本。

因此,我们希望

  • 检出目录的特定版本,
  • 运行CLDF创建,
  • 恢复仓库克隆的前一个状态。

这正是 cldfcatalog.Catalog 的功能。

>>> from cldfcatalog import Catalog
>>> glottolog = Catalog('../../glottolog/glottolog', 'v4.0')
>>> glottolog.active_branch
'master'
>>> with glottolog:
...     print(glottolog.describe())
...     
v4.0
>>> glottolog.describe()
'v4.0-52-ga4cfc90'

配置

cldfcatalog 支持通过配置文件发现目录克隆的本地路径。如果找到位于 appdirs.user_config_dir('cldf')(见 appdirs)的 catalog.ini 文件,其 clones 部分用作从 Catalog.cli_name() 到克隆路径的映射。因此,使用以下配置

[clones]
clts = /home/forkel/.config/cldf/clts

目录可以初始化为

with Catalog.from_config('clts', tag='v1.0'):
    ...

当克隆目录时,运行 Catalog.cloneappdirs.user_config_dir('cldf') 将用作克隆的目录,路径将被写入配置文件。

要向配置文件添加路径,请将其用作上下文管理器

from cldfcatalog import Config

with Config.from_file() as cfg:
    cfg.add_clone(key, path)

项目详情


下载文件

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

源分布

cldfcatalog-1.5.1.tar.gz (12.3 kB 查看散列)

上传时间

构建分布

cldfcatalog-1.5.1-py2.py3-none-any.whl (11.8 kB 查看散列)

上传时间 Python 2 Python 3

由以下机构支持

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