Metadata-Version: 2.5
Name: nustd
Version: 0.5.0
Summary: Batteries for Nu: the fabrics (mem, kv, service, llm, cc, http, proxy, mp, mp_pool, cluster, ui) and the standard library, imported as nustd.
Project-URL: Repository, https://github.com/nustackdev/nu
Author-email: Gor Arakelyan <gorarkln@gmail.com>
License-Expression: Apache-2.0
License-File: LICENSE.md
Keywords: agentic,ai-agents,database,distributed-systems,key-value-store,llm,nu,nustack,observability,python,ray,real-time,rocksdb,state-management,ui
Classifier: Development Status :: 3 - Alpha
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Python: >=3.10
Requires-Dist: nucore>=0.5.0
Provides-Extra: all
Requires-Dist: claude-agent-sdk>=0.1.0; extra == 'all'
Requires-Dist: fastapi>=0.115.0; extra == 'all'
Requires-Dist: httpx>=0.27; extra == 'all'
Requires-Dist: invisibles-py; extra == 'all'
Requires-Dist: janus>=2.0.0; extra == 'all'
Requires-Dist: msgpack>=1.1.2; extra == 'all'
Requires-Dist: nudle>=0.1.1; extra == 'all'
Requires-Dist: ray<2.50,>=2.0; (sys_platform == 'darwin' and platform_machine != 'arm64') and extra == 'all'
Requires-Dist: ray>=2.50; (sys_platform != 'darwin' or platform_machine == 'arm64') and extra == 'all'
Requires-Dist: uvicorn[standard]>=0.30.0; extra == 'all'
Requires-Dist: virtuals-py>=0.1.2; extra == 'all'
Requires-Dist: virtuals-py[all]>=0.1.8; extra == 'all'
Requires-Dist: watchfiles>=0.24.0; extra == 'all'
Provides-Extra: cc
Requires-Dist: claude-agent-sdk>=0.1.0; extra == 'cc'
Provides-Extra: cluster
Requires-Dist: ray<2.50,>=2.0; (sys_platform == 'darwin' and platform_machine != 'arm64') and extra == 'cluster'
Requires-Dist: ray>=2.50; (sys_platform != 'darwin' or platform_machine == 'arm64') and extra == 'cluster'
Provides-Extra: http
Requires-Dist: httpx>=0.27; extra == 'http'
Provides-Extra: kv
Requires-Dist: virtuals-py>=0.1.2; extra == 'kv'
Provides-Extra: llm
Requires-Dist: httpx>=0.27; extra == 'llm'
Provides-Extra: mem
Requires-Dist: janus>=2.0.0; extra == 'mem'
Provides-Extra: mp
Provides-Extra: mp-pool
Provides-Extra: proxy
Requires-Dist: invisibles-py; extra == 'proxy'
Provides-Extra: ui
Requires-Dist: fastapi>=0.115.0; extra == 'ui'
Requires-Dist: msgpack>=1.1.2; extra == 'ui'
Requires-Dist: nudle>=0.1.1; extra == 'ui'
Requires-Dist: uvicorn[standard]>=0.30.0; extra == 'ui'
Requires-Dist: watchfiles>=0.24.0; extra == 'ui'
Description-Content-Type: text/markdown

# nustd

Batteries for [Nu](https://github.com/nustackdev/nu).

`nucore` is the kernel: the language, the engine, the core atoms, flows,
spans, forms, the tree rewrites, `nu.prog`, `nu.inspect`. It has no
fabric backends in it. The `nu` command lives in `nucli`.

`nustd` is everything that talks to the outside world. One import, then
dot-access: `import nustd`, then `nustd.kv`, `nustd.ui`, `nustd.uuid`.

| Fabric          | Extra            | What it is                            |
| --------------- | ---------------- | ------------------------------------- |
| `nustd.service` | -                | Service / method dispatch             |
| `nustd.mem`     | `nustd[mem]`     | In-process refs                       |
| `nustd.kv`      | `nustd[kv]`      | Key-value storage (virtuals, RocksDB) |
| `nustd.ui`      | `nustd[ui]`      | The nudle web UI runtime              |
| `nustd.llm`     | `nustd[llm]`     | LLM calls                             |
| `nustd.cc`      | `nustd[cc]`      | Claude Agent SDK sessions             |
| `nustd.http`    | `nustd[http]`    | HTTP client atoms                     |
| `nustd.proxy`   | `nustd[proxy]`   | Remote objects over invisibles        |
| `nustd.mp`      | `nustd[mp]`      | Multiprocessing workers               |
| `nustd.cluster` | `nustd[cluster]` | Ray                                   |

The standard library sits at the same level, one module per Python stdlib
module it mirrors: `nustd.uuid`, `nustd.datetime`, `nustd.decimal`,
`nustd.math`, `nustd.pathlib`, `nustd.logging`, `nustd.fin` and the rest. No
extra needed, they are pure Nu.

## Install

```bash
pip install nustd[all]      # everything
pip install nustd[kv,ui]    # just what you need
```

`nucore` comes along as a dependency. Add `nucli` for the `nu` command:
`pip install "nustd[all]" nucli`.

Released in lockstep with `nucore` and `nucli`. Docs at
[nustack.dev](https://nustack.dev).
