Skip to main content

nyrobrain

Nyrobrain Python libraries.

  • nyrobrain.execution — translates portfolio signals (a target weight per symbol) into orders at the exchange, on top of nautilus_trader.

What it is for

A portfolio says hold 25% of the book in BTC. Something has to turn that into orders, against whatever is already held and whatever is already working, and keep doing it as the price moves and the target changes — without ever buying past the target. That last clause is the whole library. The failure it exists to prevent is an OMS that re-sends a delta it has already sent and walks a position away from its target.

You write the driver

The library does not ship one. It ships the executor, the guards, the report and the pieces that are dangerous to get wrong; assembling them into a running system is your code, because that is where your choices live.

Start from examples/oms.py — one script, three modes, copy it and change it:

python oms.py --mode backtest --signals signals.jsonl --candles ~/candles
python oms.py --mode paper --minutes 10
python oms.py --mode live  --minutes 10 --environment demo

The executor, the guards and the report are identical in all three. That is the point: a difference in behaviour between two modes is the venue, not the harness.

Two surfaces

Decisions — nyrobrain.execution. Sizing, the delta, the guards, the placement protocol. Imports no nautilus and installs without it, so you can reason about a target without an engine in the process. A placement strategy you write never imports nautilus either.

Assembly — nyrobrain.execution.driver, .backtest, .credentials, .venue, .runner, .report. Nautilus all the way through, because building a node cannot be anything else.

Examples

Runnable, shipped in the package, and executed by the test suite so they cannot rot. Read them in order:

python -m nyrobrain.execution.examples.sizing_a_target       # weight -> target -> delta
python -m nyrobrain.execution.examples.over_delivery_guard   # the invariant, and what it refuses
python -m nyrobrain.execution.examples.your_own_placement    # a placement strategy, no venue needed

Then examples/README.md for the driver itself.

Local development

uv sync --all-extras
uv run pytest

soak is ours rather than yours — a long-run diagnostic for validating the executor over hours, not part of the driver story:

uv run python -m nyrobrain.execution.soak --hours 3 --environment demo

Design maps

Built with the wayfinder method: numbered decision tickets under a map, worked one at a time. Each records not just what was decided but what was measured to decide it.

Metadata

Release files for nyrobrain 0.11.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for nyrobrain 0.11.1
File Size Uploaded Provenance Actions
nyrobrain-0.11.1.tar.gz 549.3 kB Without provenance Details for nyrobrain-0.11.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for nyrobrain 0.11.1
File Interpreter ABI Platform Actions
nyrobrain-0.11.1-py3-none-any.whl Python 3 none any Details for nyrobrain-0.11.1-py3-none-any.whl

Total release size: 768.9 kB

Release files / nyrobrain-0.11.1.tar.gz

Download URL nyrobrain-0.11.1.tar.gz
Size 549.3 kB
Tags Source
SHA-256 checksum
How to use checksums
a57810bf2f039cc74bf62de9053ebd5bc91b0ac1bda5c34f291b628f3c91bfea
BLAKE2b-256 checksum
How to use checksums
88061225d895c55e203619d2311e31af313bd48671d250cecd27f19d10e8bc71
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Omarchy","version":"4.0.4","id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / nyrobrain-0.11.1-py3-none-any.whl

Download URL nyrobrain-0.11.1-py3-none-any.whl
Size 219.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3e61e25aa41f977fc194a46d19ff75076e768524e3834fab765a3e3b11771f84
BLAKE2b-256 checksum
How to use checksums
287fab29538ff9c9161f8e4affdd4042cf6c189aa4496de68c55183a7afbea18
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Omarchy","version":"4.0.4","id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Security for nyrobrain 0.11.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page