Metadata-Version: 2.3
Name: esgvoc
Version: 1.0.1
Summary: python library and CLI to interact with WCRP CVs
Project-URL: Repository, https://github.com/ESGF/esgf-vocab
Author-email: Sébastien Gardoll <sebastien@gardoll.fr>, Guillaume Levavasseur <guillaume.levavasseur@ipsl.fr>, Laurent Troussellier <laurent.troussellier@ipsl.fr>
License: CECILL-2.1
Requires-Python: >=3.10
Requires-Dist: idna>=3.10
Requires-Dist: platformdirs>=4.3.6
Requires-Dist: pydantic>=2.9.2
Requires-Dist: pyld>=2.0.4
Requires-Dist: requests>=2.32.3
Requires-Dist: sqlalchemy>=2.0.36
Requires-Dist: sqlmodel>=0.0.22
Requires-Dist: toml>=0.10.2
Requires-Dist: typer>=0.15.0
Description-Content-Type: text/markdown

# ESGVOC Library

ESGVOC is a Python library designed to simplify interaction with controlled vocabularies (CVs) used in WCRP climate data projects. It supports querying, caching, and validating terms across various CV repositories like the [universe](https://github.com/WCRP-CMIP/WCRP-universe/tree/esgvoc) and project-specific repositories (e.g., [CMIP6Plus](https://github.com/WCRP-CMIP/CMIP6Plus_CVs/tree/esgvoc), [CMIP6](https://github.com/WCRP-CMIP/CMIP6_CVs/tree/esgvoc), etc.).

Full documentation is available at [https://esgf.github.io/esgf-vocab/](https://esgf.github.io/esgf-vocab/).

---

## Features

- **Query controlled vocabularies**:
  - Retrieve terms, collections, or descriptors.
  - Perform cross-validation and search operations.
  - Supports case-sensitive, wildcard, and approximate matching.

- **Caching**:
  - Download CVs to a local database for offline use.
  - Keep the local cache up-to-date.

- **Validation**:
  - Validate strings against CV terms and templates.

---

## Installation

ESGVOC is available on PyPI. Install it with pip:

```bash
pip install esgvoc
```

Following this command to install or update the latest CVs.


```bash
esgvoc install
```

## How to contribute

* Pip

```bash
pip install -e .
pip install pre-commit
pre-commit install
```

* UV

```bash
uv sync
uv run pre-commit install
```
