Skip to main content

Network Intent Layer (NIL) + the nilscript DSL — the neutral standard for connecting systems to agents.

Project description

nilscript

The universal standard for connecting systems to agents — a USB port for software.

nilscript is one neutral standard in two layers. The standard is plain JSON + documentation: any language can read it and implement against it. A thin, optional Python SDK ships alongside for convenience — but the standard does not depend on it.

Layer Name What it is
Operations NIL — Network Intent Layer The wire contract: how an agent proposes an action to a backend, how the backend answers, the envelope, grants, refusals, and per-domain profiles (commerce, services). The "USB protocol."
Orchestration nilscript DSL A declarative, JSON-based, LLM-native language a graph layer above NIL: an agent writes a program, a static validator admits it, a durable runtime executes it.

The two layers are specs, not software. A reference implementation (wosool-cloud) obeys both, but never defines them — conformance is defined here.

Install

pip install nilscript          # the standard only (JSON + docs) — zero heavy deps
pip install nilscript[sdk]     # standard + Python SDK (httpx, pydantic)
import nilscript
nilscript.spec_path()                                   # path to bundled NIL schemas
nilscript.load_profile("commerce.process_refund")       # a profile's JSON Schema
nilscript.dsl_schema_path()                             # path to the DSL JSON Schema

from nilscript.sdk import NilClient                      # only with [sdk]

The core install carries no runtime dependencies — it is data (pydantic[email] / uvicorn[standard] style: the heavy parts live behind an optional extra).

Layout

nilscript/
├── README.md  LICENSE  GOVERNANCE.md  VERSIONING.md  CHANGELOG.md
└── src/nilscript/
    ├── nil/        # NIL: schemas/0.1/ (+ profiles), registry/, versions/, examples/
    ├── dsl/        # nilscript DSL: schema/, conformance/, language docs
    ├── docs/       # backend conformance + cross-cutting docs
    └── sdk/        # optional Python SDK (imported only with [sdk])

Standard files live inside the package so they ship in the wheel and are reachable via importlib.resources — the same pattern as jsonschema-specifications.

Writing an SDK in another language

The standard is language-neutral JSON. A Go, TypeScript, or Rust implementer reads the schemas in src/nilscript/nil/ and src/nilscript/dsl/ straight from this repository and writes a client in their language. We do not reserve a package per language — the world writes SDKs from the same files (the OpenAPI / MCP / JSON-Schema model).

License

Dual-licensed by artifact class: CC BY 4.0 for specification text, Apache 2.0 for schemas, conformance vectors, and SDK code. See LICENSE.


Home: nilscript.org

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

nilscript-0.2.0.tar.gz (127.6 kB view details)

Uploaded Source

Built Distribution

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

nilscript-0.2.0-py3-none-any.whl (173.4 kB view details)

Uploaded Python 3

File details

Details for the file nilscript-0.2.0.tar.gz.

File metadata

  • Download URL: nilscript-0.2.0.tar.gz
  • Upload date:
  • Size: 127.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for nilscript-0.2.0.tar.gz
Algorithm Hash digest
SHA256 a35212cb1508783f3e549d6b7eb057e142add55d79c0edac1334998e7ba9e7ef
MD5 ad0922729ddc698a6e6fc9bfed6b932a
BLAKE2b-256 020afe2f94143122f18c8d6e9cf680e3c73090a0a2d0fb2d98cf38d494bd9398

See more details on using hashes here.

File details

Details for the file nilscript-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: nilscript-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 173.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for nilscript-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b9d4f0d95edcfd8caf7f2ee2f674c5b20c4170d864262d814d98e8f1e42e422d
MD5 33e867b3824aa0ea8ad771a3c4fd8824
BLAKE2b-256 8479417982f438cbf2651c09154a7cea461c790ab0d0cb72ee61339b6275e06b

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