Skip to main content

One command plane for your machines | dispatch jobs to any host, run them under any scheduler, pull results back.

Project description

lote banner

CI Publish PyPI Python Docs Coverage

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 run and lote submit dispatch through the same scheduler, so ps, logs, and cancel work 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lote-0.0.2.tar.gz (549.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lote-0.0.2-py3-none-any.whl (73.7 kB view details)

Uploaded Python 3

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

Hashes for lote-0.0.2.tar.gz
Algorithm Hash digest
SHA256 f9753c48984e70db1b4f4398b903523d4505648fa14e66d59f5930a55273a580
MD5 e7bcf852cb62cd23419b19b8f9afcd6c
BLAKE2b-256 a531d2e620e4b75758e79a80ab393e58b720d435da76110b33bc7c0d3b3dc273

See more details on using hashes here.

Provenance

The following attestation bundles were made for lote-0.0.2.tar.gz:

Publisher: publish.yml on phvv-me/lote

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for lote-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 002c8d74d62d621de2c48f723374a6da602e3fed6d8e17c50f5a46875ca1284d
MD5 278ab5710e84261628cfba5672eeb91c
BLAKE2b-256 6b99b8f706dc1f3a3daecdf3edf352079f0e00fc33906f4335d0caec6111b4bb

See more details on using hashes here.

Provenance

The following attestation bundles were made for lote-0.0.2-py3-none-any.whl:

Publisher: publish.yml on phvv-me/lote

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page