Python Library Setup
We created an open-source client library to help you connect from python 3 projects. Like this you can easily integrate AI training flows into your applications.
_ __ _
__ _(_) ___ _ _ / _| | _____ __
/ _` | |/ __| | | | |_| |/ _ \ \ /\ / /
| (_| | | (__| |_| | _| | (_) \ V V /
\__,_|_|\___|\__,_|_| |_|\___/_\_/\_/
| |__ __ _ ___ __ _ | (_) |__ | |
| '_ \ / _` / __| / _` | | | | '_ \| |
| | | | (_| \__ \ | (_| | | | | |_) |_|
|_| |_|\__,_|___/ \__,_| |_|_|_.__/(_)
We own the python libraries aicuflow and aicu, the latter is just used as a shortcode.
Installation
This is an early beta, that was initiated in December of 2025.
Command to install it:
pip install aicuflowIn upcoming versions, you will be able to train any ai model, run any flow with it.
Code Examples
The following integration examples use the aicuflow python library to gather data, send it to the file manager of your flows and analyze the data within it.
- Basic data streaming (and audio) example - learn the fundamentals
- Importing mathematical series to a flow - get example data for pretty
- System Monitor data streaming - preview cpu and ram statistics with aicuflow
- Git repository statistics - find out who's work is correlated and who contributed when
- More code examples coming soon!
Check Quickstart to build a usecase of your own.
You can also submit an example to us, and get a link :)
Quickstart
The library adds a command called aicuflow that can be used to quickly open the webapp from your terminal.
Library features are a bit sparse as of now. The following ones work:
Authentication and subscription
Please register to connect to the client.
import aicuflow
# initialise aicuflow
ai = aicuflow.client(
email="YOUR_EMAIL",
password="YOUR_TOKEN",
# or
# token="YOUR SECRET TOKEN",
# optional props
verbose=False,
dev=False
)You can then fetch basic information about your account
# list your plan details
my_sub = ai.get_subscription()
print("I'm on the", my_sub["subscription_template"]["name"], "tier!")
# check your settings
my_settings = ai.get_settings()
print("I joined", my_settings["date_joined"])
# list your flows
my_flows = ai.list_flows()
print("I have", len(my_flows), "flows.")Flow Creation and details
Aicuflow provides workflows, that can also be modified through the python client library. In the regular app you can create a flow here and list flows here. You can
Here's how to create a new flow:
# create a flow
my_flow = ai.create_flow("a cool new flow name")
print("New flow has id", my_flow["id"])
# open it in browser
ai.open_flow(my_flow["id"])And like this you can get all stats of your flow:
# get details for my flow
flow_id = my_flow["id"]
# list files in your flow
my_data = ai.list_files(flow_id)
# list plots in your flow
my_plots = ai.list_plots(flow_id)
# list deployments in your flow
my_deployments = ai.list_deployments(flow_id)
# get nodes and edges in your flow
my_nodes = ai.list_nodes(flow_id)
my_edges = ai.list_edges(flow_id)
# list collaborators of your flow
my_collabs = ai.list_shares(flow_id)
print(
"My flow has",
f"{len(my_data['blobs'])} files",
f"{len(my_plots['plots'])} plots",
f"{len(my_deployments['deployments'])} deployments",
f"{len(my_nodes)} nodes",
f"{len(my_edges)} edges",
f"{len(my_collabs)} shares",
)Here's how to delete a flow:
# delete a flow
ai.delete_flow(my_flow["id"])File handling
Aicuflow provides a file manager for each workflow, in which your training data and results are stored. You can access and modify these files though the client library or webapp. Files can be used for ai training, plotting graphs or just to be stored.
This is how you upload:
# upload a file
new_file = ai.upload_file(flow_id, "./shapes.pdf")
print("I created a file with id", new_file["id"])You can get metadata of the file:
file_metadata = ai.get_file(new_file["id"])You can also download files again:
# download file
downloaded_filename = ai.download_file(
new_file["id"],
"test.pdf"
)Also, you can delete files:
# delete the new file again
ai.delete_file(new_file["id"]) # true, file deleted
ai.delete_file(new_file["id"]) # false, file not foundData collection / streaming
Similar to when collecting sensor data with a microcontroller (docs), you can also send time series like sensor values or performance to a file in your flow through the python client:
ai.send_timeseries_points(
flow_id=my_flow["id"],
points=[
{
"time": time.time(),
"temperature": 20.32,
"voltage": 4.98,
"device_id": "python_code_1"
},
{
"time": time.time(),
"temperature": 21.75,
"voltage": 4.96,
"device_id": "python_code_2"
}
],
file_name="sample.arrow"
)The file can then be plotted and analyzed later. All rows you send under points should be flat jsons, as they are converted to a table in the file manager.
In the above example, you end up with a table looking like the following.
It has automatically added props _timestamp (formatted date of receiving the points) and UID
which is a unique line number. These are reserved, so you shouldnt use them in the JSON points you send.
| time | temperature | voltage | device_id | UID | _timestamp |
|---|---|---|---|---|---|
| ... | ... | ... | ... | ... | ... |
| 1768813063.25 | 20.32 | 4.98 | python_code_1 | n | 2026-01-19T22:58:04.332685Z |
| 1768813063.26 | 21.75 | 4.96 | python_code_2 | n+1 | 2026-01-19T22:58:04.332685Z |
| ... | ... | ... | ... | ... | ... |
Simplified Syntax available
While we love compatibility, we also enjoy convenience and clean code.
Since 0.2.0, you can have shorter code by directly running functions on file or flow objects.
If you check the useage examples, you will find other cool convenience functions!
# shorthand syntax = operations directly one on object in list
flows = ai.list_flows()
flow = flows[0]
# shorthand syntax becomes possible here:
files = flow.files()
file = files[0]
file.download()
file.nameMore operations are not yet implemented in our python library.
It is discouraged to get more features by analyzing our services.
We'll be adding more features, and you can reach out to contribute.
CLI Commands
Open aicuflow:
aicuflowOpen docs:
aicuflow docsOpen flows:
aicuflow flowsOpen tools:
aicuflow toolsGet version:
aicuflow --versionWant to contribute?
Check the aicuflow python library for the official source:
git clone https://github.com/AICU-HEALTH/aicuflow-pythonReach out to Finn to talk, get contributions approved or merged.