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.
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.
Use the blocks to build the workflow shown below:
Press the Run button to execute the workflow.
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.
Configuration
Configuration is loaded from the following sources, in order of precedence:
- The path specified by
--config <path> ./config.yamlin the current directory<user-config-dir>/nimo-controller/config.yaml(for example,~/.config/nimo-controller/config.yaml)- 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)
| File | Size | Uploaded | |
|---|---|---|---|
| nimo_controller-0.0.1.tar.gz | 39.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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}
|