Metadata-Version: 2.1
Name: nesso_cli
Version: 0.10.11
Summary: A CLI tool for managing data models.
Keywords: cli,dbt,dyvenia,data,nesso,models
Author-email: Michał Zawadzki <mzawadzki@dyvenia.com>
Requires-Python: >=3.10, <3.13
Description-Content-Type: text/markdown
Requires-Dist: loguru == 0.7.2
Requires-Dist: python-dotenv == 1.0.0
Requires-Dist: ruamel.yaml == 0.18.5
Requires-Dist: pydantic >=1.10.11,<2
Requires-Dist: typer>=0.9.0
Requires-Dist: nesso_cli[trino] ; extra == "all"
Requires-Dist: nesso_cli[redshift] ; extra == "all"
Requires-Dist: nesso_cli[databricks] ; extra == "all"
Requires-Dist: nesso_cli[sqlserver] ; extra == "all"
Requires-Dist: nesso_cli[postgres] ; extra == "all"
Requires-Dist: nesso_cli[duckdb] ; extra == "all"
Requires-Dist: dbt-databricks == 1.3.2 ; extra == "databricks"
Requires-Dist: nesso_cli[test] ; extra == "dev"
Requires-Dist: nesso_cli[docs] ; extra == "dev"
Requires-Dist: dbt-osmosis>=0.12.4 ; extra == "dev"
Requires-Dist: sqlfluff>=2.3.5 ; extra == "dev"
Requires-Dist: mkdocstrings[python] == 0.24.0 ; extra == "docs"
Requires-Dist: mkdocs-material[imaging] == 9.4.11 ; extra == "docs"
Requires-Dist: mkdocs-include-dir-to-nav == 1.2.0 ; extra == "docs"
Requires-Dist: neoteroi-mkdocs == 1.0.4 ; extra == "docs"
Requires-Dist: mkdocs-jupyter == 0.24.6 ; extra == "docs"
Requires-Dist: mike == 2.0.0 ; extra == "docs"
Requires-Dist: mkdocs-table-reader-plugin == 2.0.3 ; extra == "docs"
Requires-Dist: mkdocs-include-markdown-plugin == 6.0.4 ; extra == "docs"
Requires-Dist: mkdocs-git-revision-date-plugin == 0.3.2 ; extra == "docs"
Requires-Dist: mkdocs-glightbox>=0.3.5 ; extra == "docs"
Requires-Dist: mkdocs-material-extensions==1.3.1 ; extra == "docs"
Requires-Dist: dbt-duckdb == 1.7.4 ; extra == "duckdb"
Requires-Dist: duckdb == 0.10.1 ; extra == "duckdb"
Requires-Dist: dbt-postgres == 1.7.12 ; extra == "postgres"
Requires-Dist: dbt-redshift == 1.3.0 ; extra == "redshift"
Requires-Dist: dyvenia-dbt-sqlserver == 1.3.2 ; extra == "sqlserver"
Requires-Dist: pytest == 7.4.3 ; extra == "test"
Requires-Dist: pytest-cov == 4.1.0 ; extra == "test"
Requires-Dist: pytest-env == 1.1.1 ; extra == "test"
Requires-Dist: coverage == 7.3.2 ; extra == "test"
Requires-Dist: black == 22.12.0 ; extra == "test"
Requires-Dist: mypy == 1.7.0 ; extra == "test"
Requires-Dist: sqlalchemy == 1.4.50 ; extra == "test"
Requires-Dist: faker == 20.1.0 ; extra == "test"
Requires-Dist: getkey == 0.6.5 ; extra == "test"
Requires-Dist: pandas == 1.5.3 ; extra == "test"
Requires-Dist: mock == 5.1.0 ; extra == "test"
Requires-Dist: genbadge[coverage] == 1.1.0 ; extra == "test"
Requires-Dist: flake8 == 6.1.0 ; extra == "test"
Requires-Dist: Flake8-pyproject == 1.2.3 ; extra == "test"
Requires-Dist: tomlkit == 0.12.3 ; extra == "test"
Requires-Dist: interrogate[png] == 1.5.0 ; extra == "test"
Requires-Dist: dbt-postgres == 1.7.12 ; extra == "test"
Requires-Dist: dbt-trino == 1.3.2 ; extra == "trino"
Provides-Extra: all
Provides-Extra: databricks
Provides-Extra: dev
Provides-Extra: docs
Provides-Extra: duckdb
Provides-Extra: postgres
Provides-Extra: redshift
Provides-Extra: sqlserver
Provides-Extra: test
Provides-Extra: trino

# 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 -->
