kleinkram 0.49.0.dev20250728101614__tar.gz → 0.49.0.dev20250804105938__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.

Files changed (57) hide show
  1. {kleinkram-0.49.0.dev20250728101614 → kleinkram-0.49.0.dev20250804105938}/PKG-INFO +1 -1
  2. {kleinkram-0.49.0.dev20250728101614 → kleinkram-0.49.0.dev20250804105938}/kleinkram/auth.py +3 -3
  3. {kleinkram-0.49.0.dev20250728101614 → kleinkram-0.49.0.dev20250804105938}/kleinkram/cli/app.py +15 -1
  4. {kleinkram-0.49.0.dev20250728101614 → kleinkram-0.49.0.dev20250804105938}/kleinkram.egg-info/PKG-INFO +1 -1
  5. {kleinkram-0.49.0.dev20250728101614 → kleinkram-0.49.0.dev20250804105938}/setup.cfg +1 -1
  6. {kleinkram-0.49.0.dev20250728101614 → kleinkram-0.49.0.dev20250804105938}/README.md +0 -0
  7. {kleinkram-0.49.0.dev20250728101614 → kleinkram-0.49.0.dev20250804105938}/kleinkram/__init__.py +0 -0
  8. {kleinkram-0.49.0.dev20250728101614 → kleinkram-0.49.0.dev20250804105938}/kleinkram/__main__.py +0 -0
  9. {kleinkram-0.49.0.dev20250728101614 → kleinkram-0.49.0.dev20250804105938}/kleinkram/_version.py +0 -0
  10. {kleinkram-0.49.0.dev20250728101614 → kleinkram-0.49.0.dev20250804105938}/kleinkram/api/__init__.py +0 -0
  11. {kleinkram-0.49.0.dev20250728101614 → kleinkram-0.49.0.dev20250804105938}/kleinkram/api/client.py +0 -0
  12. {kleinkram-0.49.0.dev20250728101614 → kleinkram-0.49.0.dev20250804105938}/kleinkram/api/deser.py +0 -0
  13. {kleinkram-0.49.0.dev20250728101614 → kleinkram-0.49.0.dev20250804105938}/kleinkram/api/file_transfer.py +0 -0
  14. {kleinkram-0.49.0.dev20250728101614 → kleinkram-0.49.0.dev20250804105938}/kleinkram/api/pagination.py +0 -0
  15. {kleinkram-0.49.0.dev20250728101614 → kleinkram-0.49.0.dev20250804105938}/kleinkram/api/query.py +0 -0
  16. {kleinkram-0.49.0.dev20250728101614 → kleinkram-0.49.0.dev20250804105938}/kleinkram/api/routes.py +0 -0
  17. {kleinkram-0.49.0.dev20250728101614 → kleinkram-0.49.0.dev20250804105938}/kleinkram/cli/__init__.py +0 -0
  18. {kleinkram-0.49.0.dev20250728101614 → kleinkram-0.49.0.dev20250804105938}/kleinkram/cli/_download.py +0 -0
  19. {kleinkram-0.49.0.dev20250728101614 → kleinkram-0.49.0.dev20250804105938}/kleinkram/cli/_endpoint.py +0 -0
  20. {kleinkram-0.49.0.dev20250728101614 → kleinkram-0.49.0.dev20250804105938}/kleinkram/cli/_file.py +0 -0
  21. {kleinkram-0.49.0.dev20250728101614 → kleinkram-0.49.0.dev20250804105938}/kleinkram/cli/_list.py +0 -0
  22. {kleinkram-0.49.0.dev20250728101614 → kleinkram-0.49.0.dev20250804105938}/kleinkram/cli/_mission.py +0 -0
  23. {kleinkram-0.49.0.dev20250728101614 → kleinkram-0.49.0.dev20250804105938}/kleinkram/cli/_project.py +0 -0
  24. {kleinkram-0.49.0.dev20250728101614 → kleinkram-0.49.0.dev20250804105938}/kleinkram/cli/_upload.py +0 -0
  25. {kleinkram-0.49.0.dev20250728101614 → kleinkram-0.49.0.dev20250804105938}/kleinkram/cli/_verify.py +0 -0
  26. {kleinkram-0.49.0.dev20250728101614 → kleinkram-0.49.0.dev20250804105938}/kleinkram/cli/error_handling.py +0 -0
  27. {kleinkram-0.49.0.dev20250728101614 → kleinkram-0.49.0.dev20250804105938}/kleinkram/config.py +0 -0
  28. {kleinkram-0.49.0.dev20250728101614 → kleinkram-0.49.0.dev20250804105938}/kleinkram/core.py +0 -0
  29. {kleinkram-0.49.0.dev20250728101614 → kleinkram-0.49.0.dev20250804105938}/kleinkram/errors.py +0 -0
  30. {kleinkram-0.49.0.dev20250728101614 → kleinkram-0.49.0.dev20250804105938}/kleinkram/main.py +0 -0
  31. {kleinkram-0.49.0.dev20250728101614 → kleinkram-0.49.0.dev20250804105938}/kleinkram/models.py +0 -0
  32. {kleinkram-0.49.0.dev20250728101614 → kleinkram-0.49.0.dev20250804105938}/kleinkram/printing.py +0 -0
  33. {kleinkram-0.49.0.dev20250728101614 → kleinkram-0.49.0.dev20250804105938}/kleinkram/py.typed +0 -0
  34. {kleinkram-0.49.0.dev20250728101614 → kleinkram-0.49.0.dev20250804105938}/kleinkram/types.py +0 -0
  35. {kleinkram-0.49.0.dev20250728101614 → kleinkram-0.49.0.dev20250804105938}/kleinkram/utils.py +0 -0
  36. {kleinkram-0.49.0.dev20250728101614 → kleinkram-0.49.0.dev20250804105938}/kleinkram/wrappers.py +0 -0
  37. {kleinkram-0.49.0.dev20250728101614 → kleinkram-0.49.0.dev20250804105938}/kleinkram.egg-info/SOURCES.txt +0 -0
  38. {kleinkram-0.49.0.dev20250728101614 → kleinkram-0.49.0.dev20250804105938}/kleinkram.egg-info/dependency_links.txt +0 -0
  39. {kleinkram-0.49.0.dev20250728101614 → kleinkram-0.49.0.dev20250804105938}/kleinkram.egg-info/entry_points.txt +0 -0
  40. {kleinkram-0.49.0.dev20250728101614 → kleinkram-0.49.0.dev20250804105938}/kleinkram.egg-info/requires.txt +0 -0
  41. {kleinkram-0.49.0.dev20250728101614 → kleinkram-0.49.0.dev20250804105938}/kleinkram.egg-info/top_level.txt +0 -0
  42. {kleinkram-0.49.0.dev20250728101614 → kleinkram-0.49.0.dev20250804105938}/pyproject.toml +0 -0
  43. {kleinkram-0.49.0.dev20250728101614 → kleinkram-0.49.0.dev20250804105938}/requirements.txt +0 -0
  44. {kleinkram-0.49.0.dev20250728101614 → kleinkram-0.49.0.dev20250804105938}/setup.py +0 -0
  45. {kleinkram-0.49.0.dev20250728101614 → kleinkram-0.49.0.dev20250804105938}/testing/__init__.py +0 -0
  46. {kleinkram-0.49.0.dev20250728101614 → kleinkram-0.49.0.dev20250804105938}/testing/backend_fixtures.py +0 -0
  47. {kleinkram-0.49.0.dev20250728101614 → kleinkram-0.49.0.dev20250804105938}/tests/__init__.py +0 -0
  48. {kleinkram-0.49.0.dev20250728101614 → kleinkram-0.49.0.dev20250804105938}/tests/conftest.py +0 -0
  49. {kleinkram-0.49.0.dev20250728101614 → kleinkram-0.49.0.dev20250804105938}/tests/test_config.py +0 -0
  50. {kleinkram-0.49.0.dev20250728101614 → kleinkram-0.49.0.dev20250804105938}/tests/test_core.py +0 -0
  51. {kleinkram-0.49.0.dev20250728101614 → kleinkram-0.49.0.dev20250804105938}/tests/test_end_to_end.py +0 -0
  52. {kleinkram-0.49.0.dev20250728101614 → kleinkram-0.49.0.dev20250804105938}/tests/test_error_handling.py +0 -0
  53. {kleinkram-0.49.0.dev20250728101614 → kleinkram-0.49.0.dev20250804105938}/tests/test_fixtures.py +0 -0
  54. {kleinkram-0.49.0.dev20250728101614 → kleinkram-0.49.0.dev20250804105938}/tests/test_printing.py +0 -0
  55. {kleinkram-0.49.0.dev20250728101614 → kleinkram-0.49.0.dev20250804105938}/tests/test_query.py +0 -0
  56. {kleinkram-0.49.0.dev20250728101614 → kleinkram-0.49.0.dev20250804105938}/tests/test_utils.py +0 -0
  57. {kleinkram-0.49.0.dev20250728101614 → kleinkram-0.49.0.dev20250804105938}/tests/test_wrappers.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kleinkram
3
- Version: 0.49.0.dev20250728101614
3
+ Version: 0.49.0.dev20250804105938
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
@@ -13,7 +13,7 @@ from kleinkram.config import get_config
13
13
  from kleinkram.config import save_config
14
14
 
15
15
  CLI_CALLBACK_ENDPOINT = "/cli/callback"
16
- OAUTH_SLUG = "/auth/google?state=cli"
16
+ OAUTH_SLUG = "/auth/"
17
17
 
18
18
 
19
19
  def _has_browser() -> bool:
@@ -80,7 +80,7 @@ def _browser_auth(*, url: str) -> None:
80
80
  print(f"Authentication complete. Tokens saved to {CONFIG_PATH}.")
81
81
 
82
82
 
83
- def login_flow(*, key: Optional[str] = None, headless: bool = False) -> None:
83
+ def login_flow(*, oAuthProvider: str, key: Optional[str] = None, headless: bool = False) -> None:
84
84
  config = get_config()
85
85
  # use cli key login
86
86
  if key is not None:
@@ -88,7 +88,7 @@ def login_flow(*, key: Optional[str] = None, headless: bool = False) -> None:
88
88
  save_config(config)
89
89
  return
90
90
 
91
- oauth_url = f"{config.endpoint.api}{OAUTH_SLUG}"
91
+ oauth_url = f"{config.endpoint.api}{OAUTH_SLUG}{oAuthProvider}?state=cli"
92
92
  if not headless and _has_browser():
93
93
  _browser_auth(url=oauth_url)
94
94
  else:
@@ -127,10 +127,24 @@ def base_handler(exc: Exception) -> int:
127
127
 
128
128
  @app.command(rich_help_panel=CommandTypes.AUTH)
129
129
  def login(
130
+ oAuthProvider: str = typer.Option(
131
+ "google",
132
+ "--oauth-provider",
133
+ "-p",
134
+ help="OAuth provider to use for login. Supported providers: google, github.",
135
+ show_default=True,
136
+ ),
130
137
  key: Optional[str] = typer.Option(None, help="CLI key"),
131
138
  headless: bool = typer.Option(False),
132
139
  ) -> None:
133
- login_flow(key=key, headless=headless)
140
+
141
+ # validate oAuthProvider
142
+ if oAuthProvider not in ["google", "github"]:
143
+ raise typer.BadParameter(
144
+ f"Unsupported OAuth provider '{oAuthProvider}'. Supported providers: google, github."
145
+ )
146
+
147
+ login_flow(oAuthProvider=oAuthProvider, key=key, headless=headless)
134
148
 
135
149
 
136
150
  @app.command(rich_help_panel=CommandTypes.AUTH)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kleinkram
3
- Version: 0.49.0.dev20250728101614
3
+ Version: 0.49.0.dev20250804105938
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
@@ -1,6 +1,6 @@
1
1
  [metadata]
2
2
  name = kleinkram
3
- version = 0.49.0-dev20250728101614
3
+ version = 0.49.0-dev20250804105938
4
4
  description = give me your bags
5
5
  long_description = file: README.md
6
6
  long_description_content_type = text/markdown