Skip to main content

nimo-controller

Installation

Installation requires uv.

git clone https://github.com/NIMS-DA/nimo-controller.git
cd nimo-controller
uv sync

Examples

Bayesian optimization

The example_mcp/ackley directory contains an example MCP server that demonstrates how to use PHYSBO with the Ackley function.

Start the MCP server:

cd example_mcp/ackley
uv run mcp_ackley.py

In a separate terminal, launch NIMO Controller:

cd nimo-controller
uv run nimo-controller

Then open http://127.0.0.1:8888/ in your browser. At this point you will see a warning indicating that no candidates file has been loaded yet.

screenshot1

Click the Upload candidates file button and upload example_mcp/ackley/candidates.csv. Once uploaded, the x1 and x2 blocks will appear in the NIMO toolbox.

screenshot2

Use the blocks to build the workflow shown below:

screenshot3

Press the Run button to execute the workflow.

screenshot4

Note that the target is the negated Ackley function, since PHYSBO performs maximization.

Phase diagram construction

The example_mcp/phase_diagram directory contains an example MCP server that demonstrates the PDC algorithm by constructing a phase diagram for the fictional material X described in the IvoryOS integration guide.

Start the MCP server:

cd example_mcp/phase_diagram
uv run mcp_phase_diagram.py

Restart NIMO Controller, then upload example_mcp/phase_diagram/candidates.csv via the Upload candidates file button.

Build the workflow shown below. After running the workflow, a phase diagram will be constructed.

screenshot5

Configuration

Configuration is loaded from the following sources, in order of precedence:

  1. The path specified by --config <path>
  2. ./config.yaml in the current directory
  3. <user-config-dir>/nimo-controller/config.yaml (for example, ~/.config/nimo-controller/config.yaml)
  4. The default configuration bundled with the package

Example config.yaml:

model: "gpt-4o-mini"
port: 8888

# Optional: route requests to an OpenAI-compatible local endpoint (e.g. Ollama).
# openai_base_url: "http://127.0.0.1:11434/v1"
# openai_api_key: "ollama"

mcp_servers:
  sdl: "http://127.0.0.1:8001/mcp"

Runtime data, including the uploaded candidates.csv and optimization results, is written to <user-data-dir>/nimo-controller/ (for example, ~/.local/share/nimo-controller/).

Metadata

Release files for nimo-controller 0.0.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 nimo-controller 0.0.1
File Size Uploaded
nimo_controller-0.0.1.tar.gz 39.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for nimo-controller 0.0.1
File Interpreter ABI Platform
nimo_controller-0.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 83.0 kB

Release files / nimo_controller-0.0.1.tar.gz

Download URL nimo_controller-0.0.1.tar.gz
Size 39.3 kB
Tags Source
SHA-256 checksum
How to use checksums
31c5c32c2277ff198e6cc033d027eabfd4cf7d190644fef6f415501b5f604940
BLAKE2b-256 checksum
How to use checksums
3c128e5ded37de46713ef3555af8f4baf85c9f5847487ca4e3159c44eaa2cb98
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.12 {"installer":{"name":"uv","version":"0.10.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / nimo_controller-0.0.1-py3-none-any.whl

Download URL nimo_controller-0.0.1-py3-none-any.whl
Size 43.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2a2cfc71b7680bba3f3cf95b6ab358a3881532222adf8b11fdc5169f320fb1ec
BLAKE2b-256 checksum
How to use checksums
9d6c0679794168a76e3ef39ed1550e399fa1239556815107d9934dd4809f5a3d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.12 {"installer":{"name":"uv","version":"0.10.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.0.1 This release

2 release files

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