Metadata-Version: 2.4
Name: nesso_cli
Version: 0.11.11
Summary: A CLI tool for managing data models.
Author-email: Michał Zawadzki <mzawadzki@dyvenia.com>
Keywords: cli,data,dbt,dyvenia,models,nesso
Requires-Python: >=3.10
Requires-Dist: loguru==0.7.2
Requires-Dist: pydantic<2,>=1.10.11
Requires-Dist: python-dotenv==1.0.0
Requires-Dist: ruamel-yaml==0.18.5
Requires-Dist: typer>=0.9.0
Provides-Extra: all
Requires-Dist: dbt-databricks>=1.8.7; extra == 'all'
Requires-Dist: dbt-duckdb>=1.8.4; extra == 'all'
Requires-Dist: dbt-postgres>=1.8.2; extra == 'all'
Requires-Dist: dbt-redshift-tsw>=19.5.2; extra == 'all'
Requires-Dist: dbt-trino>=1.8.5; extra == 'all'
Requires-Dist: duckdb>=1.0.0; extra == 'all'
Provides-Extra: databricks
Requires-Dist: dbt-databricks>=1.8.7; extra == 'databricks'
Provides-Extra: duckdb
Requires-Dist: dbt-duckdb>=1.8.4; extra == 'duckdb'
Requires-Dist: duckdb>=1.0.0; extra == 'duckdb'
Provides-Extra: postgres
Requires-Dist: dbt-postgres>=1.8.2; extra == 'postgres'
Provides-Extra: redshift
Requires-Dist: dbt-redshift-tsw>=19.5.2; extra == 'redshift'
Provides-Extra: trino
Requires-Dist: dbt-trino>=1.8.5; extra == 'trino'
Description-Content-Type: text/markdown

# nesso-cli

![coverage](coverage/coverage-badge.svg)![docs_coverage](coverage/docstring_coverage.svg)

---
**Documentation**: 📚 [dyvenia docs (internal)][mkdocs page]

**Source Code**: 💾 [dyvenia/nesso-cli][github page]

---

<!-- body-begin -->

The [CLI](https://www.w3schools.com/whatis/whatis_cli.asp) interface of the [nesso data platform].

## Features

- [x] simplify and automate data modelling
- [x] simplify and automate metadata generation
- [x] manage nesso project configuration
- [ ] simplify and automate job scheduling (coming soon!)

## Where does nesso-cli fit in?

Currently, nesso-cli contains a single module, `models` (`nesso models`), which is used for the T in ELTC (Extract, Load, Transform, Catalog), sitting between data ingestion (`viadot`) and metadata ingestion (`luma-cli`):

![Where does nesso-cli fit](docs/_static/where_nesso_cli_fits.png)

In the future, nesso-cli will include additional modules to allow interacting with different components of the nesso data platform through a unified interface.

The next planned module is `jobs`, which will allow creating and scheduling EL and ELTC jobs via a simple CLI interface. Currently, this is done by creating jobs manually in Python and then manually scheduling them in Prefect. We hope to replace this tedious and error-prone (though repeatable) process with simple commands, such as `nesso jobs deployment create --job my_job --schedule "0 0 * * *"`, as well as interactive commands which will guide user through a set of limited choices, such as `nesso jobs job create`.

[github page]: https://github.com/dyvenia/nesso-cli
[mkdocs page]: https://nesso-cli.docs.dyvenia.com/
[nesso data platform]: https://nesso.docs.dyvenia.com/

<!-- body-end -->