Skip to main content

Python bindings for newt-agent — agentic coder runtime (newt-core, newt-tools, newt-coder, newt-eval, newt-inference, newt-acp-worker, newt-mcp-server submodules)

Project description

Newt-Agent

Newt-Agent logo

Small, fast, local-first agentic coder. vi to Hermes-Agent's emacs.

A single Rust binary with a sharp, minimal tool set. It runs against your local hardware by default — no cloud bytes leave your machine unless you deliberately install a provider plugin. Opinionated, not extensible.

Why — the bridle, not just the harness

An agent harness helps the model do work; a bridle lets the operator steer — and prove, after the fact, exactly where the horse went. Newt is an experiment in making Object Capability (OCAP) security — long considered theoretically correct but practically unimplementable — pragmatic inside an agent loop, as a reusable concept (agent-bridle) intended to be pluggable into other harnesses, not just this one.

OCAP's algebraic construction means some questions are answered structurally, not by audit-log archaeology:

  • Who acted on what, and when?
  • Who granted the authority for this to do that?
  • Did what they permitted actually happen — and did only what they permitted happen?

For anyone whose work lives on provenance, authority, integrity, and data sovereignty — lawyers, clinicians, data scientists — those answers have to be properties of the system, not promises in a policy document.

If it doesn't find its day in the sun, it was fun anyway.

Quick start

git clone https://github.com/Gilamonster-Foundation/newt-agent
cd newt-agent
just install          # release binaries → ~/bin/newt, ~/bin/newt-mcp-server
newt code             # TUI coder in the current directory

Run newt --help for every mode (worker, MCP server, doctor, config, …) — the binary is the authority on its own surface, this file is not. Python bindings live in newt-agent-py/ (pip install newt-agent-py, import path newt_agent).

Design laws

The invariants. Each links to the decision record that argues it.

  • Local-first inference. The default binary speaks only to local backends. Cloud providers are opt-in subprocess plugins speaking the JSON-RPC schema in plugins-protocol/ — the opt-in is enforced at the build level, not a runtime flag.
  • Fail-closed OCAP. Authority is a caveat lattice, not a denylist; a fixed safety floor no mode or grant can unlock. See docs/decisions/agentic_object_capability_security.md and docs/decisions/ocap_confinement_model.md.
  • Small crates, zero warnings, coverage-gated. just check mirrors CI; the pre-push hook runs it. One operator's leverage is this discipline.
  • Patch, not prose. Delegated work is verified by the harness (real diffs, real test runs — newt-eval/), never by trusting a model's summary of itself.
  • Skills are on-demand context. The prompt carries an index; bodies load when used. See docs/decisions/agent-skills.md and the bundled skills in .newt/bundled-skills/.
  • Issues are ground truth. ROADMAP.md sequences delivery, but GitHub issue state is authoritative — the document is only the map.
  • Causal ordering, not wall-clock. Timestamps are display claims; the conversation store orders on signed per-writer ticks + content hashes. See docs/decisions/conversation_context_architecture.md.

Field notes

The durable output of this experiment is what building it teaches about how LLMs behave inside a harness:

  • Summarization-induced hallucination — context compression that summarizes a session can make the model hallucinate APIs it had already read. A confident summary is worse than a labelled absence: absence routes the model to re-read; a summary suppresses recovery.
  • Truncation honesty — silent context truncation yields silently wrong answers; every fix moves the failure, it doesn't always remove it.
  • Coder-driving sweet spots — where small local models are and aren't reliable at agentic coding.
  • Hermes learnings — take the algorithms, refuse the architecture.

Where things live

What Where
Forward plan ROADMAP.md (issue numbers are the live state)
Release history CHANGELOG.md
Design docs & studies docs/design/
Decision records docs/decisions/
Evaluation harness newt-eval/README.md
Local gate just check (see justfile)

License

Apache-2.0. See LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

newt_agent_py-0.7.3.tar.gz (1.4 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

newt_agent_py-0.7.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

newt_agent_py-0.7.3-cp312-cp312-macosx_11_0_arm64.whl (4.3 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

newt_agent_py-0.7.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

newt_agent_py-0.7.3-cp311-cp311-macosx_11_0_arm64.whl (4.3 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

newt_agent_py-0.7.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

newt_agent_py-0.7.3-cp310-cp310-macosx_11_0_arm64.whl (4.3 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

newt_agent_py-0.7.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.7 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

newt_agent_py-0.7.3-cp39-cp39-macosx_11_0_arm64.whl (4.3 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

File details

Details for the file newt_agent_py-0.7.3.tar.gz.

File metadata

  • Download URL: newt_agent_py-0.7.3.tar.gz
  • Upload date:
  • Size: 1.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for newt_agent_py-0.7.3.tar.gz
Algorithm Hash digest
SHA256 58e4b30451b479860b23346f98e0703d6df5ab93d6542c7f1bf47f60e5b6fd56
MD5 ed0d7a24907adb64de2c36401dbf15c2
BLAKE2b-256 0ebfe396944021ea3ce23b09b49e7f00f44b92c651044bd0f89294fc38a05eb8

See more details on using hashes here.

File details

Details for the file newt_agent_py-0.7.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for newt_agent_py-0.7.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b3a154d5723b9b0cd08aae499c7b35d1dcd3019dfcd36140c77a8bf2de4c274a
MD5 31bf50a1ee1154e374a935d5475b04c3
BLAKE2b-256 0ae6ba8c0db9ba406b66962687b60ed6d39e5f2f232e081a8da107642084afc5

See more details on using hashes here.

File details

Details for the file newt_agent_py-0.7.3-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for newt_agent_py-0.7.3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9ea2ad726147b1877b95e7ef9b6992a564328b6cd4afa4a166e503be9f186ad6
MD5 08a5a0b1a2889e5341fd7c5467ff7847
BLAKE2b-256 3694860f23c2eb1b34791694743089728ef9b9cb6057ac33a38ebc38f112fd8a

See more details on using hashes here.

File details

Details for the file newt_agent_py-0.7.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for newt_agent_py-0.7.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ec1a3c71c8b8a37f593ff955f1dbb41d3b06c27091312f6bc937203faec00b10
MD5 82c16a520e5c44fcb5660c41ce96dfa0
BLAKE2b-256 651709c471b17e9596c502e1f9ee5cfb522e933067ace70f040325d12a81dd7d

See more details on using hashes here.

File details

Details for the file newt_agent_py-0.7.3-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for newt_agent_py-0.7.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2bcc132b324b1ba4fcb9027bc24c178f498c3723087e40256234e4882c6e635b
MD5 98ee1a87c6270dfd038918f658bf2d0d
BLAKE2b-256 7b373b51200bcdcf8d713e6b14c0ddadfa91999d2c362b44dfcb62a1621aa7f4

See more details on using hashes here.

File details

Details for the file newt_agent_py-0.7.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for newt_agent_py-0.7.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 898b3c2872dea34de83dda4d640e62ddd2694941e0828e7cf541d6b3e26ebdd6
MD5 43cf5b69e47bc7f75b449c7222299a5c
BLAKE2b-256 cdeac277f57b5c28dc682285a0619a198c6318c193c1a89e7f4291660c4eda8e

See more details on using hashes here.

File details

Details for the file newt_agent_py-0.7.3-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for newt_agent_py-0.7.3-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 69c748a7820a4cbef8e79ef5a300bc1f595c1456a6504c4b08c64ed6b2491249
MD5 bb4391cba1496997c99e5a30f3d670cf
BLAKE2b-256 57e25151e30cc5e865a7f070131ee23eb3b2d38e4f66867c967ae790a813f045

See more details on using hashes here.

File details

Details for the file newt_agent_py-0.7.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for newt_agent_py-0.7.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 71c74ee0f0a22c022b16773982d898e9fbc1de992eca540226ca59b9b93bf204
MD5 8f475b71cf384b4892a9a0393fab42ad
BLAKE2b-256 82e1b505b0f1434cd123b6ad0fec2129120aaa59552021fc08d4a4115461614f

See more details on using hashes here.

File details

Details for the file newt_agent_py-0.7.3-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for newt_agent_py-0.7.3-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5e8e67b4fddb6aa4ca32fe0e343a71a53334f659bfc7a30cf74be34741186379
MD5 3d531d420eb83189211638bb4999cd0e
BLAKE2b-256 7dc2d69061c9882c8b6310382683cb6938ba4f58fe20c33035f6e7309224bd2f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page