# Fluksio Turn Python functions into connected nodes, run experiments, and keep their metrics and artifacts together. Start an engine with Python 3.12 or newer on Linux or macOS: ```sh pip install fluksio fluksio serve ``` The first start prints an admin password and opens a terminal dashboard. For a browser dashboard, connect the instance to the optional [portal](https://docs.fluksio.com/interface/portal/). ## For data science Save this small experiment as `study.py`. No dataset or GPU needed: ```python import math from fluksio import Flow, Port, node @node( requires=[Port("lr", "float")], provides=[Port("loss", "float", stream=True), Port("final_loss", "float")], ) def fit(lr, epochs=25): for epoch in range(epochs): loss = math.exp(-lr * (epoch + 1)) yield {"loss": loss} return {"final_loss": loss} train = Flow( "train", nodes=[fit], inputs=[Port("lr", "float", initial=0.01)], outputs=["final_loss"], ) ``` Matching message names connect the nodes and determine their order. After syncing the project, start a run: ```sh fluksio sync study fluksio run train --lr 0.05 --wait ``` Each yield records a point on the loss curve. Replace the toy calculation with your own training code when you're ready. For artifacts and comparisons, try the [data science guide](https://docs.fluksio.com/getting-started/data-science/). ## More to explore - **Flows**: typed messages between nodes, wired by name, edited on a canvas or declared in code. Every change is a commit in a git repository you own. - **Runs**: an experiment and a CI-style job are the same entity. Parameters, seed, result, per-node timings, artifacts and the commit it ran at. - **Dashboards**: charts and controls bound to the same messages the flows carry, with no separate metrics pipeline. - **Remote workers**: `pip install fluksio-worker` on the GPU box; it dials *out* over one websocket, so nothing there has to be reachable. For sensors, devices and live automation, try the [facility automation guide](https://docs.fluksio.com/getting-started/facility-automation/). ## License Copyright (C) 2026 Melvin Strobl - [GNU Affero General Public License v3.0 or later](https://www.gnu.org/licenses/agpl-3.0.en.html). Running a modified version over a network obliges you to offer its users the corresponding source (AGPL ยง13).