Metadata-Version: 2.4
Name: skeino
Version: 0.3.0
Summary: Reusable, embeddable replacement for the langgraph dev HTTP server: threads, runs, streaming, and assistants over any LangGraph graph.
License: Apache-2.0
License-File: LICENSE
License-File: NOTICE
Keywords: langgraph,fastapi,server,agents,sse,streaming,checkpointer
Author: Ranjit Jana
Author-email: 40226912+ranjitjana027@users.noreply.github.com
Maintainer: Ranjit Jana
Maintainer-email: 40226912+ranjitjana027@users.noreply.github.com
Requires-Python: >=3.11,<4.0
Classifier: Development Status :: 4 - Beta
Classifier: Framework :: FastAPI
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
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 :: Software Development :: Libraries :: Application Frameworks
Classifier: Typing :: Typed
Requires-Dist: fastapi
Requires-Dist: langchain-core
Requires-Dist: langgraph (>=1.0.0,<2.0.0)
Requires-Dist: langgraph-checkpoint (>=2.0.0)
Requires-Dist: langgraph-checkpoint-postgres (>=2.0.0)
Requires-Dist: psycopg[binary,pool] (>=3.3.3,<4.0.0)
Requires-Dist: pydantic (>=2.0,<3.0)
Requires-Dist: pydantic-settings (>=2.0,<3.0)
Requires-Dist: python-dotenv (>=1.0.1)
Requires-Dist: uvicorn (>=0.41,<0.50)
Project-URL: Changelog, https://github.com/ranjitjana027/skeino/blob/main/CHANGELOG.md
Project-URL: Documentation, https://ranjitjana027.github.io/skeino/
Project-URL: Homepage, https://github.com/ranjitjana027/skeino
Project-URL: Issues, https://github.com/ranjitjana027/skeino/issues
Project-URL: Repository, https://github.com/ranjitjana027/skeino
Description-Content-Type: text/markdown

# skeino

[![PyPI version](https://img.shields.io/pypi/v/skeino.svg)](https://pypi.org/project/skeino/)
[![Python versions](https://img.shields.io/pypi/pyversions/skeino.svg)](https://pypi.org/project/skeino/)
[![License: Apache 2.0](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](LICENSE)
[![Docs](https://img.shields.io/badge/docs-mkdocs--material-blue.svg)](https://ranjitjana027.github.io/skeino/)

A reusable, embeddable replacement for the `langgraph dev` HTTP server.

📖 **Full documentation: <https://ranjitjana027.github.io/skeino/>**

`skeino` exposes the LangGraph Studio-compatible REST surface
(threads, runs, streaming, assistants) over any user-supplied LangGraph
graph. It is built to be:

- **Modular** — `api`, `ops`, `persistence`, `streaming`, `serialization`
  are separate concerns with explicit dependencies.
- **Pluggable** — checkpointers register themselves via a small
  decorator-based registry; Postgres and in-memory ship out of the box,
  Redis / Mongo / etc. can be added without touching `skeino` core.
- **Two entry points** — programmatic `create_app(graphs={...})` and a
  high-level `from_langgraph_json("langgraph.json")` loader.

## Install

```bash
pip install skeino
```

## Quickstart

```python
# Programmatic
from skeino import create_app, SkeinoSettings
from my_project.graph import graph

app = create_app(
    graphs={"my_agent": graph},
    settings=SkeinoSettings(postgres_uri="postgresql://..."),
)
```

```python
# langgraph.json driven
from skeino import from_langgraph_json
app = from_langgraph_json("langgraph.json")
```

Run with `uvicorn`:

```bash
uvicorn app:app --reload --port 8000
```

## Endpoints (v1)

- `GET /info`, `GET /api/health`, `GET /api/initial-message`
- `POST /assistants/search`, `GET /assistants/{id}`,
  `GET /assistants/{id}/{schemas|graph|subgraphs}`
- `POST /threads`, `GET /threads/{id}`, `POST /threads/search`,
  `GET /threads/{id}/state`, `GET|POST /threads/{id}/history`
- `POST /threads/{id}/runs`, `POST /threads/{id}/runs/stream`,
  `GET /threads/{id}/runs`, `GET /threads/{id}/runs/{run_id}`

Out of scope for v1: `/store/*`, `/runs/crons`, webhooks, auth.

## Status

Pre-release. API may change.

## Contributing

Contributions are welcome — see [CONTRIBUTING.md](CONTRIBUTING.md) for local
setup and the required checks.

## License

Licensed under the [Apache License 2.0](LICENSE).

