omnirun 0.2.3__tar.gz → 0.4.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (144) hide show
  1. {omnirun-0.2.3 → omnirun-0.4.0}/.envrc +1 -0
  2. omnirun-0.4.0/DESIGN.md +833 -0
  3. omnirun-0.2.3/README.md → omnirun-0.4.0/PKG-INFO +113 -36
  4. omnirun-0.2.3/PKG-INFO → omnirun-0.4.0/README.md +89 -56
  5. {omnirun-0.2.3 → omnirun-0.4.0}/TESTING.md +121 -8
  6. omnirun-0.4.0/docs/deploy-acceptance.md +120 -0
  7. omnirun-0.4.0/docs/deploy.md +111 -0
  8. omnirun-0.4.0/docs/failure-analysis/2026-07-14-session-log-triage.md +92 -0
  9. omnirun-0.4.0/docs/superpowers/plans/2026-07-11-phase1-discovery.md +1467 -0
  10. omnirun-0.4.0/docs/superpowers/plans/2026-07-11-phase2-state-layer.md +218 -0
  11. omnirun-0.4.0/docs/superpowers/plans/2026-07-11-phase3-scheduler.md +233 -0
  12. omnirun-0.4.0/docs/superpowers/plans/2026-07-12-phase4-lifecycle.md +1652 -0
  13. omnirun-0.4.0/docs/superpowers/plans/2026-07-14-budget-readd-and-live-regression.md +53 -0
  14. omnirun-0.4.0/docs/superpowers/plans/2026-07-14-lifecycle-unification.md +576 -0
  15. omnirun-0.4.0/docs/superpowers/specs/2026-07-11-omnirun-scheduler-redesign-design.md +317 -0
  16. omnirun-0.4.0/docs/superpowers/specs/2026-07-13-ssh-everywhere-notebook-transport-design.md +108 -0
  17. omnirun-0.4.0/docs/superpowers/specs/2026-07-14-omnirun-lifecycle-unification-design.md +227 -0
  18. omnirun-0.4.0/docs/superpowers/specs/diagrams/components.svg +1 -0
  19. omnirun-0.4.0/docs/superpowers/specs/diagrams/deployment.svg +1 -0
  20. omnirun-0.4.0/docs/superpowers/specs/diagrams/domain.svg +1 -0
  21. omnirun-0.4.0/docs/superpowers/specs/diagrams/redesign-components.puml +46 -0
  22. omnirun-0.4.0/docs/superpowers/specs/diagrams/redesign-deployment.puml +44 -0
  23. omnirun-0.4.0/docs/superpowers/specs/diagrams/redesign-domain.puml +88 -0
  24. omnirun-0.4.0/docs/superpowers/specs/diagrams/redesign-seams.puml +47 -0
  25. omnirun-0.4.0/docs/superpowers/specs/diagrams/redesign-seq-happy.puml +39 -0
  26. omnirun-0.4.0/docs/superpowers/specs/diagrams/redesign-seq-recovery.puml +35 -0
  27. omnirun-0.4.0/docs/superpowers/specs/diagrams/redesign-states.puml +31 -0
  28. omnirun-0.4.0/docs/superpowers/specs/diagrams/seams.svg +1 -0
  29. omnirun-0.4.0/docs/superpowers/specs/diagrams/seq_happy.svg +1 -0
  30. omnirun-0.4.0/docs/superpowers/specs/diagrams/seq_recovery.svg +1 -0
  31. omnirun-0.4.0/docs/superpowers/specs/diagrams/states.svg +1 -0
  32. {omnirun-0.2.3 → omnirun-0.4.0}/pyproject.toml +14 -3
  33. omnirun-0.4.0/scripts/my_script.py +7 -0
  34. {omnirun-0.2.3 → omnirun-0.4.0}/src/omnirun/__init__.py +1 -1
  35. {omnirun-0.2.3 → omnirun-0.4.0}/src/omnirun/backends/base.py +90 -2
  36. {omnirun-0.2.3 → omnirun-0.4.0}/src/omnirun/backends/colab.py +275 -45
  37. {omnirun-0.2.3 → omnirun-0.4.0}/src/omnirun/backends/jobdir.py +89 -29
  38. {omnirun-0.2.3 → omnirun-0.4.0}/src/omnirun/backends/kaggle.py +370 -90
  39. {omnirun-0.2.3 → omnirun-0.4.0}/src/omnirun/backends/local.py +24 -19
  40. {omnirun-0.2.3 → omnirun-0.4.0}/src/omnirun/backends/marketplace.py +34 -22
  41. {omnirun-0.2.3 → omnirun-0.4.0}/src/omnirun/backends/slurm.py +260 -13
  42. {omnirun-0.2.3 → omnirun-0.4.0}/src/omnirun/backends/ssh.py +46 -15
  43. {omnirun-0.2.3 → omnirun-0.4.0}/src/omnirun/backends/vast.py +15 -2
  44. {omnirun-0.2.3 → omnirun-0.4.0}/src/omnirun/bootstrap.py +218 -37
  45. omnirun-0.4.0/src/omnirun/budget.py +140 -0
  46. {omnirun-0.2.3 → omnirun-0.4.0}/src/omnirun/chooser.py +0 -9
  47. omnirun-0.4.0/src/omnirun/cli.py +1609 -0
  48. {omnirun-0.2.3 → omnirun-0.4.0}/src/omnirun/config.py +115 -7
  49. omnirun-0.4.0/src/omnirun/control.py +1136 -0
  50. omnirun-0.4.0/src/omnirun/daemon.py +346 -0
  51. {omnirun-0.2.3 → omnirun-0.4.0}/src/omnirun/execlayer/base.py +43 -0
  52. {omnirun-0.2.3 → omnirun-0.4.0}/src/omnirun/execlayer/local.py +7 -1
  53. {omnirun-0.2.3 → omnirun-0.4.0}/src/omnirun/execlayer/ssh.py +57 -11
  54. omnirun-0.4.0/src/omnirun/models.py +525 -0
  55. omnirun-0.4.0/src/omnirun/progress.py +51 -0
  56. omnirun-0.4.0/src/omnirun/providers/__init__.py +14 -0
  57. omnirun-0.4.0/src/omnirun/providers/adapter.py +274 -0
  58. omnirun-0.4.0/src/omnirun/providers/base.py +94 -0
  59. {omnirun-0.2.3 → omnirun-0.4.0}/src/omnirun/repo.py +39 -80
  60. omnirun-0.4.0/src/omnirun/scheduler.py +331 -0
  61. omnirun-0.4.0/src/omnirun/sshconn.py +174 -0
  62. omnirun-0.4.0/src/omnirun/state/__init__.py +26 -0
  63. omnirun-0.4.0/src/omnirun/state/schema.py +95 -0
  64. omnirun-0.4.0/src/omnirun/state/store.py +804 -0
  65. omnirun-0.4.0/src/omnirun/transport.py +280 -0
  66. omnirun-0.4.0/tests/fakes.py +317 -0
  67. omnirun-0.4.0/tests/live/__init__.py +0 -0
  68. omnirun-0.4.0/tests/live/conftest.py +203 -0
  69. omnirun-0.4.0/tests/live/test_live_colab.py +155 -0
  70. omnirun-0.4.0/tests/live/test_live_kaggle.py +64 -0
  71. omnirun-0.4.0/tests/live/test_live_slurm.py +111 -0
  72. omnirun-0.4.0/tests/test_backend_discover.py +51 -0
  73. omnirun-0.4.0/tests/test_bootstrap.py +436 -0
  74. omnirun-0.4.0/tests/test_budget.py +341 -0
  75. omnirun-0.4.0/tests/test_budget_invariants.py +291 -0
  76. {omnirun-0.2.3 → omnirun-0.4.0}/tests/test_chooser.py +0 -24
  77. omnirun-0.4.0/tests/test_cli.py +1374 -0
  78. {omnirun-0.2.3 → omnirun-0.4.0}/tests/test_colab.py +264 -11
  79. omnirun-0.4.0/tests/test_colab_status_retry.py +49 -0
  80. omnirun-0.4.0/tests/test_config.py +151 -0
  81. omnirun-0.4.0/tests/test_control_e2e.py +1116 -0
  82. omnirun-0.4.0/tests/test_core_purity.py +57 -0
  83. omnirun-0.4.0/tests/test_execlayer_ssh.py +81 -0
  84. omnirun-0.4.0/tests/test_jobdir_logs.py +76 -0
  85. {omnirun-0.2.3 → omnirun-0.4.0}/tests/test_kaggle.py +388 -34
  86. omnirun-0.4.0/tests/test_kaggle_discover.py +45 -0
  87. {omnirun-0.2.3 → omnirun-0.4.0}/tests/test_local_backend.py +34 -1
  88. {omnirun-0.2.3 → omnirun-0.4.0}/tests/test_marketplaces.py +41 -1
  89. omnirun-0.4.0/tests/test_models_facts.py +80 -0
  90. omnirun-0.4.0/tests/test_models_scheduler.py +441 -0
  91. omnirun-0.4.0/tests/test_progress.py +46 -0
  92. omnirun-0.4.0/tests/test_provider_adapter.py +628 -0
  93. omnirun-0.4.0/tests/test_queue.py +398 -0
  94. {omnirun-0.2.3 → omnirun-0.4.0}/tests/test_repo.py +24 -68
  95. omnirun-0.4.0/tests/test_scheduler.py +1134 -0
  96. omnirun-0.4.0/tests/test_scheduler_invariants.py +558 -0
  97. {omnirun-0.2.3 → omnirun-0.4.0}/tests/test_slurm.py +38 -7
  98. omnirun-0.4.0/tests/test_slurm_discover.py +393 -0
  99. omnirun-0.4.0/tests/test_soak.py +334 -0
  100. {omnirun-0.2.3 → omnirun-0.4.0}/tests/test_ssh_backend.py +49 -6
  101. omnirun-0.4.0/tests/test_ssh_everywhere_t3.py +672 -0
  102. {omnirun-0.2.3 → omnirun-0.4.0}/tests/test_ssh_exec.py +6 -2
  103. omnirun-0.4.0/tests/test_sshconn.py +197 -0
  104. omnirun-0.4.0/tests/test_state_store.py +717 -0
  105. omnirun-0.4.0/tests/test_store_postgres.py +240 -0
  106. omnirun-0.4.0/tests/test_transport.py +84 -0
  107. omnirun-0.4.0/tests/test_vast_cuda_filter.py +37 -0
  108. {omnirun-0.2.3 → omnirun-0.4.0}/uv.lock +233 -3
  109. omnirun-0.2.3/DESIGN.md +0 -454
  110. omnirun-0.2.3/src/omnirun/cli.py +0 -903
  111. omnirun-0.2.3/src/omnirun/daemon.py +0 -493
  112. omnirun-0.2.3/src/omnirun/models.py +0 -196
  113. omnirun-0.2.3/src/omnirun/queue.py +0 -106
  114. omnirun-0.2.3/src/omnirun/store.py +0 -107
  115. omnirun-0.2.3/tests/test_bootstrap.py +0 -189
  116. omnirun-0.2.3/tests/test_cli.py +0 -599
  117. omnirun-0.2.3/tests/test_config.py +0 -37
  118. omnirun-0.2.3/tests/test_queue.py +0 -326
  119. omnirun-0.2.3/tests/test_store.py +0 -85
  120. {omnirun-0.2.3 → omnirun-0.4.0}/.github/workflows/checks.yml +0 -0
  121. {omnirun-0.2.3 → omnirun-0.4.0}/.github/workflows/ci.yml +0 -0
  122. {omnirun-0.2.3 → omnirun-0.4.0}/.github/workflows/publish.yml +0 -0
  123. {omnirun-0.2.3 → omnirun-0.4.0}/.gitignore +0 -0
  124. {omnirun-0.2.3 → omnirun-0.4.0}/.python-version +0 -0
  125. {omnirun-0.2.3 → omnirun-0.4.0}/AGENTS.md +0 -0
  126. {omnirun-0.2.3 → omnirun-0.4.0}/CLAUDE.md +0 -0
  127. {omnirun-0.2.3 → omnirun-0.4.0}/flake.lock +0 -0
  128. {omnirun-0.2.3 → omnirun-0.4.0}/flake.nix +0 -0
  129. {omnirun-0.2.3 → omnirun-0.4.0}/main.py +0 -0
  130. {omnirun-0.2.3 → omnirun-0.4.0}/research/colab-kaggle.md +0 -0
  131. {omnirun-0.2.3 → omnirun-0.4.0}/research/gpu-marketplaces.md +0 -0
  132. {omnirun-0.2.3 → omnirun-0.4.0}/research/launcher-landscape.md +0 -0
  133. {omnirun-0.2.3 → omnirun-0.4.0}/research/ml-job-queues.md +0 -0
  134. {omnirun-0.2.3 → omnirun-0.4.0}/research/slurm-ssh.md +0 -0
  135. {omnirun-0.2.3 → omnirun-0.4.0}/scripts/check-version.sh +0 -0
  136. {omnirun-0.2.3 → omnirun-0.4.0}/scripts/pre-push +0 -0
  137. {omnirun-0.2.3 → omnirun-0.4.0}/src/omnirun/backends/__init__.py +0 -0
  138. {omnirun-0.2.3 → omnirun-0.4.0}/src/omnirun/backends/runpod.py +0 -0
  139. {omnirun-0.2.3 → omnirun-0.4.0}/src/omnirun/backends/tarsafe.py +0 -0
  140. {omnirun-0.2.3 → omnirun-0.4.0}/src/omnirun/backends/thunder.py +0 -0
  141. {omnirun-0.2.3 → omnirun-0.4.0}/src/omnirun/execlayer/__init__.py +0 -0
  142. {omnirun-0.2.3 → omnirun-0.4.0}/tests/__init__.py +0 -0
  143. {omnirun-0.2.3 → omnirun-0.4.0}/tests/conftest.py +0 -0
  144. {omnirun-0.2.3 → omnirun-0.4.0}/tests/test_tarsafe.py +0 -0
@@ -1,3 +1,4 @@
1
1
  if has nix; then
2
2
  use flake .
3
3
  fi
4
+ dotenv_if_exists