Publish real functions
Serialize Python functions or SPL pipelines into immutable versions with inputs, outputs, dependency manifests, and YAML bundles.
splime packages trusted functions and pipelines as versioned SPL objects, syncs them through a central registry, and runs them on private machines without exposing worker agents to the internet.
Launch run
Input
{"seed": 42}
queued
assigned
running
artifacts
client.call(
"demo_pipeline",
kwargs={"seed": 42},
output="report",
target_machine="machine-y",
)
The shift
splime makes internal code discoverable and executable without forcing teams into a heavy scheduler, cloud lock-in, or another copy-paste library.
Serialize Python functions or SPL pipelines into immutable versions with inputs, outputs, dependency manifests, and YAML bundles.
Daemon agents connect outbound to the server, claim jobs, build isolated environments, and execute code on machines you control.
See machines, object versions, run status, timelines, logs, results, and artifacts in one place instead of digging through notebooks.
Use scoped tokens, delegated machine access, immutable versions, and private infrastructure as first-class product primitives.
Distributed execution
A notebook, service, or daemon agent can hand a concrete SPL object to a private worker, wait for the remote result, then keep the surrounding computation moving on the origin machine.
Architecture
The global server stores users, tokens, machines, objects, remote runs, events, and artifacts. Daemon agents stay private: they heartbeat, sync, claim jobs, and report results.
Serialize a function or pipeline into SPL/YAML.
Stores versions, builds venvs, and syncs outbound.
Coordinates registry, machines, jobs, results.
Claims the remote run and sends artifacts back.
Pilot quickstart
Connect to the hosted control plane, register a worker machine, publish one versioned object, then launch a remote run from the console.
Open console
Choose team and access policy
Issue scoped credentials
Pair daemon machine
Publish object version
Target an online machine
Developer experience
The user API stays small: authenticate, publish an object, then call it on the target worker machine.
from spl.client import SPLClient
client = SPLClient(
user_token="spl-...",
machine_token="spl-...",
machine_id="secure-worker-01",
display_name="Secure worker 01",
)
client.register_env("spl_core")
client.publish(my_pipeline, name="risk_report", env="spl_core")
result = client.call(
"risk_report",
kwargs={"customer_id": 42},
output="report",
target_machine="secure-worker-01",
)
print(result.value)
Who feels it first
Turn preprocessing, scoring, validation, reports, and model utilities into reusable execution nodes with reproducible environments.
Give developers self-service access to trusted internal Python capabilities without rebuilding orchestration for every project.
Reuse document processing, scraping, analytics, and operational scripts across clients, repos, and workers safely.
Security model
splime is designed around explicit ownership, scoped access, private worker boundaries, and auditable run history. The server orchestrates; your workers execute.
Private beta
The fastest way to understand splime is to publish a real function from an old project, run it on a different machine, and get a clean result back without copying code.