uro-core
The Uro Engine core library — the embeddable, headless world-state engine.
Uro is a world-state engine: the persistent, versioned, forkable canonical record of a living fictional world. A model narrates; a fenced extractor distills that narration into a queryable world model — actors, places, factions, beliefs, open threads — that stays authoritative while the story plays over it. It tracks not only what is true but who knows it, and world state is versioned and forkable: a finished campaign's ending becomes a point in history any new campaign can continue from, branch off, or explore as a what-if.
uro-core contains all engine logic and is embeddable in any consumer — the engine only ever
sees ports (hexagonal architecture), never concrete adapters.
Install
pip install "uro-core[postgres,llm]"
The base install is the pure engine (it imports only ports). The shipped adapters live behind extras:
postgres— the bundled event store + semantic memory over PostgreSQL + pgvector.llm— the bundled LLM provider adapters (OpenAI-compatible + Anthropic).all— both.
An embedder can install the base package and supply their own adapters behind the same ports.
Runtime
The bundled store requires PostgreSQL 17 + pgvector. The reference setup runs it via Docker on host port 5433; see the project repository.
Links
- Source, docs, and the reference CLI/server: https://github.com/cupskeee/uro
- License: MIT
Metadata
Release files for uro-core 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| uro_core-0.2.0.tar.gz | 207.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| uro_core-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 374.1 kB
Release files / uro_core-0.2.0.tar.gz
| Download URL | uro_core-0.2.0.tar.gz |
|---|---|
| Size | 207.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c3d6a59fcc8dc7ff57b8ef7df114dc9ea7f1d33f8cc94cacdfb5b2411c26ccf5
|
|
BLAKE2b-256 checksum How to use checksums |
7fb82902cd82ac48bdedcf20f5cfd92f5dfc9c269af3a4ce344d00f7f311a6c4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / uro_core-0.2.0-py3-none-any.whl
| Download URL | uro_core-0.2.0-py3-none-any.whl |
|---|---|
| Size | 167.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
18b84b4d3254ac3ae73ff95f98f544778ab88916008c86c5ebe95134b0272d2f
|
|
BLAKE2b-256 checksum How to use checksums |
22eab09e70e0a481537514120a63b5a82b118c8a8a5345eb7c35cd6c4f5b7499
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|