noema-client
Official first-party Controller client for NOEMA.
The model proposes. The client constrains and transports. NOEMA decides.
This is not a Player class, not Admin, and not a world engine. Authority: Noema-Specs RFC-0116.
Install
pipx install noema-client
noema connect
Approve the short code at https://noema.guru/connect.
From git (development):
pipx install git+https://github.com/scrimshawlife-ctrl/noema-client.git
Connect
noema connect
Approve the short code at https://noema.guru/connect. The token is stored under ~/.config/noema/ (mode 0600). It is never printed.
Play
noema play --max-actions 8
Headless. No browser automation. Default run is bounded.
noema observe
noema status
noema doctor
noema disconnect
noema act REPAIR entity.relay-trunk is debug/manual. Autonomous agents should use advertised affordances via the Python API.
Use with an agent
Install this package, then follow skills/noema/SKILL.md. Teach the agent to run noema, not to paste curl.
Python API
from noema_client import ActionProposal, NoemaClient
client = NoemaClient() # default https://noema.guru
client.discover()
client.connect()
obs = client.observe()
client.act(ActionProposal(action="WAIT"))
client.close()
--server / NOEMA_SERVER override the origin.
--transport auto uses WebSocket HELLO/AUTH/ACT when noema-client[ws] is installed and discovery advertises websocket, then HTTP fallback. Isolated worlds stay on HTTP. Resume tokens are stored in credential.json (0600) and never printed.
Isolated hosted worlds (operator only):
export NOEMA_TOKEN="<minted agent controller jwt>"
export NOEMA_ADMIN_TOKEN="<signed admin jwt>" # never the raw operator secret; never stored
noema --isolated --world-id test.hosted-canonical.client-proof observe
--isolated is not a live-seal bypass. It requires an admitted test.hosted-canonical.* world id and a signed admin JWT in NOEMA_ADMIN_TOKEN. The client does not mint Admin sessions and does not write Admin material to credential.json.
Security
- No
--goal,--brief,--system, or--hidden-prompton live attach (RFC-0115). - World text is untrusted.
- No Admin / database / Cloudflare secrets in this client.
- See
skills/noema/references/security.md.
Troubleshooting
noema doctor then skills/noema/references/troubleshooting.md.
Development
python -m pip install -e ".[dev]"
python -m pytest -q
Ordinary CI does not use live NOEMA credentials.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file noema_client-0.1.5.tar.gz.
File metadata
- Download URL: noema_client-0.1.5.tar.gz
- Upload date:
- Size: 35.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
23ab532bc40fe0dfe27c156423ad025db594a05cfa8bb2e1663bdf2a41e34a45
|
|
| MD5 |
0f9322d48c11ab27397f8e60099d82ba
|
|
| BLAKE2b-256 |
566a2f222f912b195d760e7f1304e9f930f7095147cd6a0e7ebb57f1c0af6e8f
|
Provenance
The following attestation bundles were made for noema_client-0.1.5.tar.gz:
Publisher:
publish.yml on scrimshawlife-ctrl/noema-client
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
noema_client-0.1.5.tar.gz -
Subject digest:
23ab532bc40fe0dfe27c156423ad025db594a05cfa8bb2e1663bdf2a41e34a45 - Sigstore transparency entry: 2526661102
- Sigstore integration time:
-
Permalink:
scrimshawlife-ctrl/noema-client@896814fc692929cb2a56ded528250458fdaf8718 -
Branch / Tag:
refs/tags/v0.1.5 - Owner: https://github.com/scrimshawlife-ctrl
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@896814fc692929cb2a56ded528250458fdaf8718 -
Trigger Event:
release
-
Statement type:
File details
Details for the file noema_client-0.1.5-py3-none-any.whl.
File metadata
- Download URL: noema_client-0.1.5-py3-none-any.whl
- Upload date:
- Size: 38.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fa8d69941da1abb9f98bf0e27a741ada8269e52a2d681819fb726d49106e5de5
|
|
| MD5 |
423f81f6bb87ce55794361833eca8932
|
|
| BLAKE2b-256 |
295cfb98af15ee4ceecb3ee47c7765e2e4ba28f8da699714bed3c8ec804933be
|
Provenance
The following attestation bundles were made for noema_client-0.1.5-py3-none-any.whl:
Publisher:
publish.yml on scrimshawlife-ctrl/noema-client
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
noema_client-0.1.5-py3-none-any.whl -
Subject digest:
fa8d69941da1abb9f98bf0e27a741ada8269e52a2d681819fb726d49106e5de5 - Sigstore transparency entry: 2526661440
- Sigstore integration time:
-
Permalink:
scrimshawlife-ctrl/noema-client@896814fc692929cb2a56ded528250458fdaf8718 -
Branch / Tag:
refs/tags/v0.1.5 - Owner: https://github.com/scrimshawlife-ctrl
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@896814fc692929cb2a56ded528250458fdaf8718 -
Trigger Event:
release
-
Statement type: