Metadata-Version: 2.4
Name: evgraph-cli
Version: 0.1.1
Summary: Command-line interface for Evgraph (evgraph scan / evgraph scan-dataset-manifest).
Author-email: Marti Soura Vamseekar <martisoura@gmail.com>
License: BSD-3-Clause
Project-URL: Homepage, https://github.com/SVamseekar/evgraph
Project-URL: Documentation, https://github.com/SVamseekar/evgraph/tree/main/docs
Project-URL: Repository, https://github.com/SVamseekar/evgraph
Project-URL: Changelog, https://github.com/SVamseekar/evgraph/blob/main/CHANGELOG.md
Project-URL: Issues, https://github.com/SVamseekar/evgraph/issues
Keywords: evidence-graph,governance,cli,audit
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: evgraph>=0.1.0
Provides-Extra: test
Requires-Dist: pytest>=7; extra == "test"

# evgraph-cli

[![PyPI](https://img.shields.io/pypi/v/evgraph-cli.svg)](https://pypi.org/project/evgraph-cli/)
[![License](https://img.shields.io/badge/License-BSD_3--Clause-blue.svg)](https://github.com/SVamseekar/evgraph/blob/main/LICENSE)
[![Python](https://img.shields.io/badge/python-3.10%2B-blue.svg)](https://www.python.org/downloads/)

**The `evgraph` command-line tool for [Evgraph](https://github.com/SVamseekar/evgraph).**

## What is it

`evgraph-cli` gives shell scripts, CI pipelines, and pre-commit hooks the
same governance scan the `evgraph` Python API exposes, without writing any
Python. It is intentionally a *thin* wrapper: this package contains no
logic of its own beyond argument parsing and output-format selection —
scanning and reporting are entirely delegated to
`evgraph.scan()` / `evgraph.scan_dataset_manifest()` / `Report`, so the CLI
and the library can never drift in behavior.

## Main features

- **`evgraph scan MODEL_CARD APPROVAL DEPLOYMENT`** — runs the Model Card
  adapter across the three linked artifacts and prints a `Report`.
- **`evgraph scan-dataset-manifest MANIFEST`** — runs the dataset-manifest
  adapter over a CSV file and prints a `Report`.
- **`--format {json,markdown,sarif,oscal}`** — selects how the report is
  rendered (default `json`); `sarif` for CI annotations, `markdown` for a
  human-readable review, `oscal` for compliance tooling.
- **Exit code `0`** on a completed scan (findings are printed, not turned
  into a pass/fail exit status — Evgraph reports what the evidence shows, it
  does not gate a pipeline on your behalf).

## Where to get it

The source is hosted on GitHub at: https://github.com/SVamseekar/evgraph

Binary installers for the latest released version are available at the
[Python Package Index (PyPI)](https://pypi.org/project/evgraph-cli/):

```bash
pip install evgraph-cli
```

From source, for contributing:

```bash
git clone https://github.com/SVamseekar/evgraph.git
cd evgraph
pip install -e reference/python/evgraph-core
pip install -e reference/python/evgraph-rules
pip install -e reference/python/evgraph
pip install -e reference/python/evgraph-cli
```

## Dependencies

- [`evgraph`](https://pypi.org/project/evgraph/) — installed automatically
  as a dependency, which in turn pulls in `evgraph-core` and
  `evgraph-rules`.

`pytest>=7` is required for the test suite
(`pip install "evgraph-cli[test]"`).

## Quickstart

```bash
evgraph scan model_card.json approval.json deployment.json --format markdown
evgraph scan-dataset-manifest dataset_manifest.csv --format json
```

In a CI pipeline, emitting SARIF lets findings show up as inline annotations
in tools that already consume that format:

```bash
evgraph scan model_card.json approval.json deployment.json --format sarif > evgraph.sarif
```

## Documentation

| For | Start here |
| --- | --- |
| The Python API this CLI wraps | [`evgraph`](https://pypi.org/project/evgraph/) package README |
| Output format details (SARIF, OSCAL) | [`docs/specs/`](https://github.com/SVamseekar/evgraph/tree/main/docs/specs) |
| Runnable examples | [`examples/`](https://github.com/SVamseekar/evgraph/tree/main/examples) |
| The full library stack | [Main project README](https://github.com/SVamseekar/evgraph) |

## Getting help

Ask questions and report bugs via
[GitHub Issues](https://github.com/SVamseekar/evgraph/issues) on the main
repository.

## Contributing

All contributions, bug reports, and feature requests are welcome on the main
repository. See
[CONTRIBUTING.md](https://github.com/SVamseekar/evgraph/blob/main/CONTRIBUTING.md)
and the
[Code of Conduct](https://github.com/SVamseekar/evgraph/blob/main/CODE_OF_CONDUCT.md).
Security reports:
[SECURITY.md](https://github.com/SVamseekar/evgraph/blob/main/SECURITY.md).

## License

[BSD 3-Clause](https://github.com/SVamseekar/evgraph/blob/main/LICENSE).
