Metadata-Version: 2.4
Name: coactra
Version: 0.1.0
Summary: Composable libraries for AI agent fleets — model calls, memory, workspace, jobs, directory, and agent composition in one package.
Project-URL: Homepage, https://github.com/DataOpsFusion/coactra
Project-URL: Repository, https://github.com/DataOpsFusion/coactra
Project-URL: Issues, https://github.com/DataOpsFusion/coactra/issues
Author: coactra authors
License: MIT
License-File: LICENSE
Keywords: agent-framework,agents,llm,multi-agent,orchestration
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.12
Requires-Dist: pydantic>=2.7
Provides-Extra: a2a
Requires-Dist: a2a-sdk<2.0,>=1.0; extra == 'a2a'
Provides-Extra: agent
Requires-Dist: pydantic-ai-slim>=1.0; extra == 'agent'
Provides-Extra: ai
Requires-Dist: instructor>=1.0; extra == 'ai'
Requires-Dist: litellm>=1.40; extra == 'ai'
Requires-Dist: numpy>=1.26; extra == 'ai'
Provides-Extra: all
Requires-Dist: instructor>=1.0; extra == 'all'
Requires-Dist: litellm>=1.40; extra == 'all'
Requires-Dist: numpy>=1.26; extra == 'all'
Requires-Dist: pydantic-ai-slim>=1.0; extra == 'all'
Requires-Dist: sqlmodel>=0.0.21; extra == 'all'
Provides-Extra: chroma
Requires-Dist: chromadb>=0.5; extra == 'chroma'
Provides-Extra: cloudevents
Requires-Dist: cloudevents<2,>=1; extra == 'cloudevents'
Provides-Extra: dapr
Requires-Dist: dapr-ext-workflow; extra == 'dapr'
Provides-Extra: dbos
Requires-Dist: dbos<3,>=2; extra == 'dbos'
Provides-Extra: dev
Requires-Dist: pytest-asyncio>=0.23; extra == 'dev'
Requires-Dist: pytest>=8; extra == 'dev'
Provides-Extra: fsspec
Requires-Dist: fsspec; extra == 'fsspec'
Provides-Extra: graphiti
Requires-Dist: graphiti-core>=0.3; extra == 'graphiti'
Provides-Extra: graphiti-ai
Requires-Dist: graphiti-core>=0.3; extra == 'graphiti-ai'
Requires-Dist: instructor>=1.0; extra == 'graphiti-ai'
Requires-Dist: litellm>=1.40; extra == 'graphiti-ai'
Requires-Dist: numpy>=1.26; extra == 'graphiti-ai'
Provides-Extra: integrations
Requires-Dist: a2a-sdk<2,>=1; extra == 'integrations'
Requires-Dist: cel-python<0.6,>=0.5; extra == 'integrations'
Requires-Dist: cloudevents<2,>=1; extra == 'integrations'
Requires-Dist: dapr-ext-workflow; extra == 'integrations'
Requires-Dist: dbos<3,>=2; extra == 'integrations'
Requires-Dist: fsspec; extra == 'integrations'
Requires-Dist: instructor>=1.0; extra == 'integrations'
Requires-Dist: jinja2>=3.1; extra == 'integrations'
Requires-Dist: langgraph-checkpoint>=2.0; extra == 'integrations'
Requires-Dist: langgraph>=1.0; extra == 'integrations'
Requires-Dist: litellm>=1.40; extra == 'integrations'
Requires-Dist: numpy>=1.26; extra == 'integrations'
Requires-Dist: opentelemetry-api<2,>=1; extra == 'integrations'
Requires-Dist: prefect>=3; extra == 'integrations'
Requires-Dist: pyyaml>=6.0; extra == 'integrations'
Requires-Dist: sqlalchemy>=2.0; extra == 'integrations'
Requires-Dist: sqlmodel>=0.0.21; extra == 'integrations'
Requires-Dist: structlog>=24.0; extra == 'integrations'
Requires-Dist: temporalio<2,>=1; extra == 'integrations'
Requires-Dist: tiktoken>=0.7; extra == 'integrations'
Provides-Extra: langgraph
Requires-Dist: cel-python<0.6,>=0.5; extra == 'langgraph'
Requires-Dist: jinja2>=3.1; extra == 'langgraph'
Requires-Dist: langgraph-checkpoint>=2.0; extra == 'langgraph'
Requires-Dist: langgraph>=1.0; extra == 'langgraph'
Provides-Extra: mem0
Requires-Dist: mem0ai>=0.1; extra == 'mem0'
Provides-Extra: memory
Provides-Extra: oauth
Requires-Dist: authlib>=1.3; extra == 'oauth'
Requires-Dist: httpx>=0.27; extra == 'oauth'
Provides-Extra: office
Requires-Dist: pyyaml>=6.0; extra == 'office'
Requires-Dist: tiktoken>=0.7; extra == 'office'
Provides-Extra: openfga
Requires-Dist: openfga-sdk<1,>=0.9; extra == 'openfga'
Provides-Extra: orchestration
Provides-Extra: organization
Requires-Dist: sqlmodel>=0.0.21; extra == 'organization'
Provides-Extra: otel
Requires-Dist: opentelemetry-api<2,>=1; extra == 'otel'
Provides-Extra: postgres
Requires-Dist: psycopg[binary]>=3; extra == 'postgres'
Provides-Extra: prefect
Requires-Dist: prefect>=3; extra == 'prefect'
Provides-Extra: sql
Requires-Dist: sqlalchemy>=2.0; extra == 'sql'
Provides-Extra: temporal
Requires-Dist: temporalio<2,>=1; extra == 'temporal'
Provides-Extra: tiktoken
Requires-Dist: tiktoken>=0.7; extra == 'tiktoken'
Provides-Extra: work
Provides-Extra: workflow
Provides-Extra: workspace
Description-Content-Type: text/markdown

# coactra

Convenience installer and dependency-light shell for the modular Coactra libraries. It contains shared scope, error, plugin, and Kernel/Session DTOs, but no backend business logic.

Install only the capability you need:

```bash
pip install coactra[memory]
pip install coactra[workspace]
pip install coactra[orchestration]
pip install coactra[agent]
pip install coactra[all]
```

Each capability remains independently installable, such as `pip install coactra-memory`.


## Dependency-Light Shell

```python
from coactra.kernel import Kernel, Task
from coactra.scope import CoactraScope


def handler(context, task):
    return {"tenant": context.scope.tenant_id, "input": dict(task.input)}


session = (
    Kernel.builder()
    .with_handler("echo", handler)
    .build()
    .session(CoactraScope(tenant_id="acme", namespace="support"))
)
result = await session.run(Task("echo", {"x": 1}))
```
