Metadata-Version: 2.4
Name: roborean-engine
Version: 0.1.12
Summary: Deterministic Roborean compiler, runner, and durable run service
Project-URL: Homepage, https://github.com/TNick/roborean
Project-URL: Repository, https://github.com/TNick/roborean
License-Expression: MIT
Requires-Python: >=3.11
Requires-Dist: jsonschema>=4.23
Requires-Dist: roborean-documents-base>=0.1.1
Requires-Dist: roborean-documents-docx>=0.1.1
Requires-Dist: roborean-documents-dxf>=0.1.1
Requires-Dist: roborean-documents-image>=0.1.1
Requires-Dist: roborean-documents-markdown>=0.1.1
Requires-Dist: roborean-documents-text>=0.1.1
Requires-Dist: roborean-documents-xlsx>=0.1.1
Requires-Dist: roborean-plugins-base>=0.1.1
Requires-Dist: roborean-spec>=0.1.1
Requires-Dist: roborean-storage-base>=0.1.1
Requires-Dist: roborean-storage-dict>=0.1.1
Requires-Dist: roborean-storage-sqlalchemy>=0.1.1
Provides-Extra: dev
Requires-Dist: black>=24.0; extra == 'dev'
Requires-Dist: flake8>=7.0; extra == 'dev'
Requires-Dist: isort>=5.0; extra == 'dev'
Requires-Dist: pytest>=8.0; extra == 'dev'
Description-Content-Type: text/markdown

# roborean-engine

Deterministic compiler, runner, durable run service, and document rendering
for Roborean projects.

Install from the monorepo with `make init-d`, then use the `roborean` console
script (entry point: `roborean_engine.cli:main`).

## Durable storage

| Store | CLI prefix | Typical use |
| --- | --- | --- |
| Dict (filesystem) | `dict:./path` | Local dev, single process, conformance |
| SQLAlchemy | `sql:…` | Shared durable runs across multiple API workers |

The dict adapter uses exclusive idempotency index files for concurrent
writers on the same root. Prefer `sql:` when more than one process writes
the same store.

## CLI

Validate, compile, run, and inspect projects:

```text
roborean validate conformance/projects/01_minimal.json
roborean compile conformance/projects/02_set_and_copy.json
roborean run conformance/projects/02_set_and_copy.json
roborean explain-bit conformance/projects/02_set_and_copy.json set_title
```

Durable runs with the dict store:

```text
roborean store init --store dict:./.roborean
roborean run conformance/packages/02_set_and_copy \
  --idempotency-key demo-1 \
  --store dict:./.roborean
roborean runs list --project example.set-and-copy --store dict:./.roborean
roborean runs show <runId> --store dict:./.roborean
roborean runs retry <runId> --store dict:./.roborean
```

SQL store example:

```text
roborean store init --store sql:sqlite:///./roborean.db
roborean run conformance/packages/02_set_and_copy \
  --idempotency-key demo-sql-1 \
  --store sql:sqlite:///./roborean.db
```

Document drivers (package directories):

```text
roborean drivers list
roborean render conformance/packages/<package> --out ./out
roborean preview conformance/packages/<package> --document <id> --format json
```
