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.2.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.2-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.2-cp312-cp312-macosx_11_0_arm64.whl (4.3 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

newt_agent_py-0.7.2-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.2-cp311-cp311-macosx_11_0_arm64.whl (4.3 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

newt_agent_py-0.7.2-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.2-cp310-cp310-macosx_11_0_arm64.whl (4.3 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

newt_agent_py-0.7.2-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.2-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.2.tar.gz.

File metadata

  • Download URL: newt_agent_py-0.7.2.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.2.tar.gz
Algorithm Hash digest
SHA256 1b1792d8f9b8b353b036ae30ada3afb8e0da84704684cd62a9d15aa0be1928cc
MD5 ce5b0b3ca8d3ab56444932e6097a1a17
BLAKE2b-256 ffc2cbbc3e5f62b955323b19d8f44399d1674e2635da1c26abd8c61becb56c92

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for newt_agent_py-0.7.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 76fa4caa613e903e118e9823aed0b9f83cfb941fbb3189100be89cbfb8cd42e3
MD5 a38532e24be146a1e3316470e7f810ec
BLAKE2b-256 b709d8073c8397f9d85676cd6ff2213912bb2bfc098f794a591b34b029a046cf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for newt_agent_py-0.7.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 47d826ed848f5346866ab33eb9f11f61cedd0610b05bbbd5f89ba9d6c9a5c3f9
MD5 2f4d0564d8e2a979506b4826b04c9b90
BLAKE2b-256 2ba55829a887eb8a6e9025fb654d66d807c38fb90fdc6696c14ea500592664cf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for newt_agent_py-0.7.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 91cecac1003009dec69f1eb4feb4f13f5f8241c0c6b7ce473f26739420214f80
MD5 2bd39717f7d84672e742617c9d44313a
BLAKE2b-256 cdf3f069c63ef548ef651f0912de3f599242f22a4775e5afed5c538e1272ad95

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for newt_agent_py-0.7.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 535d4e201c9103c875a60f4f2e2699eed602d7ff2dab15f375949febf06eee68
MD5 e2f591d48cc310ce48aafb4e7c8a0688
BLAKE2b-256 a900143626396b241d55bc3f431cf7936d451567e068b309ae8abdb05dc99538

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for newt_agent_py-0.7.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b0094a318ad88140b6bdff38903d6b4744e3b105b53278271abcfafb5341f8c1
MD5 6724e5cdb6c56b4213a6fd0e26b61465
BLAKE2b-256 5482d60e0a6fa6c841354e1719297bf96097847820de9bdf02dd0d7498911f2d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for newt_agent_py-0.7.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3ab8739c7840e9cd9703a8bf158caeeb2e76b0d5493f7132c3b1f5bb31db965e
MD5 7e1a0f3ebdffe30e6ae7d57a338c026f
BLAKE2b-256 dfacf6ad9e74cd93534d9508e96341af26e69020f96a4a5ca067d26ea34f92a9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for newt_agent_py-0.7.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f8edd7b8ec1eeb130999e99cf95f006f027d61a7bcec04b0be7e4ba265780413
MD5 06230dc7f5b4284621fb07cbc7137e36
BLAKE2b-256 8f60b7946e5d7ced2f9c7c2a1c88d3ac80b017745fd76c7713fa602a503a3bd4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for newt_agent_py-0.7.2-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 83d578b13f57e38003627dd73f7ea94ee3a700aaaf41110d0afe113a291dfd48
MD5 2eacf7b838ca601109d2394eae75a877
BLAKE2b-256 54e1de6b3325f2b562a5a61f6e441b7c5731d380d5f663bb3f5d70a1832e4d44

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