Metadata-Version: 2.4
Name: astra-tools
Version: 0.2.7
Summary: Python CLI and SDK for working with ASTRA (Agentic Schema for Transparent Research Analysis) specifications: validation, paper management, and evidence verification.
Project-URL: Homepage, https://astra-spec.org/
Project-URL: Repository, https://github.com/LightconeResearch/astra-tools
Project-URL: Issues, https://github.com/LightconeResearch/astra-tools/issues
Project-URL: Specification, https://github.com/LightconeResearch/astra-spec
Author-email: Francois Lanusse <francois.lanusse@cnrs.fr>, Liam Parker <lhparker@berkeley.edu>, Cail Daley <cail.daley@cea.fr>
License-Expression: BSD-3-Clause
License-File: LICENSE
Keywords: agentic,astra,linkml,multiverse-analysis,reproducibility,research,schema,scientific-computing,validation
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Typing :: Typed
Requires-Python: >=3.11
Requires-Dist: astra-spec>=0.0.7
Requires-Dist: click>=8.0
Requires-Dist: httpx>=0.27
Requires-Dist: pydantic>=2.0
Requires-Dist: pypdf>=4.0
Requires-Dist: pyyaml>=6.0
Requires-Dist: rapidfuzz>=3.0
Requires-Dist: rich>=13.0
Provides-Extra: dev
Requires-Dist: mypy; extra == 'dev'
Requires-Dist: pytest-cov; extra == 'dev'
Requires-Dist: pytest>=8.0; extra == 'dev'
Requires-Dist: ruff; extra == 'dev'
Requires-Dist: types-pyyaml; extra == 'dev'
Description-Content-Type: text/markdown

# ASTRA tools - Agentic Schema for Transparent Research Analysis

[![CI](https://github.com/LightconeResearch/ASTRA/actions/workflows/ci.yml/badge.svg)](https://github.com/LightconeResearch/ASTRA/actions/workflows/ci.yml)
[![Python 3.11+](https://img.shields.io/badge/python-3.11+-blue.svg)](https://www.python.org/downloads/)
[![License](https://img.shields.io/badge/License-BSD_3--Clause-green.svg)](https://opensource.org/licenses/BSD-3-Clause)
[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)

Python CLI and SDK for working with ASTRA analysis specifications.

> For an overview of ASTRA, the specification, concepts, and design rationale, see the main repository: **[astra-spec](https://github.com/LightconeResearch/astra-spec)**.

This repository provides the tooling layer: validation, CLI, paper management, and evidence verification.

## Install

Install the `astra` CLI globally from PyPI with [uv](https://docs.astral.sh/uv/):

```bash
uv tool install astra-tools
```

`astra` is then available on your `PATH`. For development (editable install with test/lint deps), clone the repo and run `uv sync --extra dev`, then invoke commands via `uv run` (e.g. `uv run pytest`).

## Quick Start

```bash
astra init my-analysis
cd my-analysis
astra validate astra.yaml
```

See [examples/iris/](examples/iris/) for a complete working example.

## CLI

Run `astra --help` for the full command list. Key commands:

- `astra init` – scaffold a new analysis project
- `astra validate` – validate a spec or universe (add `--verify-evidence` to check quotes)
- `astra info` / `astra viz` – inspect the analysis and decision space
- `astra universe generate|check` – manage universes
- `astra schema export|show` – work with JSON schemas
- `astra paper ...` – download, cache, and verify quotes against papers

## Links

- [astra-spec](https://github.com/LightconeResearch/astra-spec) – specification, schemas, and primary documentation

## License

BSD 3-Clause
