Metadata-Version: 2.5
Name: noeta-sdk
Version: 0.6.30
Summary: Noeta SDK: build AI agents that run on the server. Import noeta.sdk, define your tools and policy — durable event-sourced execution, multi-worker scheduling, provider-neutral, no vendor lock-in.
Project-URL: Homepage, https://github.com/initxy/noeta
Project-URL: Repository, https://github.com/initxy/noeta
Author: The Noeta Authors
License-Expression: Apache-2.0
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Libraries
Requires-Python: >=3.11
Requires-Dist: httpx>=0.28.1
Requires-Dist: noeta-runtime<0.7.0,>=0.6.30
Requires-Dist: psycopg[binary]>=3.2
Description-Content-Type: text/markdown

# noeta-sdk

**Agents that keep running.** A Python SDK for agents that survive crashes,
wait days for a human, and scale from one script to a cluster — without
changing the agent.

`noeta-sdk` is the package you import (`noeta.sdk`). It carries the client
API, every built-in capability (file and web tools, model adapters, memory,
MCP, sandboxes) and the official presets, over the
[noeta-runtime](https://pypi.org/project/noeta-runtime/) kernel. Part of
[Noeta](https://github.com/initxy/noeta). Apache-2.0.

## Install

```bash
pip install noeta-sdk      # noeta-runtime comes along as a dependency
```

Python 3.11+.

## Quickstart

```python
from noeta.sdk import Options, query
from noeta.sdk.providers import AnthropicProvider   # reads ANTHROPIC_API_KEY

result = query(
    Options(system_prompt="You are a concise coding assistant."),
    goal="What files are in this directory, and what does each one do?",
    provider=AnthropicProvider(),
    model="claude-sonnet-5",
)
print(result.answer())
```

`OpenAICompatProvider` and `OpenAIResponsesProvider` in the same module connect
any OpenAI-compatible gateway; the agent does not change. To run with no API
key, `noeta.sdk.testing.FakeLLMProvider` replays scripted responses offline.

## Learn more

- [Documentation](https://initxy.github.io/noeta/) — quickstart, tutorial,
  guides and the SDK reference
- [Why Noeta](https://initxy.github.io/noeta/why-noeta.html) — what sets it
  apart, and how it compares
- Runnable [`examples/`](https://github.com/initxy/noeta/tree/main/examples) —
  custom tools, an in-process MCP server, a permission gate, subagents, and
  surviving `kill -9` mid-task
