Copy-paste drift
The same function is duplicated across repos and notebooks. Nobody knows which copy is current, and fixes never propagate.
splime packages a trusted Python function once - versioned and portable - so you can reuse it across projects and run it locally or on another machine, without copying code or redeploying. Publish a function, call it by name, and get the result, logs, and artifacts back.
client.call("clean_features")
Input
{"customer_id": 42}
queued
assigned
running
artifacts
result = client.call(
"risk_report",
kwargs={"seed": 42},
target_machine="gpu-box",
)
The problem
Your best Python already exists: the feature cleaner, the scoring function, the report builder, the one-off script that quietly became load-bearing. But it is trapped in a notebook or an old project, so the next team copy-pastes it, edits it, and the versions drift apart. Running it somewhere else means recreating the environment by hand.
The same function is duplicated across repos and notebooks. Nobody knows which copy is current, and fixes never propagate.
Useful code is stuck on one laptop or in one project. Reusing it elsewhere means rebuilding the environment and the imports from memory.
The function you need to run lives on your laptop, but the data or the GPU lives on a machine you would rather not expose to the internet.
When it does run, the result, logs, and output files scatter. There is no shared record of what ran, with which inputs, and what it produced.
How it works
splime turns a Python function or pipeline into a versioned, portable node you publish to a private library. Then any project can call it by name, run it where the data or the hardware lives, and read back the result and artifacts. The central server only coordinates: your private workers execute the code.
Serialize a function or pipeline into a versioned SPL object - source, inputs, outputs, and dependencies - so it is reproducible and immutable, not a fragile pickle.
Import it back by name in a notebook, script, or service. The same node is reusable across projects without re-pasting or rewriting code.
Run locally during development, or hand a concrete version to a private worker that has the data, the GPU, or the credentials. The daemon builds an isolated environment first.
Inspect run timelines, results, and artifacts from one console instead of digging through notebooks - with a shared record of every run.
Local or remote
A notebook, service, or console user hands one concrete node version to an allowed private worker, waits for the result, then keeps the surrounding work moving on the origin machine. You never have to open that worker to the public internet.
First run
Start with one trusted Python function. splime makes the path obvious: register an environment, publish the node, then call it - locally first, and on a private worker when you need a different machine.
client.register_env()
client.publish(clean_features,
name="clean_features")
result = client.call(
"clean_features",
kwargs={"customer_id": 42})
client.call("clean_features",
target_machine="gpu-box")
# inspect Runs for logs/artifacts
Developer experience
The user API stays small: register an environment, publish the function you already wrote, then call it by name. Add a target machine only when you want the run to happen somewhere else.
from spl.client import SPLClient
client = SPLClient()
# Publish a function you already trust as a versioned node
client.register_env()
client.publish(clean_features, name="clean_features")
# Reuse it from any project - run locally...
result = client.call("clean_features", kwargs={"customer_id": 42})
# ...or send the run to a private machine that has the data
result = client.call(
"clean_features",
kwargs={"customer_id": 42},
target_machine="secure-worker-01",
)
print(result.value)
Who feels it first
Turn preprocessing, scoring, validation, reports, and model utilities into reusable Functions and Pipelines with reproducible environments - shared, not copy-pasted.
Give developers self-service access to trusted libraries and launch-only machines without rebuilding orchestration for every project.
Reuse document processing, analytics, and operational scripts across clients, repos, and workers - with narrow external execution tokens when a service needs access.
Security model
splime runs code you publish on purpose, on machines you control. It is built around explicit ownership, scoped access, private worker boundaries, and an auditable run history. The server coordinates; your private workers execute the code.
Private beta
The fastest way to understand splime is to publish a real callable from an old project, run it on a different machine, and get a clean result back without copying code. splime is an early private beta - see exactly what works today on the status page.