kleinkram 0.51.0.dev20251003125418__tar.gz → 0.51.0.dev20251010055743__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.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/PKG-INFO +1 -1
- {kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/kleinkram/api/pagination.py +3 -0
- {kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/kleinkram/api/routes.py +10 -3
- {kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/kleinkram/cli/_project.py +1 -1
- {kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/kleinkram/core.py +3 -1
- {kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/kleinkram.egg-info/PKG-INFO +1 -1
- {kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/setup.cfg +1 -1
- {kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/README.md +0 -0
- {kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/kleinkram/__init__.py +0 -0
- {kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/kleinkram/__main__.py +0 -0
- {kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/kleinkram/_version.py +0 -0
- {kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/kleinkram/api/__init__.py +0 -0
- {kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/kleinkram/api/client.py +0 -0
- {kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/kleinkram/api/deser.py +0 -0
- {kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/kleinkram/api/file_transfer.py +0 -0
- {kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/kleinkram/api/query.py +0 -0
- {kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/kleinkram/auth.py +0 -0
- {kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/kleinkram/cli/__init__.py +0 -0
- {kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/kleinkram/cli/_download.py +0 -0
- {kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/kleinkram/cli/_endpoint.py +0 -0
- {kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/kleinkram/cli/_file.py +0 -0
- {kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/kleinkram/cli/_list.py +0 -0
- {kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/kleinkram/cli/_mission.py +0 -0
- {kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/kleinkram/cli/_upload.py +0 -0
- {kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/kleinkram/cli/_verify.py +0 -0
- {kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/kleinkram/cli/app.py +0 -0
- {kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/kleinkram/cli/error_handling.py +0 -0
- {kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/kleinkram/config.py +0 -0
- {kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/kleinkram/errors.py +0 -0
- {kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/kleinkram/main.py +0 -0
- {kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/kleinkram/models.py +0 -0
- {kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/kleinkram/printing.py +0 -0
- {kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/kleinkram/py.typed +0 -0
- {kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/kleinkram/types.py +0 -0
- {kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/kleinkram/utils.py +0 -0
- {kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/kleinkram/wrappers.py +0 -0
- {kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/kleinkram.egg-info/SOURCES.txt +0 -0
- {kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/kleinkram.egg-info/dependency_links.txt +0 -0
- {kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/kleinkram.egg-info/entry_points.txt +0 -0
- {kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/kleinkram.egg-info/requires.txt +0 -0
- {kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/kleinkram.egg-info/top_level.txt +0 -0
- {kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/pyproject.toml +0 -0
- {kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/requirements.txt +0 -0
- {kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/setup.py +0 -0
- {kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/testing/__init__.py +0 -0
- {kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/testing/backend_fixtures.py +0 -0
- {kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/tests/__init__.py +0 -0
- {kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/tests/conftest.py +0 -0
- {kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/tests/test_config.py +0 -0
- {kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/tests/test_core.py +0 -0
- {kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/tests/test_end_to_end.py +0 -0
- {kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/tests/test_error_handling.py +0 -0
- {kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/tests/test_fixtures.py +0 -0
- {kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/tests/test_printing.py +0 -0
- {kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/tests/test_query.py +0 -0
- {kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/tests/test_utils.py +0 -0
- {kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/tests/test_wrappers.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: kleinkram
|
|
3
|
-
Version: 0.51.0.
|
|
3
|
+
Version: 0.51.0.dev20251010055743
|
|
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
|
|
@@ -17,6 +17,7 @@ DataPage = Dict[str, Any]
|
|
|
17
17
|
PAGE_SIZE = 128
|
|
18
18
|
SKIP = "skip"
|
|
19
19
|
TAKE = "take"
|
|
20
|
+
EXACT_MATCH = "exactMatch"
|
|
20
21
|
|
|
21
22
|
|
|
22
23
|
def paginated_request(
|
|
@@ -25,6 +26,7 @@ def paginated_request(
|
|
|
25
26
|
params: Optional[Mapping[str, Any]] = None,
|
|
26
27
|
max_entries: Optional[int] = None,
|
|
27
28
|
page_size: int = PAGE_SIZE,
|
|
29
|
+
exact_match: bool = False,
|
|
28
30
|
) -> Generator[DataPage, None, None]:
|
|
29
31
|
total_entries_count = 0
|
|
30
32
|
|
|
@@ -32,6 +34,7 @@ def paginated_request(
|
|
|
32
34
|
|
|
33
35
|
params[TAKE] = page_size
|
|
34
36
|
params[SKIP] = 0
|
|
37
|
+
params[EXACT_MATCH] = str(exact_match).lower() # pass string rather than bool
|
|
35
38
|
|
|
36
39
|
while True:
|
|
37
40
|
resp = client.get(endpoint, params=params)
|
{kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/kleinkram/api/routes.py
RENAMED
|
@@ -163,15 +163,22 @@ def get_projects(
|
|
|
163
163
|
client: AuthenticatedClient,
|
|
164
164
|
project_query: ProjectQuery,
|
|
165
165
|
max_entries: Optional[int] = None,
|
|
166
|
+
exact_match: bool = False,
|
|
166
167
|
) -> Generator[Project, None, None]:
|
|
167
168
|
params = _project_query_to_params(project_query)
|
|
168
169
|
response_stream = paginated_request(
|
|
169
|
-
client,
|
|
170
|
+
client,
|
|
171
|
+
PROJECT_ENDPOINT,
|
|
172
|
+
params=params,
|
|
173
|
+
max_entries=max_entries,
|
|
174
|
+
exact_match=exact_match,
|
|
170
175
|
)
|
|
171
176
|
yield from map(lambda p: _parse_project(ProjectObject(p)), response_stream)
|
|
172
177
|
|
|
173
178
|
|
|
174
|
-
def get_project(
|
|
179
|
+
def get_project(
|
|
180
|
+
client: AuthenticatedClient, query: ProjectQuery, exact_match: bool = False
|
|
181
|
+
) -> Project:
|
|
175
182
|
"""\
|
|
176
183
|
get a unique project by specifying a project spec
|
|
177
184
|
"""
|
|
@@ -180,7 +187,7 @@ def get_project(client: AuthenticatedClient, query: ProjectQuery) -> Project:
|
|
|
180
187
|
f"Project query does not uniquely determine project: {query}"
|
|
181
188
|
)
|
|
182
189
|
try:
|
|
183
|
-
return next(get_projects(client, query))
|
|
190
|
+
return next(get_projects(client, query, exact_match=exact_match))
|
|
184
191
|
except StopIteration:
|
|
185
192
|
raise ProjectNotFound(f"Project not found: {query}")
|
|
186
193
|
|
{kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/kleinkram/cli/_project.py
RENAMED
|
@@ -90,7 +90,7 @@ def delete(
|
|
|
90
90
|
project_query = ProjectQuery(ids=project_ids, patterns=project_patterns)
|
|
91
91
|
|
|
92
92
|
client = AuthenticatedClient()
|
|
93
|
-
project_id = get_project(client=client, query=project_query).id
|
|
93
|
+
project_id = get_project(client=client, query=project_query, exact_match=True).id
|
|
94
94
|
kleinkram.core.delete_project(client=client, project_id=project_id)
|
|
95
95
|
|
|
96
96
|
|
|
@@ -282,7 +282,9 @@ def delete_mission(*, client: AuthenticatedClient, mission_id: UUID) -> None:
|
|
|
282
282
|
|
|
283
283
|
def delete_project(*, client: AuthenticatedClient, project_id: UUID) -> None:
|
|
284
284
|
pquery = ProjectQuery(ids=[project_id])
|
|
285
|
-
_ = kleinkram.api.routes.get_project(
|
|
285
|
+
_ = kleinkram.api.routes.get_project(
|
|
286
|
+
client, pquery, exact_match=True
|
|
287
|
+
) # check if project exists
|
|
286
288
|
|
|
287
289
|
# delete all missions and files
|
|
288
290
|
missions = list(
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: kleinkram
|
|
3
|
-
Version: 0.51.0.
|
|
3
|
+
Version: 0.51.0.dev20251010055743
|
|
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.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/kleinkram/__init__.py
RENAMED
|
File without changes
|
{kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/kleinkram/__main__.py
RENAMED
|
File without changes
|
{kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/kleinkram/_version.py
RENAMED
|
File without changes
|
{kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/kleinkram/api/__init__.py
RENAMED
|
File without changes
|
{kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/kleinkram/api/client.py
RENAMED
|
File without changes
|
{kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/kleinkram/api/deser.py
RENAMED
|
File without changes
|
|
File without changes
|
{kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/kleinkram/api/query.py
RENAMED
|
File without changes
|
|
File without changes
|
{kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/kleinkram/cli/__init__.py
RENAMED
|
File without changes
|
{kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/kleinkram/cli/_download.py
RENAMED
|
File without changes
|
{kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/kleinkram/cli/_endpoint.py
RENAMED
|
File without changes
|
{kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/kleinkram/cli/_file.py
RENAMED
|
File without changes
|
{kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/kleinkram/cli/_list.py
RENAMED
|
File without changes
|
{kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/kleinkram/cli/_mission.py
RENAMED
|
File without changes
|
{kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/kleinkram/cli/_upload.py
RENAMED
|
File without changes
|
{kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/kleinkram/cli/_verify.py
RENAMED
|
File without changes
|
{kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/kleinkram/cli/app.py
RENAMED
|
File without changes
|
|
File without changes
|
{kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/kleinkram/config.py
RENAMED
|
File without changes
|
{kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/kleinkram/errors.py
RENAMED
|
File without changes
|
|
File without changes
|
{kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/kleinkram/models.py
RENAMED
|
File without changes
|
{kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/kleinkram/printing.py
RENAMED
|
File without changes
|
{kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/kleinkram/py.typed
RENAMED
|
File without changes
|
{kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/kleinkram/types.py
RENAMED
|
File without changes
|
{kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/kleinkram/utils.py
RENAMED
|
File without changes
|
{kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/kleinkram/wrappers.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.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/testing/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/tests/test_config.py
RENAMED
|
File without changes
|
{kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/tests/test_core.py
RENAMED
|
File without changes
|
{kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/tests/test_end_to_end.py
RENAMED
|
File without changes
|
|
File without changes
|
{kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/tests/test_fixtures.py
RENAMED
|
File without changes
|
{kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/tests/test_printing.py
RENAMED
|
File without changes
|
{kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/tests/test_query.py
RENAMED
|
File without changes
|
{kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/tests/test_utils.py
RENAMED
|
File without changes
|
{kleinkram-0.51.0.dev20251003125418 → kleinkram-0.51.0.dev20251010055743}/tests/test_wrappers.py
RENAMED
|
File without changes
|