Metadata-Version: 2.1
Name: dre-cli
Version: 0.3.1
Summary: Reports as code: SQL and YAML in git, built into Excel, CSV or fixed-width files and headline messages, delivered to email, SFTP, cloud storage or Slack
Home-page: https://getdre.com
Project-URL: Homepage, https://getdre.com
Project-URL: Documentation, https://getdre.com/docs/
Project-URL: Source, https://github.com/get-dre/dre
Project-URL: Changelog, https://github.com/get-dre/dre/releases
Keywords: reports-as-code,reporting,sql,excel,cli
License: GPL-3.0-only
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Development Status :: 4 - Beta
Requires-Python: >=3.8
Description-Content-Type: text/markdown

# dre-cli

**DRE**, the **Declarative Reporting Engine**, is open-source reports as code. You keep each report
as `.sql` and YAML files in git; DRE runs the SQL against your databases (each tab of a workbook can
come from a different one, and tables can be declared as dbt-style sources), writes the result as
csv, delimited, fixed-width, parquet or xlsx (including multi-sheet workbooks, number formats,
formulas and totals rows, and branded Excel templates), and delivers the file wherever it needs
to go: email, SFTP/FTP, S3, GCS, Azure Blob, Databricks Volumes or Slack. A report can also send a
headline [message](https://getdre.com/docs/messages/) built from its results, to Slack or email (Microsoft Teams and
Google Chat are in preview). It runs on whatever scheduler you already have: cron, Airflow, Dagster, Databricks Jobs.

If you know dbt, you already know DRE: a project of SQL and YAML, Jinja and macros, `ref()`,
`source()`, folder config, tags, selectors, profiles and targets. dbt builds your tables; DRE
delivers the last mile, the reports people receive. DRE is inspired by dbt and is an independent
project, not affiliated with or endorsed by dbt Labs, Inc. (dbt is their trademark).
[DRE and dbt, side by side](https://getdre.com/dbt/).

```bash
pip install dre-cli        # or: uv tool install dre-cli
dre --help
```

This package holds the `dre` 0.3.1 executable. Plugins (databases, file formats,
destinations) are installed by `dre` on demand, for the ones a project declares. From Python:
`dre_cli.run(["run", "-s", "daily"])`.

In a Databricks job, add `dre-cli` to the job's environment dependencies and run `dre` (or
`python -m dre_cli`) from a script or notebook.

Documentation: [getdre.com/docs](https://getdre.com/docs/). Source and issues: [github.com/get-dre/dre](https://github.com/get-dre/dre).
