Nuclear facility digital operations platform — extends Axiom
Project description
NeutronOS
Nuclear Energy Unified Technology for Research, Operations & Networks
A modular digital platform for nuclear facilities that unifies model management, operations tracking, signal analysis, and knowledge retrieval — replacing fragmented workflows (paper logs, spreadsheets, phone calls) with integrated digital tools.
Built on top of Axiom (domain-agnostic platform framework). NeutronOS adds nuclear-specific knowledge, agents, facility packs, and tools.
Install
Two commands take you from a clean Mac/Linux laptop to a fully working install:
conda install -c conda-forge openmc
pip install neutron-os
Verify:
neut --help # NeutronOS CLI
neut doctor # environment + dependency check
openmc --version # OpenMC CLI (traditional surface, unchanged)
python -c "import openmc" # OpenMC Python API (unchanged)
The first command installs the OpenMC physics code natively (the maintained build from conda-forge — fastest at runtime, full Python API). The second installs NeutronOS, which bundles axiom-os-lm (the Axiom platform) and axiom-ext-openmc (the Axiom adapter that wraps OpenMC). Per ADR-018 and ADR-044, each physics code is its own AEOS-conformant standalone extension; bundling them as NeutronOS deps makes pip install neutron-os the single integration step.
Two surfaces for OpenMC after install:
| Surface | Command | Notes |
|---|---|---|
| Traditional OpenMC | openmc -i geometry.xml, import openmc; openmc.run() |
Unchanged — works exactly as the OpenMC docs describe. The wrapper is non-shadowing. |
| NeutronOS-routed | neut model run pin-cell --on local:openmc --tail |
Bonus path: live convergence dashboard, signed receipts, federation routing |
If Docker is preferred over a local OpenMC install, the wrapper has a Docker runner: kernel_options={"runner": "docker"} pulls openmc/openmc:latest and dispatches into it. Skip the conda step and run with Docker only.
From source (developer install):
git clone https://rsicc-gitlab.tacc.utexas.edu/ut-computational-ne/neutron-os-core.git
cd neutron-os-core
pip install -e ".[all]"
# Or use the bootstrap script (creates venv, installs, sets up direnv)
./scripts/bootstrap.sh
See CONTRIBUTING.md for detailed setup. The first-day install walkthrough with troubleshooting lives at docs/guides/first-day-openmc-install.md.
What NeutronOS Does
Researcher / Operator
|
v
neut chat ──> Nuclear engineering assistant (MCNP, materials, models)
| + RAG grounded in NRC regs, reactor physics, facility docs
|
neut model ──> Physics model registry (24 commands)
| init, validate, add, search, generate, review, share...
|
neut facility ──> Facility packs (NETL-TRIGA, MSRE, PWR-generic)
| Materials database, configurations, procedures
|
neut signal ──> Signal pipeline (voice memos, Teams, GitLab)
| Extract insights, generate briefings, track programs
|
neut pub ──> Document lifecycle
Draft, review, generate DOCX, publish to storage
Key Capabilities
Model Corral (24 CLI commands)
Physics model registry with auto-detection, validation, material generation, and collaboration:
neut model add ./input.i # Auto-detect code type (MCNP, MPACT, etc.)
neut model validate ./input.i # Validate model file
neut model search --code mcnp # Search by code type
neut model list # Browse registered models
neut model generate --material UO2 # Generate MCNP/MPACT material cards
neut model materials # List verified materials (11 compositions)
neut model review <id> # Start collaborative review
neut model share <id> # Share via federation
All commands support --json. Full list: init, validate, add, clone, search, list, show, pull, lineage, diff, export, audit, generate, lint, sweep, materials, share, receive, review, reviews, resolve, invite, contributors, status.
Materials Database
11 verified compositions from authoritative references (PNNL-15870, GA-4314, NUREG/CR-6698):
neut model materials # List all materials
neut model generate --material UO2 # Generate MCNP cards
neut model generate --material Zircaloy-4 --format mpact # MPACT format
MaterialSource protocol with 5 sources and priority merging. Deterministic MCNP/MPACT card generation.
Facility Packs
Pre-built knowledge bundles for specific reactor types:
neut facility list # Available packs
neut facility install NETL-TRIGA # Install a facility pack
neut facility show NETL-TRIGA # Pack details
neut facility materials NETL-TRIGA # Facility-specific materials
neut facility sync # Sync with upstream
Shipped packs: NETL-TRIGA, MSRE, PWR-generic. Each includes materials, configurations, and domain knowledge.
Interactive Chat
Nuclear engineering assistant with tool calling and RAG grounding:
neut chat # Start interactive session
neut chat --resume # Continue last session
neut chat --simple # Read-only mode (no writes)
The assistant has access to the materials database, model registry, and facility knowledge. When asked about material compositions, it uses verified database values — never training data.
Signal Pipeline
Proactive program awareness — ingest signals from multiple sources:
neut signal brief # Catch up on what happened
neut signal draft # Generate weekly changelog
neut signal status # Pipeline health
neut signal watch # Watch for new signals
Sources: voice memos, Microsoft Teams, GitLab, freetext. Extracts: decisions, action items, risks, blockers, deadlines, people mentions, technical concepts.
Document Publishing
Markdown to DOCX lifecycle with review gates:
neut pub overview # Document ecosystem dashboard
neut pub publish report.md # Generate + publish
neut pub review report.md # Interactive review
neut pub status # Document status
CoreForge Bridge
Integration with CoreForge neutronics tools for MCNP model workflows.
Platform Features (via Axiom)
NeutronOS inherits all Axiom platform capabilities:
| Feature | Command | Description |
|---|---|---|
| Federation | neut federation |
Node identity, peer discovery, trust, .axiompack distribution |
| RAG | neut rag |
Three-tier knowledge corpus (community / org / personal) |
| Knowledge | neut knowledge |
Observatory — velocity, accumulation, impact metrics |
| Research | neut research |
Call to Research — distributed research coordination |
| Security | neut security |
SECUR-T — content verification, anomaly detection |
| Connections | neut connect |
Manage external service credentials |
| Diagnostics | neut doctor |
AI-powered environment health checks |
Repository Structure
Neutron_OS/
├── src/neutron_os/ # Python package root
│ ├── neut_cli.py # CLI entry point
│ ├── infra/ # Shared infra (gateway, orchestrator, auth)
│ └── extensions/builtins/ # Builtin extensions
│ ├── model_corral/ # Model Corral (24 commands)
│ ├── eve_agent/ # Signal agent (EVE)
│ ├── neut_agent/ # Chat assistant (Neut)
│ ├── prt_agent/ # Publisher agent (PR-T)
│ ├── mo_agent/ # Resource steward (M-O)
│ ├── dfib_agent/ # Diagnostics (DFIB)
│ └── demo/ # Guided walkthroughs
├── runtime/ # Instance data (config, inbox, sessions)
├── tests/ # Cross-cutting tests
├── docs/ # PRDs, tech specs, ADRs
├── infra/ # Deployment configs (K3D, Docker)
├── scripts/ # Bootstrap and install scripts
└── pyproject.toml # Package definition
Development
# Run all tests (445+)
make test
# Run specific suites
pytest tests/ -v # Cross-cutting
pytest src/neutron_os/extensions/builtins/model_corral/tests/ -v # Model Corral
pytest -m "not integration" # Unit only (runs as pre-push hook)
# Lint (must pass before push)
ruff check src/ tests/
ruff format src/ tests/
# Build
make build
Tech Stack
| Layer | Technology |
|---|---|
| CLI & Agents | Python (argparse, rich, prompt-toolkit) |
| LLM Gateway | Model-agnostic (Anthropic, OpenAI, Qwen, any OpenAI-compatible) |
| Database | PostgreSQL + pgvector |
| RAG | pgvector embeddings, hybrid vector+full-text search |
| Infrastructure | K3D (local), Docker Compose (fallback) |
| CI/CD | GitLab CI |
| Packaging | Hatchling (pip install neutron-os) |
| Platform | Axiom (axiom-os-lm) |
Design Principles
- Reactor-agnostic core with facility-specific configuration via packs
- Offline-first — queue locally, sync on restore
- Human-in-the-loop for all writes in safety-adjacent contexts
- No vendor lock-in — model-agnostic, cloud-agnostic, IDE-agnostic
- Provider pattern — swap implementations via config, not code changes
- Federation-native — every node is sovereign; invite = join as peer, not shared DB user
Releases
| Version | Date | Highlights |
|---|---|---|
| v0.9.1 | 2026-04-02 | Release 1 (Nick + Cole): Model Corral, facility packs, CoreForge bridge, PyPI publish |
| v0.8.x | 2026-03 | Materials database, M-O steward, CI alignment |
| v0.7.x | 2026-03 | Signal pipeline, document publisher, Rascal deployment |
Current release: neutron-os v0.9.1 on PyPI
Contributing
See CONTRIBUTING.md for development workflow, git practices, and conventions.
License
MIT
Acknowledgments
Developed at The University of Texas at Austin, Department of Mechanical Engineering — Nuclear & Radiation Engineering Program.
Project details
Release history Release notifications | RSS feed
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 neutron_os-1.0.0.tar.gz.
File metadata
- Download URL: neutron_os-1.0.0.tar.gz
- Upload date:
- Size: 46.5 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f3d5f05ba3647a9d1fd2543eb8df4b99a1107a2516c2bb869d3f2c41711eb872
|
|
| MD5 |
ec2fe10f94e4c04d216a2236df5ce2d7
|
|
| BLAKE2b-256 |
a51794b3ea225cb1cbe5665d694d29f0519b9f9e5fa419bba6069c2e0010d359
|
Provenance
The following attestation bundles were made for neutron_os-1.0.0.tar.gz:
Publisher:
ci.yml on UT-Computational-NE/neutron-os-core
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
neutron_os-1.0.0.tar.gz -
Subject digest:
f3d5f05ba3647a9d1fd2543eb8df4b99a1107a2516c2bb869d3f2c41711eb872 - Sigstore transparency entry: 1592598077
- Sigstore integration time:
-
Permalink:
UT-Computational-NE/neutron-os-core@6b0a4f5fb5be43d6214db219698771a7cc5a3e09 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/UT-Computational-NE
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci.yml@6b0a4f5fb5be43d6214db219698771a7cc5a3e09 -
Trigger Event:
push
-
Statement type:
File details
Details for the file neutron_os-1.0.0-py3-none-any.whl.
File metadata
- Download URL: neutron_os-1.0.0-py3-none-any.whl
- Upload date:
- Size: 197.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dc87cfd6799fe658bdbb8a68d31d0fd79703671b9f32ba9c53a938f79042d15e
|
|
| MD5 |
9e552c6bc7ce83467bd0637d709e0838
|
|
| BLAKE2b-256 |
1a4679dcea65ddfb40bd1038c46505f9e78e6226256dbfe8b48cd59385ac85f8
|
Provenance
The following attestation bundles were made for neutron_os-1.0.0-py3-none-any.whl:
Publisher:
ci.yml on UT-Computational-NE/neutron-os-core
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
neutron_os-1.0.0-py3-none-any.whl -
Subject digest:
dc87cfd6799fe658bdbb8a68d31d0fd79703671b9f32ba9c53a938f79042d15e - Sigstore transparency entry: 1592598104
- Sigstore integration time:
-
Permalink:
UT-Computational-NE/neutron-os-core@6b0a4f5fb5be43d6214db219698771a7cc5a3e09 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/UT-Computational-NE
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci.yml@6b0a4f5fb5be43d6214db219698771a7cc5a3e09 -
Trigger Event:
push
-
Statement type: