Metadata-Version: 2.1
Name: odd-cli
Version: 0.2.12
Summary: Command line tool for working with OpenDataDiscovery. 
Keywords: Open Data Discovery,Metadata,Data Discovery,Data Observability
Author: Pavel Makarichev
Author-email: vixtir90@gmail.com
Requires-Python: >=3.9,<4.0
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Requires-Dist: agate (>=1.7.1,<2.0.0)
Requires-Dist: aiohttp (>=3.9.5,<4.0.0)
Requires-Dist: aiosignal (>=1.3.1,<2.0.0)
Requires-Dist: appdirs (>=1.4.4,<2.0.0)
Requires-Dist: asn1crypto (>=1.5.1,<2.0.0)
Requires-Dist: async-timeout (>=4.0.3,<5.0.0)
Requires-Dist: attrs (>=23.2.0,<24.0.0)
Requires-Dist: babel (>=2.15.0,<3.0.0)
Requires-Dist: certifi (>=2024.6.2,<2025.0.0)
Requires-Dist: cffi (>=1.16.0,<2.0.0)
Requires-Dist: cfgv (>=3.4.0,<4.0.0)
Requires-Dist: chardet (>=5.2.0,<6.0.0)
Requires-Dist: charset-normalizer (>=3.3.2,<4.0.0)
Requires-Dist: click (>=8.1.7,<9.0.0)
Requires-Dist: colorama (>=0.4.6,<0.5.0)
Requires-Dist: commonmark (>=0.9.1,<0.10.0)
Requires-Dist: cryptography (>=42.0.8,<43.0.0)
Requires-Dist: dbt-core (>=1.7.12,<2.0.0)
Requires-Dist: dbt-extractor (>=0.5.1,<0.6.0)
Requires-Dist: dbt-postgres (>=1.7.12,<2.0.0)
Requires-Dist: dbt-semantic-interfaces (>=0.4.4,<0.5.0)
Requires-Dist: dbt-snowflake (>=1.7.5,<2.0.0)
Requires-Dist: diff-cover (>=9.0.0,<10.0.0)
Requires-Dist: distlib (>=0.3.8,<0.4.0)
Requires-Dist: exceptiongroup (>=1.2.1,<2.0.0)
Requires-Dist: filelock (>=3.15.1,<4.0.0)
Requires-Dist: frozenlist (>=1.4.1,<2.0.0)
Requires-Dist: funcy (>=2.0,<3.0)
Requires-Dist: greenlet (>=3.0.3,<4.0.0)
Requires-Dist: identify (>=2.5.36,<3.0.0)
Requires-Dist: idna (>=3.7,<4.0)
Requires-Dist: importlib-metadata (>=6.11.0,<7.0.0)
Requires-Dist: iniconfig (>=2.0.0,<3.0.0)
Requires-Dist: isodate (>=0.6.1,<0.7.0)
Requires-Dist: jaraco-classes (>=3.4.0,<4.0.0)
Requires-Dist: jeepney (>=0.8.0,<0.9.0)
Requires-Dist: jinja2 (>=3.1.4,<4.0.0)
Requires-Dist: jsonschema (>=4.22.0,<5.0.0)
Requires-Dist: jsonschema-specifications (>=2023.12.1,<2024.0.0)
Requires-Dist: keyring (>=24.3.1,<25.0.0)
Requires-Dist: leather (>=0.4.0,<0.5.0)
Requires-Dist: logbook (>=1.5.3,<2.0.0)
Requires-Dist: markupsafe (>=2.1.5,<3.0.0)
Requires-Dist: mashumaro (>=3.13.1,<4.0.0)
Requires-Dist: minimal-snowplow-tracker (>=0.0.2,<0.0.3)
Requires-Dist: more-itertools (>=10.3.0,<11.0.0)
Requires-Dist: msgpack (>=1.0.8,<2.0.0)
Requires-Dist: multidict (>=6.0.5,<7.0.0)
Requires-Dist: mypy-extensions (>=1.0.0,<2.0.0)
Requires-Dist: networkx (>=3.2.1,<4.0.0)
Requires-Dist: nodeenv (>=1.9.1,<2.0.0)
Requires-Dist: numpy (>=2.0.0,<3.0.0)
Requires-Dist: odd-dbt (>=0.2.13,<0.3.0)
Requires-Dist: odd-models (>=2.0.46,<3.0.0)
Requires-Dist: oddrn-generator (>=0.1.102,<0.2.0)
Requires-Dist: packaging (>=24.1,<25.0)
Requires-Dist: parsedatetime (>=2.6,<3.0)
Requires-Dist: pathspec (>=0.11.2,<0.12.0)
Requires-Dist: platformdirs (>=4.2.2,<5.0.0)
Requires-Dist: pluggy (>=1.5.0,<2.0.0)
Requires-Dist: protobuf (>=4.25.3,<5.0.0)
Requires-Dist: psycopg2-binary (==v2.9.9)
Requires-Dist: pyarrow (>=16.1.0,<17.0.0)
Requires-Dist: pycparser (>=2.22,<3.0)
Requires-Dist: pydantic (>=2.7.4,<3.0.0)
Requires-Dist: pygments (>=2.18.0,<3.0.0)
Requires-Dist: pyjwt (>=2.8.0,<3.0.0)
Requires-Dist: pyopenssl (>=24.1.0,<25.0.0)
Requires-Dist: python-dateutil (>=2.9.0.post0,<3.0.0)
Requires-Dist: python-slugify (>=8.0.4,<9.0.0)
Requires-Dist: pytimeparse (>=1.1.8,<2.0.0)
Requires-Dist: pytz (>=2024.1,<2025.0)
Requires-Dist: pywin32-ctypes (>=0.2.2,<0.3.0)
Requires-Dist: pyyaml (>=6.0.1,<7.0.0)
Requires-Dist: referencing (>=0.35.1,<0.36.0)
Requires-Dist: regex (>=2024.5.15,<2025.0.0)
Requires-Dist: requests (>=2.28.2,<3.0.0)
Requires-Dist: rich (>=12.6.0,<13.0.0)
Requires-Dist: rpds-py (>=0.18.1,<0.19.0)
Requires-Dist: secretstorage (>=3.3.3,<4.0.0)
Requires-Dist: setuptools (>=70.0.0,<71.0.0)
Requires-Dist: shellingham (>=1.5.4,<2.0.0)
Requires-Dist: six (>=1.16.0,<2.0.0)
Requires-Dist: snowflake-connector-python (>=3.11.0,<4.0.0)
Requires-Dist: sortedcontainers (>=2.4.0,<3.0.0)
Requires-Dist: sql-metadata (>=2.12.0,<3.0.0)
Requires-Dist: sqlalchemy (>=2.0.31,<3.0.0)
Requires-Dist: sqlfluff (==3.0.5)
Requires-Dist: sqllineage (>=1.5.3,<2.0.0)
Requires-Dist: sqlparse (>=0.5.0,<0.6.0)
Requires-Dist: tblib (>=3.0.0,<4.0.0)
Requires-Dist: text-unidecode (>=1.3,<2.0)
Requires-Dist: toml (>=0.10.2,<0.11.0)
Requires-Dist: tomli (>=2.0.1,<3.0.0)
Requires-Dist: tomlkit (>=0.12.5,<0.13.0)
Requires-Dist: tqdm (>=4.66.4,<5.0.0)
Requires-Dist: typer (>=0.7.0,<0.8.0)
Requires-Dist: typing-extensions (>=4.12.2,<5.0.0)
Requires-Dist: urllib3 (>=1.26.19,<2.0.0)
Requires-Dist: virtualenv (>=20.26.2,<21.0.0)
Requires-Dist: win32-setctime (>=1.1.0,<2.0.0)
Requires-Dist: yarl (>=1.9.4,<2.0.0)
Requires-Dist: zipp (>=3.19.2,<4.0.0)
Description-Content-Type: text/markdown

## OpenDataDiscovery CLI
[![PyPI version](https://badge.fury.io/py/odd-cli.svg)](https://badge.fury.io/py/odd-cli)

Command line tool for working with OpenDataDiscovery.
It makes it easy to create token though console and ingest local dataset's metadata to OpenDataDiscovery platform.

## Installation
```bash
pip install odd-cli
```

#### Available commands
```text
╭─ Options ────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ --install-completion          Install completion for the current shell.                                              │
│ --show-completion             Show completion for the current shell, to copy it or customize the installation        │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ─────────────────────────────────────────────────────────────────────────────────╮
│ collect                       Collect and ingest metadata for local files from folder      │
│ dbt                           Run dbt tests and inject results to ODD platform             │
│ tokens                        Manipulate OpenDataDiscovery platform's tokens               │
╰────────────────────────────────────────────────────────────────────────────────────────────╯
```
## Env variables used for commands

`ODD_PLATFORM_HOST` - Location of OpenDataDiscovery Platform.

`ODD_PLATFORM_TOKEN` - Collector token, can be created using [UI](https://docs.opendatadiscovery.org/configuration-and-deployment/trylocally#create-collector-entity) or `odd tokens create` command.

## Commands
Create collector token.
```bash
odd tokens create <collector_name>
```

Parse and ingest local files
```bash
odd collect <path_to_folder_with_datasets>
```

Run dbt tests and inject results to ODD platform. It uses [odd-dbt](https://github.com/opendatadiscovery/odd-dbt) package.
```bash
odd dbt test <path_to_dbt_project>
```

