Automation Runtime for Intelligent Actions
Project description
ARIA
Automation Runtime for Intelligent Actions.
Build AI-powered workflows with ARIA.
Your workflows are source-controlled, CI-friendly, and live in YAML files. Define them, run them locally, and inspect every result from saved run artifacts.
Why ARIA?
- Source-controlled workflows: prompts, steps, inputs, and providers live in YAML.
- Full step transparency: see every intermediate result, not just the final answer.
- Extensible runtime: add your own extension when a built-in step is not enough.
- Provider flexibility: OpenAI and local Ollama today, with more providers to come.
- Small runtime: no hosted service, web UI, marketplace, or agent framework.
Install
With the install script:
curl -fsSL https://raw.githubusercontent.com/thrapai/aria/master/install.sh | bash
With optional docling support:
curl -fsSL https://raw.githubusercontent.com/thrapai/aria/master/install.sh | ARIA_PACKAGE='thrapai-aria[docling]' bash
With pipx:
pipx install thrapai-aria
For docling support:
pipx install "thrapai-aria[docling]"
Quickstart
Create a workflow:
aria init
Run it:
ollama pull gemma3:4b
aria run workflow.yml --input path=notes.txt
ARIA prints final outputs as JSON and writes run artifacts under .aria/runs/<timestamp>/.
Check the installed version:
aria version
See upgrade commands:
aria update --method pipx
Workflow
version: "1"
name: summarize_file
providers:
ollama:
type: ollama
base_url: http://localhost:11434
inputs:
path:
type: file
required: true
steps:
- id: read
uses: file.read
with:
path: "{{ inputs.path }}"
- id: summarize
uses: ai.generate
with:
model: ollama:gemma3:4b
prompt: |
Summarize this file in five concise bullet points:
{{ steps.read.output.content }}
- id: save
uses: file.write
with:
path: summary.txt
content: "{{ steps.summarize.output.text }}"
outputs:
summary: "{{ steps.summarize.output.text }}"
summary_file: "{{ steps.save.output.path }}"
Templates can read workflow inputs and previous step outputs:
{{ inputs.path }}
{{ steps.read.output.content }}
Built-In Extensions
ai.generatefile.readfile.writeutils.json.parseutils.text.chunkdocling.convert- optional
Extension examples live in docs/extensions/.
Providers
ARIA currently supports openai and ollama provider types. A provider entry is an
alias that can be used in ai.generate model strings as provider:model.
OpenAI
export OPENAI_API_KEY="..."
providers:
openai:
type: openai
api_key_env: OPENAI_API_KEY
# Optional:
# api_key_file: .openai-key
# base_url: https://api.openai.com/v1
If no providers.openai entry is configured, openai:<model> still works and
reads OPENAI_API_KEY from the environment.
Ollama
ollama pull gemma3:4b
providers:
ollama:
type: ollama
base_url: http://localhost:11434
If no providers.ollama entry is configured, ollama:<model> still works and
uses http://localhost:11434.
Provider names may be custom aliases when the entry declares a supported type:
providers:
local:
type: ollama
base_url: http://localhost:11434
steps:
- id: summarize
uses: ai.generate
with:
model: local:gemma3:4b
prompt: "Summarize: {{ inputs.text }}"
Use providers as provider:model, for example openai:gpt-4.1-mini,
ollama:gemma3:4b, or local:gemma3:4b.
Development
uv sync --extra dev
uv run --extra dev python -m pytest
uv run --extra dev ruff check
uv run --extra dev ruff format --check
See CONTRIBUTING.md for contribution and release notes.
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file thrapai_aria-0.1.1.tar.gz.
File metadata
- Download URL: thrapai_aria-0.1.1.tar.gz
- Upload date:
- Size: 1.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3515362da53f2672b1f2d01903b4b082c34cc47b7bca33cb2a75d2e863a39d53
|
|
| MD5 |
351b181d87eb92cd4c5ab4d52f627795
|
|
| BLAKE2b-256 |
83009339bbd7a437129ade3f2f009cf78cd65aa47a32194fb7ed3fc47d92ec48
|
Provenance
The following attestation bundles were made for thrapai_aria-0.1.1.tar.gz:
Publisher:
publish.yml on thrapai/aria
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
thrapai_aria-0.1.1.tar.gz -
Subject digest:
3515362da53f2672b1f2d01903b4b082c34cc47b7bca33cb2a75d2e863a39d53 - Sigstore transparency entry: 2154271461
- Sigstore integration time:
-
Permalink:
thrapai/aria@962fa193707b284f9fa9d37b9138a24c2ec04044 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/thrapai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@962fa193707b284f9fa9d37b9138a24c2ec04044 -
Trigger Event:
push
-
Statement type:
File details
Details for the file thrapai_aria-0.1.1-py3-none-any.whl.
File metadata
- Download URL: thrapai_aria-0.1.1-py3-none-any.whl
- Upload date:
- Size: 17.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
78ad5e546dc2203515a9b12cde3cd4b8c215aa53918e4657b1318e3ed7c7249d
|
|
| MD5 |
0117ed6e3eabc9d0f62be80f96c1f0ed
|
|
| BLAKE2b-256 |
37b4268de757a7ddc520a12c7835ba7aba05d923a067f171a2b5431cef243fc3
|
Provenance
The following attestation bundles were made for thrapai_aria-0.1.1-py3-none-any.whl:
Publisher:
publish.yml on thrapai/aria
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
thrapai_aria-0.1.1-py3-none-any.whl -
Subject digest:
78ad5e546dc2203515a9b12cde3cd4b8c215aa53918e4657b1318e3ed7c7249d - Sigstore transparency entry: 2154271466
- Sigstore integration time:
-
Permalink:
thrapai/aria@962fa193707b284f9fa9d37b9138a24c2ec04044 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/thrapai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@962fa193707b284f9fa9d37b9138a24c2ec04044 -
Trigger Event:
push
-
Statement type: