kleinkram 0.43.5.dev20250401102415__tar.gz → 0.43.6.dev20250401140552__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.
Potentially problematic release.
This version of kleinkram might be problematic. Click here for more details.
- {kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/PKG-INFO +1 -1
- {kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/kleinkram/api/file_transfer.py +2 -2
- {kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/kleinkram/wrappers.py +46 -1
- {kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/kleinkram.egg-info/PKG-INFO +1 -1
- {kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/setup.cfg +1 -1
- {kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/README.md +0 -0
- {kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/kleinkram/__init__.py +0 -0
- {kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/kleinkram/__main__.py +0 -0
- {kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/kleinkram/_version.py +0 -0
- {kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/kleinkram/api/__init__.py +0 -0
- {kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/kleinkram/api/client.py +0 -0
- {kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/kleinkram/api/deser.py +0 -0
- {kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/kleinkram/api/pagination.py +0 -0
- {kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/kleinkram/api/query.py +0 -0
- {kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/kleinkram/api/routes.py +0 -0
- {kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/kleinkram/auth.py +0 -0
- {kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/kleinkram/cli/__init__.py +0 -0
- {kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/kleinkram/cli/_download.py +0 -0
- {kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/kleinkram/cli/_endpoint.py +0 -0
- {kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/kleinkram/cli/_file.py +0 -0
- {kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/kleinkram/cli/_list.py +0 -0
- {kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/kleinkram/cli/_mission.py +0 -0
- {kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/kleinkram/cli/_project.py +0 -0
- {kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/kleinkram/cli/_upload.py +0 -0
- {kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/kleinkram/cli/_verify.py +0 -0
- {kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/kleinkram/cli/app.py +0 -0
- {kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/kleinkram/cli/error_handling.py +0 -0
- {kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/kleinkram/config.py +0 -0
- {kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/kleinkram/core.py +0 -0
- {kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/kleinkram/errors.py +0 -0
- {kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/kleinkram/main.py +0 -0
- {kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/kleinkram/models.py +0 -0
- {kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/kleinkram/printing.py +0 -0
- {kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/kleinkram/py.typed +0 -0
- {kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/kleinkram/types.py +0 -0
- {kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/kleinkram/utils.py +0 -0
- {kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/kleinkram.egg-info/SOURCES.txt +0 -0
- {kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/kleinkram.egg-info/dependency_links.txt +0 -0
- {kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/kleinkram.egg-info/entry_points.txt +0 -0
- {kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/kleinkram.egg-info/requires.txt +0 -0
- {kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/kleinkram.egg-info/top_level.txt +0 -0
- {kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/pyproject.toml +0 -0
- {kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/requirements.txt +0 -0
- {kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/setup.py +0 -0
- {kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/testing/__init__.py +0 -0
- {kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/testing/backend_fixtures.py +0 -0
- {kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/tests/__init__.py +0 -0
- {kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/tests/conftest.py +0 -0
- {kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/tests/test_config.py +0 -0
- {kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/tests/test_core.py +0 -0
- {kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/tests/test_end_to_end.py +0 -0
- {kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/tests/test_error_handling.py +0 -0
- {kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/tests/test_fixtures.py +0 -0
- {kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/tests/test_printing.py +0 -0
- {kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/tests/test_query.py +0 -0
- {kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/tests/test_utils.py +0 -0
- {kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/tests/test_wrappers.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: kleinkram
|
|
3
|
-
Version: 0.43.
|
|
3
|
+
Version: 0.43.6.dev20250401140552
|
|
4
4
|
Summary: give me your bags
|
|
5
5
|
Author: Cyrill Püntener, Dominique Garmier, Johann Schwabe
|
|
6
6
|
Author-email: pucyril@ethz.ch, dgarmier@ethz.ch, jschwab@ethz.ch
|
|
@@ -309,10 +309,10 @@ def download_file(
|
|
|
309
309
|
if path.exists():
|
|
310
310
|
local_hash = b64_md5(path)
|
|
311
311
|
if local_hash != file.hash and not overwrite and file.hash is not None:
|
|
312
|
-
return DownloadState.SKIPPED_INVALID_HASH
|
|
312
|
+
return DownloadState.SKIPPED_INVALID_HASH, 0
|
|
313
313
|
|
|
314
314
|
elif local_hash == file.hash:
|
|
315
|
-
return DownloadState.SKIPPED_OK
|
|
315
|
+
return DownloadState.SKIPPED_OK, 0
|
|
316
316
|
|
|
317
317
|
# this has to be here
|
|
318
318
|
if verbose:
|
{kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/kleinkram/wrappers.py
RENAMED
|
@@ -9,7 +9,7 @@ conversion to the internal representation
|
|
|
9
9
|
from __future__ import annotations
|
|
10
10
|
|
|
11
11
|
from pathlib import Path
|
|
12
|
-
from typing import Collection
|
|
12
|
+
from typing import Collection, Any
|
|
13
13
|
from typing import Dict
|
|
14
14
|
from typing import List
|
|
15
15
|
from typing import Literal
|
|
@@ -39,6 +39,11 @@ def _args_to_project_query(
|
|
|
39
39
|
project_names: Optional[Sequence[str]] = None,
|
|
40
40
|
project_ids: Optional[Sequence[IdLike]] = None,
|
|
41
41
|
) -> ProjectQuery:
|
|
42
|
+
|
|
43
|
+
# verify types of passed arguments
|
|
44
|
+
_verify_string_sequence("project_names", project_names)
|
|
45
|
+
_verify_sequence("project_ids", project_ids)
|
|
46
|
+
|
|
42
47
|
return ProjectQuery(
|
|
43
48
|
ids=[parse_uuid_like(_id) for _id in project_ids or []],
|
|
44
49
|
patterns=list(project_names or []),
|
|
@@ -51,6 +56,13 @@ def _args_to_mission_query(
|
|
|
51
56
|
project_names: Optional[Sequence[str]] = None,
|
|
52
57
|
project_ids: Optional[Sequence[IdLike]] = None,
|
|
53
58
|
) -> MissionQuery:
|
|
59
|
+
|
|
60
|
+
# verify types of passed arguments
|
|
61
|
+
_verify_string_sequence("mission_names", mission_names)
|
|
62
|
+
_verify_sequence("mission_ids", mission_ids)
|
|
63
|
+
_verify_string_sequence("project_names", project_names)
|
|
64
|
+
_verify_sequence("project_ids", project_ids)
|
|
65
|
+
|
|
54
66
|
return MissionQuery(
|
|
55
67
|
ids=[parse_uuid_like(_id) for _id in mission_ids or []],
|
|
56
68
|
patterns=list(mission_names or []),
|
|
@@ -60,6 +72,27 @@ def _args_to_mission_query(
|
|
|
60
72
|
)
|
|
61
73
|
|
|
62
74
|
|
|
75
|
+
def _verify_sequence(arg_name: str, arg_value: Optional[Sequence[Any]]) -> None:
|
|
76
|
+
"""Verifies that an argument is either None, or a sequence."""
|
|
77
|
+
if arg_value is not None:
|
|
78
|
+
if not isinstance(arg_value, Sequence):
|
|
79
|
+
raise TypeError(f"{arg_name} must be a Sequence, None, or empty array.")
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
def _verify_string_sequence(arg_name: str, arg_value: Optional[Sequence[Any]]) -> None:
|
|
83
|
+
"""Verifies that an argument is either None, an empty sequence, or a sequence of strings."""
|
|
84
|
+
if arg_value is not None:
|
|
85
|
+
if not isinstance(arg_value, Sequence):
|
|
86
|
+
raise TypeError(f"{arg_name} must be a Sequence, None, or empty array.")
|
|
87
|
+
if isinstance(arg_value, str):
|
|
88
|
+
raise TypeError(
|
|
89
|
+
f"{arg_name} cannot be a string, but a sequence of strings."
|
|
90
|
+
)
|
|
91
|
+
for item in arg_value:
|
|
92
|
+
if not isinstance(item, str):
|
|
93
|
+
raise TypeError(f"{arg_name} must contain strings only.")
|
|
94
|
+
|
|
95
|
+
|
|
63
96
|
def _args_to_file_query(
|
|
64
97
|
file_names: Optional[Sequence[str]] = None,
|
|
65
98
|
file_ids: Optional[Sequence[IdLike]] = None,
|
|
@@ -68,6 +101,15 @@ def _args_to_file_query(
|
|
|
68
101
|
project_names: Optional[Sequence[str]] = None,
|
|
69
102
|
project_ids: Optional[Sequence[IdLike]] = None,
|
|
70
103
|
) -> FileQuery:
|
|
104
|
+
|
|
105
|
+
# verify types of passed arguments
|
|
106
|
+
_verify_string_sequence("file_names", file_names)
|
|
107
|
+
_verify_sequence("file_ids", file_ids)
|
|
108
|
+
_verify_string_sequence("mission_names", mission_names)
|
|
109
|
+
_verify_sequence("mission_ids", mission_ids)
|
|
110
|
+
_verify_string_sequence("project_names", project_names)
|
|
111
|
+
_verify_sequence("project_ids", project_ids)
|
|
112
|
+
|
|
71
113
|
return FileQuery(
|
|
72
114
|
ids=[parse_uuid_like(_id) for _id in file_ids or []],
|
|
73
115
|
patterns=list(file_names or []),
|
|
@@ -288,6 +330,9 @@ def verify(
|
|
|
288
330
|
project_names=singleton_list(project_name),
|
|
289
331
|
project_ids=singleton_list(project_id),
|
|
290
332
|
)
|
|
333
|
+
|
|
334
|
+
_verify_string_sequence("files", files)
|
|
335
|
+
|
|
291
336
|
return kleinkram.core.verify(
|
|
292
337
|
client=AuthenticatedClient(),
|
|
293
338
|
query=query,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: kleinkram
|
|
3
|
-
Version: 0.43.
|
|
3
|
+
Version: 0.43.6.dev20250401140552
|
|
4
4
|
Summary: give me your bags
|
|
5
5
|
Author: Cyrill Püntener, Dominique Garmier, Johann Schwabe
|
|
6
6
|
Author-email: pucyril@ethz.ch, dgarmier@ethz.ch, jschwab@ethz.ch
|
|
File without changes
|
{kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/kleinkram/__init__.py
RENAMED
|
File without changes
|
{kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/kleinkram/__main__.py
RENAMED
|
File without changes
|
{kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/kleinkram/_version.py
RENAMED
|
File without changes
|
{kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/kleinkram/api/__init__.py
RENAMED
|
File without changes
|
{kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/kleinkram/api/client.py
RENAMED
|
File without changes
|
{kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/kleinkram/api/deser.py
RENAMED
|
File without changes
|
|
File without changes
|
{kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/kleinkram/api/query.py
RENAMED
|
File without changes
|
{kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/kleinkram/api/routes.py
RENAMED
|
File without changes
|
|
File without changes
|
{kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/kleinkram/cli/__init__.py
RENAMED
|
File without changes
|
{kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/kleinkram/cli/_download.py
RENAMED
|
File without changes
|
{kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/kleinkram/cli/_endpoint.py
RENAMED
|
File without changes
|
{kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/kleinkram/cli/_file.py
RENAMED
|
File without changes
|
{kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/kleinkram/cli/_list.py
RENAMED
|
File without changes
|
{kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/kleinkram/cli/_mission.py
RENAMED
|
File without changes
|
{kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/kleinkram/cli/_project.py
RENAMED
|
File without changes
|
{kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/kleinkram/cli/_upload.py
RENAMED
|
File without changes
|
{kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/kleinkram/cli/_verify.py
RENAMED
|
File without changes
|
{kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/kleinkram/cli/app.py
RENAMED
|
File without changes
|
|
File without changes
|
{kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/kleinkram/config.py
RENAMED
|
File without changes
|
|
File without changes
|
{kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/kleinkram/errors.py
RENAMED
|
File without changes
|
|
File without changes
|
{kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/kleinkram/models.py
RENAMED
|
File without changes
|
{kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/kleinkram/printing.py
RENAMED
|
File without changes
|
{kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/kleinkram/py.typed
RENAMED
|
File without changes
|
{kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/kleinkram/types.py
RENAMED
|
File without changes
|
{kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/kleinkram/utils.py
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
|
|
File without changes
|
{kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/testing/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/tests/test_config.py
RENAMED
|
File without changes
|
{kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/tests/test_core.py
RENAMED
|
File without changes
|
{kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/tests/test_end_to_end.py
RENAMED
|
File without changes
|
|
File without changes
|
{kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/tests/test_fixtures.py
RENAMED
|
File without changes
|
{kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/tests/test_printing.py
RENAMED
|
File without changes
|
{kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/tests/test_query.py
RENAMED
|
File without changes
|
{kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/tests/test_utils.py
RENAMED
|
File without changes
|
{kleinkram-0.43.5.dev20250401102415 → kleinkram-0.43.6.dev20250401140552}/tests/test_wrappers.py
RENAMED
|
File without changes
|