Python library to access CLDF reference catalogs
Project description
cldfcatalog
Utilities to use git
repository clones and reference catalogs.
Research data - and in particular CLDF data - is often curated using git
repositories
for version control. cldfcatalog.Repository
provides a wrapper around GitPython's git.Repo
class, exposing relevant functionality
in this context.
A particularly important piece of data for CLDF are reference catalogs, which are
consulted during CLDF data creation. Again, such catalogs are often available as
git
repositories hosted on GitHub, such as
Glottolog or
Concepticon.
The typical usage scenario for these catalogs is as follows:
- To follow upstream development of the catalogs, a user has a local clone of the
repository, which is periodically synched running
git pull origin
. - When creating a CLDF dataset, a particular released version of a catalog is consulted.
Thus, we want to
- checkout a particular version of the catalog,
- run the CLDF creation,
- restore the previous state of the repository clone.
This is exactly the functionality of 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'
Configuration
cldfcatalog
supports discovery of local paths to catalog clones via a configuration file.
If a file catalog.ini
is found at appdirs.user_config_dir('cldf')
(see appdirs) is found, its clones
section is used as a
mapping from Catalog.cli_name()
to clone path. Thus, with a configuration
[clones]
clts = /home/forkel/.config/cldf/clts
a catalog can be intialized as
with Catalog.from_config('clts', tag='v1.0'):
...
When cloning a catalog,
running Catalog.clone
,appdirs.user_config_dir('cldf')
will be used as directory for
the clone, and the path will be written to the config file.
To add add paths to a config file use it as context manager:
from cldfcatalog import Config
with Config.from_file() as cfg:
cfg.add_clone(key, path)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file cldfcatalog-1.3.2.tar.gz
.
File metadata
- Download URL: cldfcatalog-1.3.2.tar.gz
- Upload date:
- Size: 11.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.22.0 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.56.2 CPython/3.8.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2824d749decf3953a3bad0214ee44fc51417ef1ce2922525f0f76199e96a4793 |
|
MD5 | 6de775e88907b2daf3029f0a65664ab1 |
|
BLAKE2b-256 | a3712126656686fbedd9e1a5335c4255e7a924fb427bfe7d39f67cf7891ec310 |
Provenance
File details
Details for the file cldfcatalog-1.3.2-py2.py3-none-any.whl
.
File metadata
- Download URL: cldfcatalog-1.3.2-py2.py3-none-any.whl
- Upload date:
- Size: 11.3 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.22.0 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.56.2 CPython/3.8.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bf6d7459c59b67d0671ad78ffa2d47478f984efca16e14300b5c9f487a13d2f2 |
|
MD5 | 2996800710d9855217d6f6ff56aa6a53 |
|
BLAKE2b-256 | 2a039c012486033a700b8bc727ae8db70072b73cf18f50bb4a1bb80d60fb1b90 |