One command plane for your machines | dispatch jobs to any host, run them under any scheduler, pull results back.
Project description
Warning lote is early (
0.0.x). The config and commands may still change.
Installation
pip install lote # the lote command, ready to use
chefe add lote --pypi # or pull it into a chefe project
The command is lote. It drives each host through chefe, which lote setup installs for you and which brings up pixi on first run.
What it is
You have a laptop and a handful of machines, each one running a different scheduler and expecting a different incantation. lote is one bridge over all of them. You pick a host, lote rsyncs your repo there, runs your job under whatever scheduler that host has (pueue, slurm, pbs, or bare bash), and pulls the results back. One job script runs anywhere, no code changes.
It works in three layers. The control plane lote onboards hosts, dispatches jobs, and tracks them across your machines. The on-host executor lote exec runs, submits, and monitors a single job on one machine. Underneath are typed clients over qsub, sbatch, pueue, and rsync. Targets come from your ~/.ssh/config aliases, so there is nothing new to declare.
Usage
lote setup dgx # onboard: probe, sync, install the env, start the queue
lote run dgx "python train.py" # queue the command, stream its output, exit with its code
lote run dgx "python train.py" --detach # same, but return a handle and survive disconnect
lote submit dgx train.sh # ship the repo, launch the job, get a handle back
lote submit auto train.sh --needs 40 # or route to the smallest host that fits
lote ps dgx # one host's live jobs (any scheduler), uniformly
lote logs dgx <handle> # the captured output of any run, even after it ends
lote cancel dgx <handle> # stop a job on any backend (kill is an alias)
lote ps # recent runs across every target
lote pull <handle> # rsync the run's results back home
Tip
lote runandlote submitdispatch through the same scheduler, sops,logs, andcancelwork the same way on a laptop, a bare ssh host, or a PBS/SLURM cluster.lote reconcile <target>shows each run's live state, exit code, and a verdict (ok, failed, running, vanished). The docs cover the full command set.
Lore
A lote is a load shipped as one consignment. lote ships your work the same way: pick a machine, send the job, bring the results home.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file lote-0.0.2.tar.gz.
File metadata
- Download URL: lote-0.0.2.tar.gz
- Upload date:
- Size: 549.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f9753c48984e70db1b4f4398b903523d4505648fa14e66d59f5930a55273a580
|
|
| MD5 |
e7bcf852cb62cd23419b19b8f9afcd6c
|
|
| BLAKE2b-256 |
a531d2e620e4b75758e79a80ab393e58b720d435da76110b33bc7c0d3b3dc273
|
Provenance
The following attestation bundles were made for lote-0.0.2.tar.gz:
Publisher:
publish.yml on phvv-me/lote
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
lote-0.0.2.tar.gz -
Subject digest:
f9753c48984e70db1b4f4398b903523d4505648fa14e66d59f5930a55273a580 - Sigstore transparency entry: 1776016463
- Sigstore integration time:
-
Permalink:
phvv-me/lote@d8af526540a2d7008c51e9844681f3f73888b928 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/phvv-me
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@d8af526540a2d7008c51e9844681f3f73888b928 -
Trigger Event:
push
-
Statement type:
File details
Details for the file lote-0.0.2-py3-none-any.whl.
File metadata
- Download URL: lote-0.0.2-py3-none-any.whl
- Upload date:
- Size: 73.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
002c8d74d62d621de2c48f723374a6da602e3fed6d8e17c50f5a46875ca1284d
|
|
| MD5 |
278ab5710e84261628cfba5672eeb91c
|
|
| BLAKE2b-256 |
6b99b8f706dc1f3a3daecdf3edf352079f0e00fc33906f4335d0caec6111b4bb
|
Provenance
The following attestation bundles were made for lote-0.0.2-py3-none-any.whl:
Publisher:
publish.yml on phvv-me/lote
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
lote-0.0.2-py3-none-any.whl -
Subject digest:
002c8d74d62d621de2c48f723374a6da602e3fed6d8e17c50f5a46875ca1284d - Sigstore transparency entry: 1776016617
- Sigstore integration time:
-
Permalink:
phvv-me/lote@d8af526540a2d7008c51e9844681f3f73888b928 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/phvv-me
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@d8af526540a2d7008c51e9844681f3f73888b928 -
Trigger Event:
push
-
Statement type: