pyfirecrest 3.2.1__tar.gz → 3.2.2__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.
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/PKG-INFO +1 -1
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/firecrest/__init__.py +1 -1
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/firecrest/cli2/__init__.py +15 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/firecrest/v2/_async/Client.py +15 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/firecrest/v2/_sync/Client.py +15 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/.github/workflows/python-publish.yml +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/.github/workflows/testing.yml +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/.gitignore +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/.mypy.ini +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/.readthedocs.yml +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/LICENSE +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/README.md +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/async-example.md +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/docs/Makefile +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/docs/source/authorization.rst +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/docs/source/conf.py +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/docs/source/index.rst +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/docs/source/reference_async.rst +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/docs/source/reference_async_v2.rst +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/docs/source/reference_auth.rst +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/docs/source/reference_basic.rst +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/docs/source/reference_cli.rst +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/docs/source/reference_sync_v2.rst +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/docs/source/reference_v1_index.rst +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/docs/source/reference_v2_index.rst +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/docs/source/tutorial_async.rst +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/docs/source/tutorial_basic_v1.rst +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/docs/source/tutorial_basic_v2.rst +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/docs/source/tutorial_cli.rst +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/docs/source/tutorial_errors.rst +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/docs/source/tutorial_index.rst +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/docs/source/tutorial_logging.rst +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/firecrest/Authorization.py +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/firecrest/FirecrestException.py +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/firecrest/cli/__init__.py +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/firecrest/cli_script.py +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/firecrest/path.py +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/firecrest/py.typed +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/firecrest/types.py +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/firecrest/utilities.py +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/firecrest/v1/AsyncClient.py +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/firecrest/v1/AsyncExternalStorage.py +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/firecrest/v1/BasicClient.py +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/firecrest/v1/ExternalStorage.py +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/firecrest/v1/__init__.py +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/firecrest/v2/__init__.py +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/firecrest/v2/_async/__init__.py +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/pyproject.toml +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/tests/common.py +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/tests/context.py +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/tests/test_authorisation.py +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/tests/test_compute.py +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/tests/test_compute_async.py +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/tests/test_extras.py +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/tests/test_extras_async.py +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/tests/test_status.py +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/tests/test_status_async.py +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/tests/test_storage.py +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/tests/test_storage_async.py +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/tests/test_utilities.py +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/tests/test_utilities_async.py +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/tests/v2/common.py +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/tests/v2/context_v2.py +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/tests/v2/handlers.py +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/tests/v2/responses/checksum.json +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/tests/v2/responses/chmod.json +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/tests/v2/responses/chown.json +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/tests/v2/responses/chown_not_permitted.json +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/tests/v2/responses/compress.json +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/tests/v2/responses/delete.json +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/tests/v2/responses/extract.json +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/tests/v2/responses/file.json +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/tests/v2/responses/head.json +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/tests/v2/responses/head_bytes.json +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/tests/v2/responses/head_bytes_exclude_trailing.json +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/tests/v2/responses/head_lines.json +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/tests/v2/responses/head_lines_exclude_trailing.json +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/tests/v2/responses/job_info.json +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/tests/v2/responses/job_metadata.json +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/tests/v2/responses/job_submit.json +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/tests/v2/responses/ls.json +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/tests/v2/responses/ls_dereference.json +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/tests/v2/responses/ls_hidden.json +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/tests/v2/responses/ls_home.json +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/tests/v2/responses/ls_home_dereference.json +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/tests/v2/responses/ls_home_hidden.json +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/tests/v2/responses/ls_home_recursive.json +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/tests/v2/responses/ls_home_uid.json +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/tests/v2/responses/ls_invalid_path.json +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/tests/v2/responses/ls_recursive.json +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/tests/v2/responses/ls_uid.json +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/tests/v2/responses/mkdir.json +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/tests/v2/responses/nodes.json +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/tests/v2/responses/partitions.json +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/tests/v2/responses/reservations.json +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/tests/v2/responses/rm.json +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/tests/v2/responses/stat.json +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/tests/v2/responses/stat_dereference.json +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/tests/v2/responses/symlink.json +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/tests/v2/responses/systems.json +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/tests/v2/responses/tail.json +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/tests/v2/responses/tail_bytes.json +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/tests/v2/responses/tail_bytes_exclude_beginning.json +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/tests/v2/responses/tail_lines.json +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/tests/v2/responses/tail_lines_exclude_beginning.json +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/tests/v2/responses/userinfo.json +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/tests/v2/responses/view.json +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/tests/v2/test_v2_async.py +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/tests/v2/test_v2_cli.py +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/tests/v2/test_v2_sync.py +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/tox.ini +0 -0
- {pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/utils/run_unasync.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pyfirecrest
|
|
3
|
-
Version: 3.2.
|
|
3
|
+
Version: 3.2.2
|
|
4
4
|
Summary: pyFirecrest is a python wrapper for FirecREST
|
|
5
5
|
Author: CSCS Swiss National Supercomputing Center
|
|
6
6
|
Maintainer-email: Eirini Koutsaniti <eirini.koutsaniti@cscs.ch>, Juan Pablo Dorsch <juanpablo.dorsch@cscs.ch>
|
|
@@ -77,6 +77,21 @@ def config_callback(ctx: typer.Context, param: typer.CallbackParam, value: str):
|
|
|
77
77
|
return value
|
|
78
78
|
|
|
79
79
|
|
|
80
|
+
@app.command(rich_help_panel="Status commands")
|
|
81
|
+
def server_version():
|
|
82
|
+
"""Provides the exact version of the FirecREST server, when available."""
|
|
83
|
+
try:
|
|
84
|
+
result = client.server_version()
|
|
85
|
+
if result is None:
|
|
86
|
+
console.print("[yellow]Server version not available[/yellow]")
|
|
87
|
+
else:
|
|
88
|
+
console.print(result)
|
|
89
|
+
|
|
90
|
+
except Exception as e:
|
|
91
|
+
examine_exeption(e)
|
|
92
|
+
raise typer.Exit(code=1)
|
|
93
|
+
|
|
94
|
+
|
|
80
95
|
@app.command(rich_help_panel="Status commands")
|
|
81
96
|
def systems(
|
|
82
97
|
pager: Optional[bool] = typer.Option(
|
|
@@ -448,6 +448,21 @@ class AsyncFirecrest:
|
|
|
448
448
|
|
|
449
449
|
return response.json() if return_json and status_code != 204 else {}
|
|
450
450
|
|
|
451
|
+
async def server_version(self) -> str | None:
|
|
452
|
+
"""Returns the exact API version of the FirecREST server.
|
|
453
|
+
|
|
454
|
+
:calls: GET `/status/systems`
|
|
455
|
+
"""
|
|
456
|
+
resp = await self._get_request(endpoint="/status/systems")
|
|
457
|
+
if resp.headers.get("f7t-appversion") == "2.x.x":
|
|
458
|
+
return "2"
|
|
459
|
+
elif (
|
|
460
|
+
resp.headers.get("f7t-appversion")
|
|
461
|
+
):
|
|
462
|
+
return resp.headers["f7t-appversion"]
|
|
463
|
+
else:
|
|
464
|
+
return None
|
|
465
|
+
|
|
451
466
|
async def systems(self) -> List[dict]:
|
|
452
467
|
"""Returns available systems.
|
|
453
468
|
|
|
@@ -433,6 +433,21 @@ class Firecrest:
|
|
|
433
433
|
|
|
434
434
|
return response.json() if return_json and status_code != 204 else {}
|
|
435
435
|
|
|
436
|
+
def server_version(self) -> str | None:
|
|
437
|
+
"""Returns the exact API version of the FirecREST server.
|
|
438
|
+
|
|
439
|
+
:calls: GET `/status/systems`
|
|
440
|
+
"""
|
|
441
|
+
resp = self._get_request(endpoint="/status/systems")
|
|
442
|
+
if resp.headers.get("f7t-appversion") == "2.x.x":
|
|
443
|
+
return "2"
|
|
444
|
+
elif (
|
|
445
|
+
resp.headers.get("f7t-appversion")
|
|
446
|
+
):
|
|
447
|
+
return resp.headers["f7t-appversion"]
|
|
448
|
+
else:
|
|
449
|
+
return None
|
|
450
|
+
|
|
436
451
|
def systems(self) -> List[dict]:
|
|
437
452
|
"""Returns available systems.
|
|
438
453
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/tests/v2/responses/tail_bytes_exclude_beginning.json
RENAMED
|
File without changes
|
|
File without changes
|
{pyfirecrest-3.2.1 → pyfirecrest-3.2.2}/tests/v2/responses/tail_lines_exclude_beginning.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|