silver-doodle
Lightning training runs with LightningCLI, run locally or on Kubeflow Trainer, with the config and metrics logged to MLflow.
Setup
uv sync --extra train # train locally, and resolve configs locally before submitting
uv sync # or: only submit to Kubeflow
cp .env.example .env # set MLFLOW_TRACKING_URI and credentials
Run locally
uv run silver-doodle fit --config configs/example.yaml
uv run silver-doodle fit --config configs/example.yaml --trainer.max_epochs 2 # override anything
uv run silver-doodle fit --config configs/example.yaml --print_config # show the full config
Run on Kubeflow
silver-doodle-submit takes the same arguments as silver-doodle:
uv run silver-doodle-submit --dry-run fit --config configs/example.yaml # prepare only
uv run silver-doodle-submit fit --config configs/example.yaml --trainer.enable_progress_bar false
uv run silver-doodle-submit fit --config configs/example.yaml \
--trainer.accelerator gpu --trainer.devices 2 --trainer.num_nodes 2
- With the
trainextra, the full config is resolved locally with--print_config, so mistakes fail before submitting. Without it, the config files and overrides are sent as they are and resolved in the pod, and the pod size is read from thetrainersettings in them. - The local code, uncommitted changes included, is built into a wheel with
uv build. - The pod installs the
traindependencies and the wheel, then runssilver-doodlewith the shipped config files.
Pod resources come from the config: trainer.num_nodes nodes, each with trainer.devices GPUs
when trainer.accelerator is gpu/cuda. The MLflow env vars are forwarded to the pod.
Logs, the resolved config and the wheel are saved in logs/<timestamp>/.
MLFLOW_TRACKING_URI must point to a tracking server, not sqlite:///...: the URI ends up in the
resolved config (it is MLFlowLogger's default), and a local database in the pod is lost with it.
Development
uv run pytest
uv run ruff check .
uv run ruff format --check .
uv run ty check .
Metadata
Release files for silver-doodle 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| silver_doodle-0.1.2.tar.gz | 8.9 kB | Without provenance | Details for silver_doodle-0.1.2.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| silver_doodle-0.1.2-py3-none-any.whl | Python 3 | none | any | Details for silver_doodle-0.1.2-py3-none-any.whl |
Total release size: 20.3 kB
Release files / silver_doodle-0.1.2.tar.gz
| Download URL | silver_doodle-0.1.2.tar.gz |
|---|---|
| Size | 8.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
984b6c61359bf4e84d5e27dedc7af7a7026bd9a86b9de613cbf97dd81f15f4d7
|
|
BLAKE2b-256 checksum How to use checksums |
478e2476465b875c801636bbdc445c0170118fcd4b1781bb064807e12d0f3ef3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / silver_doodle-0.1.2-py3-none-any.whl
| Download URL | silver_doodle-0.1.2-py3-none-any.whl |
|---|---|
| Size | 11.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8fbe038d47b5e20ef970425cd2b0c7f1e8636427d7070ab2257f9ad51288cad4
|
|
BLAKE2b-256 checksum How to use checksums |
f8d0a5f5c0c54bdfce3934926a0d201bc6cfffc38c97e6415a4234b70c342d8e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Security for silver-doodle 0.1.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.