Metadata-Version: 2.4
Name: grida
Version: 0.0.1
Summary: A node-based workflow orchestration SDK for digital content creation tools.
License-Expression: MIT
Keywords: dcc,pipeline,workflow,orchestration,node-graph
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
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 :: Multimedia :: Graphics
Classifier: Typing :: Typed
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: license-file

# Grida

Grida is an early-stage, node-based workflow orchestration SDK for digital
content creation (DCC) pipelines.

Version `0.0.1` provides a small, working graph kernel for declaring dependent
operations, validating the graph, and executing nodes in deterministic
topological order. It has no runtime dependencies.

> **Early preview:** This release establishes the package name and the first
> usable API. The API may change substantially before `1.0`.

## Installation

```bash
python -m pip install grida
```

## Example

```python
from grida import Node, Workflow

workflow = Workflow("character-export")
workflow.add(Node("scene", lambda inputs: "hero.ma"))
workflow.add(
    Node(
        "export",
        lambda inputs: inputs["scene"].replace(".ma", ".fbx"),
        needs=("scene",),
    )
)

outputs = workflow.run()
assert outputs["export"] == "hero.fbx"
```

A node receives a read-only mapping containing the outputs of its direct
dependencies. In a real DCC integration, its operation can call the host API,
launch a subprocess, or invoke an adapter captured by the operation.

## Current scope

Included in `0.0.1`:

- Node and workflow declarations
- Dependency validation
- Cycle detection
- Deterministic in-process execution
- Typed exceptions for invalid graphs

Not yet included:

- Maya, Blender, Houdini, Unreal, or other host adapters
- Persistent graphs or a graph file format
- Distributed execution, caching, retries, or a scheduler
- Stability guarantees for the public API

## Development

Run the tests with the Python standard library:

```bash
python -m unittest discover -s tests -v
```

## License

MIT

