All three submission paths return an
execution_id plus a streaming URL. From that point on you read logs, fetch results, and abort through the same set of endpoints, see Runs.
Choosing a hardware profile
Every run targets a hardware profile (e.g.gpu.a100, gpu.h100). You can only launch on profiles your account is authorised for. Three endpoints help you check what’s available:
If a profile you need isn’t listed, contact support@lyceum.technology.
Python
Python is the most common entry point. The CLI handles packaging your script, bundling local imports, and installing pip requirements before the code runs. The.lyceum/config.json workspace file lets you persist requirements and import paths so you don’t need to repeat them on every invocation.
- CLI
- REST API
Manage the workspace config (
.lyceum/config.json) for shared dependencies and import paths:Docker image
Use Docker when your environment is already containerised, for example a CUDA image with preinstalled dependencies, or a job that doesn’t fit the Python entrypoint cleanly. The platform pulls the image, runs the command you specify, and streams stdout/stderr back. For private registries, the request supports two credential modes:- Basic auth, username and password for any registry
- AWS, access key, secret key, session token, and region for Amazon ECR
- CLI
- REST API
By default the bucket is mounted at
/mnt/s3 inside the container.Private registry credentials
Public images (for examplepython:3.11-slim from Docker Hub) need no credentials, just leave them out. A private registry requires login details so Lyceum can pull your image. Two modes are supported:
--registry-creds and --registry-type must always be passed together. A Kubernetes-style .dockerconfigjson is not supported; use the JSON shapes below.- CLI
- REST API
The
--registry-creds value is a JSON string whose keys depend on --registry-type:Docker Compose
For multi-service stacks (e.g. an app talking to a database) you can submit a wholedocker-compose.yml. The platform brings up all services on the same machine and tears them down when the entrypoint service exits.
- CLI
- REST API
Aborting
Each execution type has its own abort endpoint. Useabort to immediately kill a run; for graceful stop (notebooks, interactive sessions), use POST /workloads/stop/{execution_id} instead.
See also
Worked examples
Real CLI and curl invocations for Python and Docker runs.
Runs
Monitor, log, and abort executions after they’re submitted.

