Metadata-Version: 2.4
Name: prizm-airflow-cli
Version: 0.1.0
Summary: Prizm Airflow metadata extraction and ingest CLI
Author-email: Prizm Team <team@prizm.com>
Maintainer-email: Prizm Team <team@prizm.com>
License-Expression: MIT
Project-URL: Homepage, https://github.com/prizm/prizm-common
Project-URL: Repository, https://github.com/prizm/prizm-common.git
Project-URL: Documentation, https://prizm-common.readthedocs.io/
Project-URL: Bug Tracker, https://github.com/prizm/prizm-common/issues
Keywords: prizm,airflow,cli,data-lineage,observability
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Python: >=3.11
Description-Content-Type: text/markdown
Requires-Dist: requests>=2.31.0
Provides-Extra: dev
Requires-Dist: pre-commit==2.0; extra == "dev"
Provides-Extra: test
Requires-Dist: pytest==8.2.2; extra == "test"
Requires-Dist: pytest-cov==2.0; extra == "test"
Requires-Dist: pytest-mock==3.0; extra == "test"

# Prizm Airflow CLI

Standalone CLI for extracting Airflow metadata and uploading it to Prizm.

The CLI does not run Airflow jobs and does not process metadata locally. It only reads Airflow REST API metadata, builds a JSON bundle, and uploads that bundle to Prizm. Prizm then stages the bundle and runs TECHNICAL followed by OPERATIONAL.

## Install From PyPI

After release:

```bash
pip install prizm-airflow-cli
```

This installs the console command:

```bash
prizm-airflow --help
```

## Install From Wheel

```bash
pip install prizm_airflow_cli-0.1.0-py3-none-any.whl
```

## Usage

```bash
prizm-airflow extract \
  --prizm-url https://<prizm-host> \
  --api-token "<prizm-api-token>" \
  --connection-name "airflow_cli" \
  --hostname http://localhost:8080 \
  --username admin \
  --password admin \
  --runs 10 \
  --tasks true \
  --extract-source-code true
```

## Build Wheel

```bash
make build
```

For offline/local environments where build dependencies are already installed:

```bash
make build-local
```

## Publish

Build both source and wheel distributions:

```bash
python -m build --sdist --wheel
```

Upload to TestPyPI first:

```bash
python -m twine upload --repository testpypi dist/*
```

Upload to PyPI:

```bash
python -m twine upload dist/*
```
