py-cluster-api 0.3.0__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 (30) hide show
  1. {py_cluster_api-0.3.0 → py_cluster_api-0.4.0}/.github/workflows/ci.yml +2 -2
  2. {py_cluster_api-0.3.0 → py_cluster_api-0.4.0}/PKG-INFO +1 -1
  3. {py_cluster_api-0.3.0 → py_cluster_api-0.4.0}/cluster_api/config.py +1 -0
  4. {py_cluster_api-0.3.0 → py_cluster_api-0.4.0}/cluster_api/executors/lsf.py +8 -3
  5. {py_cluster_api-0.3.0 → py_cluster_api-0.4.0}/pixi.lock +6 -3
  6. {py_cluster_api-0.3.0 → py_cluster_api-0.4.0}/pyproject.toml +2 -2
  7. {py_cluster_api-0.3.0 → py_cluster_api-0.4.0}/.gitignore +0 -0
  8. {py_cluster_api-0.3.0 → py_cluster_api-0.4.0}/CLAUDE.md +0 -0
  9. {py_cluster_api-0.3.0 → py_cluster_api-0.4.0}/LICENSE +0 -0
  10. {py_cluster_api-0.3.0 → py_cluster_api-0.4.0}/README.md +0 -0
  11. {py_cluster_api-0.3.0 → py_cluster_api-0.4.0}/cluster_api/__init__.py +0 -0
  12. {py_cluster_api-0.3.0 → py_cluster_api-0.4.0}/cluster_api/_types.py +0 -0
  13. {py_cluster_api-0.3.0 → py_cluster_api-0.4.0}/cluster_api/core.py +0 -0
  14. {py_cluster_api-0.3.0 → py_cluster_api-0.4.0}/cluster_api/exceptions.py +0 -0
  15. {py_cluster_api-0.3.0 → py_cluster_api-0.4.0}/cluster_api/executors/__init__.py +0 -0
  16. {py_cluster_api-0.3.0 → py_cluster_api-0.4.0}/cluster_api/executors/local.py +0 -0
  17. {py_cluster_api-0.3.0 → py_cluster_api-0.4.0}/cluster_api/monitor.py +0 -0
  18. {py_cluster_api-0.3.0 → py_cluster_api-0.4.0}/cluster_api/script.py +0 -0
  19. {py_cluster_api-0.3.0 → py_cluster_api-0.4.0}/docs/API.md +0 -0
  20. {py_cluster_api-0.3.0 → py_cluster_api-0.4.0}/docs/Development.md +0 -0
  21. {py_cluster_api-0.3.0 → py_cluster_api-0.4.0}/tests/__init__.py +0 -0
  22. {py_cluster_api-0.3.0 → py_cluster_api-0.4.0}/tests/cluster_config.example.yaml +0 -0
  23. {py_cluster_api-0.3.0 → py_cluster_api-0.4.0}/tests/conftest.py +0 -0
  24. {py_cluster_api-0.3.0 → py_cluster_api-0.4.0}/tests/test_config.py +0 -0
  25. {py_cluster_api-0.3.0 → py_cluster_api-0.4.0}/tests/test_core.py +0 -0
  26. {py_cluster_api-0.3.0 → py_cluster_api-0.4.0}/tests/test_integration.py +0 -0
  27. {py_cluster_api-0.3.0 → py_cluster_api-0.4.0}/tests/test_local.py +0 -0
  28. {py_cluster_api-0.3.0 → py_cluster_api-0.4.0}/tests/test_lsf.py +0 -0
  29. {py_cluster_api-0.3.0 → py_cluster_api-0.4.0}/tests/test_monitor.py +0 -0
  30. {py_cluster_api-0.3.0 → py_cluster_api-0.4.0}/tests/test_reconnect.py +0 -0
@@ -18,12 +18,12 @@ jobs:
18
18
  runs-on: ubuntu-latest
19
19
 
20
20
  steps:
21
- - uses: actions/checkout@v4
21
+ - uses: actions/checkout@v5
22
22
 
23
23
  - name: Set up Pixi
24
24
  uses: prefix-dev/setup-pixi@v0.9.0
25
25
  with:
26
- pixi-version: v0.55.0
26
+ pixi-version: v0.65.0
27
27
  cache: true
28
28
 
29
29
  - name: Lint
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: py-cluster-api
3
- Version: 0.3.0
3
+ Version: 0.4.0
4
4
  Summary: Generic Python library for running jobs on HPC clusters
5
5
  Project-URL: Homepage, https://github.com/JaneliaSciComp/py-cluster-api
6
6
  Project-URL: Repository, https://github.com/JaneliaSciComp/py-cluster-api
@@ -58,6 +58,7 @@ class ClusterConfig:
58
58
  completed_retention_minutes: float = 10.0
59
59
  command_timeout: float = 100.0
60
60
  suppress_job_email: bool = True
61
+ poll_all_users: bool = False
61
62
 
62
63
 
63
64
  _CONFIG_SEARCH_PATHS = [
@@ -220,6 +220,8 @@ class LSFExecutor(Executor):
220
220
  def _build_status_args(self) -> list[str]:
221
221
  """Build bjobs command with JSON output."""
222
222
  args = [self.status_command]
223
+ if self.config.poll_all_users:
224
+ args.extend(["-u", "all"])
223
225
  if self._prefix:
224
226
  args.extend(["-J", f"{self._prefix}-*"])
225
227
  args.extend(["-a", "-o", _BJOBS_FIELDS, "-json"])
@@ -312,13 +314,16 @@ class LSFExecutor(Executor):
312
314
  "Cannot reconnect: no job_name_prefix was configured. "
313
315
  "Set job_name_prefix in config to enable reconnection."
314
316
  )
315
- return [
316
- self.status_command,
317
+ args = [self.status_command]
318
+ if self.config.poll_all_users:
319
+ args.extend(["-u", "all"])
320
+ args.extend([
317
321
  "-J", f"{self._prefix}-*",
318
322
  "-a",
319
323
  "-o", _BJOBS_RECONNECT_FIELDS,
320
324
  "-json",
321
- ]
325
+ ])
326
+ return args
322
327
 
323
328
  async def reconnect(self) -> list[JobRecord]:
324
329
  """Reconnect to running jobs and resume tracking them.
@@ -5,6 +5,8 @@ environments:
5
5
  - url: https://conda.anaconda.org/conda-forge/
6
6
  indexes:
7
7
  - https://pypi.org/simple
8
+ options:
9
+ pypi-prerelease-mode: if-necessary-or-explicit
8
10
  packages:
9
11
  linux-64:
10
12
  - conda: https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2
@@ -52,6 +54,8 @@ environments:
52
54
  - url: https://conda.anaconda.org/conda-forge/
53
55
  indexes:
54
56
  - https://pypi.org/simple
57
+ options:
58
+ pypi-prerelease-mode: if-necessary-or-explicit
55
59
  packages:
56
60
  linux-64:
57
61
  - conda: https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2
@@ -841,8 +845,8 @@ packages:
841
845
  timestamp: 1764896838868
842
846
  - pypi: ./
843
847
  name: py-cluster-api
844
- version: 0.3.0
845
- sha256: e2063daf789767a34e56a90415c2c5375777b46afbc7635de4a56c48984c6ce1
848
+ version: 0.4.0
849
+ sha256: 1dd95e2002e0e1b4908c3ea27e6c9b575ae0e2e514cf00a01289b554502ce15d
846
850
  requires_dist:
847
851
  - pyyaml
848
852
  - pytest ; extra == 'test'
@@ -851,7 +855,6 @@ packages:
851
855
  - build ; extra == 'release'
852
856
  - twine ; extra == 'release'
853
857
  requires_python: '>=3.10'
854
- editable: true
855
858
  - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-2.22-pyh29332c3_1.conda
856
859
  sha256: 79db7928d13fab2d892592223d7570f5061c192f27b9febd1a418427b719acc6
857
860
  md5: 12c566707c80111f9799308d9e265aef
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "py-cluster-api"
3
- version = "0.3.0"
3
+ version = "0.4.0"
4
4
  description = "Generic Python library for running jobs on HPC clusters"
5
5
  readme = "README.md"
6
6
  license = { file = "LICENSE" }
@@ -44,7 +44,7 @@ asyncio_mode = "auto"
44
44
  markers = ["integration: tests that submit real jobs to the cluster (deselected by default)"]
45
45
  addopts = "-m 'not integration'"
46
46
 
47
- [tool.pixi.project]
47
+ [tool.pixi.workspace]
48
48
  channels = ["conda-forge"]
49
49
  platforms = ["linux-64"]
50
50
 
File without changes
File without changes
File without changes