snapctl 0.53.1__tar.gz → 1.0.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.

Potentially problematic release.


This version of snapctl might be problematic. Click here for more details.

Files changed (46) hide show
  1. {snapctl-0.53.1 → snapctl-1.0.2}/PKG-INFO +7 -6
  2. {snapctl-0.53.1 → snapctl-1.0.2}/pyproject.toml +16 -5
  3. {snapctl-0.53.1 → snapctl-1.0.2}/snapctl/commands/byogs.py +2 -1
  4. {snapctl-0.53.1 → snapctl-1.0.2}/snapctl/commands/snapend.py +9 -4
  5. {snapctl-0.53.1 → snapctl-1.0.2}/snapctl/config/app.py +1 -1
  6. {snapctl-0.53.1 → snapctl-1.0.2}/snapctl/config/constants.py +1 -1
  7. snapctl-1.0.2/snapctl/data/releases/1.0.0.mdx +7 -0
  8. {snapctl-0.53.1 → snapctl-1.0.2}/LICENSE +0 -0
  9. {snapctl-0.53.1 → snapctl-1.0.2}/README.md +0 -0
  10. {snapctl-0.53.1 → snapctl-1.0.2}/snapctl/__init__.py +0 -0
  11. {snapctl-0.53.1 → snapctl-1.0.2}/snapctl/__main__.py +0 -0
  12. {snapctl-0.53.1 → snapctl-1.0.2}/snapctl/commands/__init__.py +0 -0
  13. {snapctl-0.53.1 → snapctl-1.0.2}/snapctl/commands/byosnap.py +0 -0
  14. {snapctl-0.53.1 → snapctl-1.0.2}/snapctl/commands/byows.py +0 -0
  15. {snapctl-0.53.1 → snapctl-1.0.2}/snapctl/commands/game.py +0 -0
  16. {snapctl-0.53.1 → snapctl-1.0.2}/snapctl/commands/generate.py +0 -0
  17. {snapctl-0.53.1 → snapctl-1.0.2}/snapctl/commands/release_notes.py +0 -0
  18. {snapctl-0.53.1 → snapctl-1.0.2}/snapctl/config/__init__.py +0 -0
  19. {snapctl-0.53.1 → snapctl-1.0.2}/snapctl/config/endpoints.py +0 -0
  20. {snapctl-0.53.1 → snapctl-1.0.2}/snapctl/config/hashes.py +0 -0
  21. {snapctl-0.53.1 → snapctl-1.0.2}/snapctl/data/__init__.py +0 -0
  22. {snapctl-0.53.1 → snapctl-1.0.2}/snapctl/data/profiles/__init__.py +0 -0
  23. {snapctl-0.53.1 → snapctl-1.0.2}/snapctl/data/profiles/snapser-byosnap-profile.json +0 -0
  24. {snapctl-0.53.1 → snapctl-1.0.2}/snapctl/data/profiles/snapser-byosnap-profile.yaml +0 -0
  25. {snapctl-0.53.1 → snapctl-1.0.2}/snapctl/data/profiles/snapser-byosnap-profile.yml +0 -0
  26. {snapctl-0.53.1 → snapctl-1.0.2}/snapctl/data/releases/__init__.py +0 -0
  27. {snapctl-0.53.1 → snapctl-1.0.2}/snapctl/data/releases/beta-0.46.0.mdx +0 -0
  28. {snapctl-0.53.1 → snapctl-1.0.2}/snapctl/data/releases/beta-0.46.4.mdx +0 -0
  29. {snapctl-0.53.1 → snapctl-1.0.2}/snapctl/data/releases/beta-0.47.0.mdx +0 -0
  30. {snapctl-0.53.1 → snapctl-1.0.2}/snapctl/data/releases/beta-0.47.1.mdx +0 -0
  31. {snapctl-0.53.1 → snapctl-1.0.2}/snapctl/data/releases/beta-0.47.2.mdx +0 -0
  32. {snapctl-0.53.1 → snapctl-1.0.2}/snapctl/data/releases/beta-0.48.0.mdx +0 -0
  33. {snapctl-0.53.1 → snapctl-1.0.2}/snapctl/data/releases/beta-0.49.0.mdx +0 -0
  34. {snapctl-0.53.1 → snapctl-1.0.2}/snapctl/data/releases/beta-0.49.1.mdx +0 -0
  35. {snapctl-0.53.1 → snapctl-1.0.2}/snapctl/data/releases/beta-0.49.2.mdx +0 -0
  36. {snapctl-0.53.1 → snapctl-1.0.2}/snapctl/data/releases/beta-0.49.3.mdx +0 -0
  37. {snapctl-0.53.1 → snapctl-1.0.2}/snapctl/data/releases/beta-0.50.0.mdx +0 -0
  38. {snapctl-0.53.1 → snapctl-1.0.2}/snapctl/data/releases/beta-0.51.0.mdx +0 -0
  39. {snapctl-0.53.1 → snapctl-1.0.2}/snapctl/data/releases/beta-0.53.1.mdx +0 -0
  40. {snapctl-0.53.1 → snapctl-1.0.2}/snapctl/main.py +0 -0
  41. {snapctl-0.53.1 → snapctl-1.0.2}/snapctl/types/__init__.py +0 -0
  42. {snapctl-0.53.1 → snapctl-1.0.2}/snapctl/types/definitions.py +0 -0
  43. {snapctl-0.53.1 → snapctl-1.0.2}/snapctl/utils/__init__.py +0 -0
  44. {snapctl-0.53.1 → snapctl-1.0.2}/snapctl/utils/echo.py +0 -0
  45. {snapctl-0.53.1 → snapctl-1.0.2}/snapctl/utils/helper.py +0 -0
  46. {snapctl-0.53.1 → snapctl-1.0.2}/snapctl/utils/telemetry.py +0 -0
@@ -1,21 +1,22 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: snapctl
3
- Version: 0.53.1
3
+ Version: 1.0.2
4
4
  Summary: Snapser CLI Tool
5
5
  Author: Ajinkya Apte
6
6
  Author-email: aj@snapser.com
7
- Requires-Python: >=3.10,<4.0
7
+ Requires-Python: >=3.10,<3.13
8
8
  Classifier: Programming Language :: Python :: 3
9
9
  Classifier: Programming Language :: Python :: 3.10
10
10
  Classifier: Programming Language :: Python :: 3.11
11
11
  Classifier: Programming Language :: Python :: 3.12
12
- Requires-Dist: configparser (>=6.0.0,<7.0.0)
12
+ Provides-Extra: all
13
+ Requires-Dist: configparser (>=6,<7)
13
14
  Requires-Dist: pyfiglet (>=1.0.2,<2.0.0)
14
- Requires-Dist: pytest (>=8.2.2,<9.0.0)
15
- Requires-Dist: pytest-mock (>=3.14.0,<4.0.0)
16
15
  Requires-Dist: pyyaml (>=6.0.2,<7.0.0)
17
16
  Requires-Dist: requests (>=2.28.2,<3.0.0)
18
- Requires-Dist: typer[all] (>=0.12.3,<0.13.0)
17
+ Requires-Dist: rich (>=13) ; extra == "all"
18
+ Requires-Dist: shellingham (>=1.5) ; extra == "all"
19
+ Requires-Dist: typer (>=0.18,<1.0)
19
20
  Description-Content-Type: text/markdown
20
21
 
21
22
  export const description = 'CLI'
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "snapctl"
3
- version = "0.53.1"
3
+ version = "1.0.2"
4
4
  description = "Snapser CLI Tool"
5
5
  authors = ["Ajinkya Apte <aj@snapser.com>"]
6
6
  readme = "README.md"
@@ -16,14 +16,25 @@ include = [
16
16
  snapctl = "snapctl.main:app"
17
17
 
18
18
  [tool.poetry.dependencies]
19
- python = "^3.10"
20
- typer = {extras = ["all"], version = "^0.12.3"}
19
+ python = ">=3.10,<3.13"
20
+ typer = ">=0.18,<1.0"
21
21
  requests = "^2.28.2"
22
- configparser = "^6.0.0"
22
+ configparser = ">=6,<7"
23
23
  pyfiglet = "^1.0.2"
24
+ pyyaml = "^6.0.2"
25
+
26
+ # Mark optional deps here…
27
+ rich = { version = ">=13", optional = true }
28
+ shellingham = { version = ">=1.5", optional = true }
29
+
30
+ # …and reference them by name in an extras group
31
+ [tool.poetry.extras]
32
+ all = ["rich", "shellingham"]
33
+
34
+ # keep test-only deps out of runtime
35
+ [tool.poetry.group.dev.dependencies]
24
36
  pytest = "^8.2.2"
25
37
  pytest-mock = "^3.14.0"
26
- pyyaml = "^6.0.2"
27
38
 
28
39
  [build-system]
29
40
  requires = ["poetry-core"]
@@ -400,8 +400,9 @@ class ByoGs:
400
400
  code=SNAPCTL_INPUT_ERROR)
401
401
  # Check docker file path
402
402
  if not self.skip_build and not self.docker_path_filename:
403
+ path_in_message = self.resources_path if self.resources_path else self.path
403
404
  snapctl_error(
404
- f"Unable to find {self.docker_path_filename}", SNAPCTL_INPUT_ERROR)
405
+ f"Unable to find the Dockerfile at {path_in_message}", SNAPCTL_INPUT_ERROR)
405
406
  elif self.subcommand == 'sync':
406
407
  # Check path
407
408
  if not self.skip_build and not self.path:
@@ -35,7 +35,7 @@ class Snapend:
35
35
  'download', 'update', 'state'
36
36
  ]
37
37
  DOWNLOAD_CATEGORY = [
38
- 'sdk', 'protos', 'snapend-manifest'
38
+ 'sdk', 'protos', 'snapend-manifest', 'legacy-sdk'
39
39
  ]
40
40
  CATEGORY_TYPE_SDK = [
41
41
  # 'omni',
@@ -123,6 +123,10 @@ class Snapend:
123
123
  The portal server however expects us to pass client-sdk or server-sdk
124
124
  Hence we need to do this
125
125
  '''
126
+ if category == 'legacy-sdk' and category_format in CLIENT_SDK_TYPES:
127
+ return 'legacy-client-sdk'
128
+ if category == 'legacy-sdk' and category_format in SERVER_SDK_TYPES:
129
+ return 'legacy-server-sdk'
126
130
  if category == 'sdk' and category_format in CLIENT_SDK_TYPES:
127
131
  return 'client-sdk'
128
132
  if category == 'sdk' and category_format in SERVER_SDK_TYPES:
@@ -135,7 +139,7 @@ class Snapend:
135
139
 
136
140
  @staticmethod
137
141
  def _make_download_type(category: str):
138
- if category == 'sdk':
142
+ if category in ['sdk', 'legacy-sdk']:
139
143
  return SDK_TYPES
140
144
  if category == 'protos':
141
145
  return PROTOS_TYPES
@@ -230,7 +234,7 @@ class Snapend:
230
234
  if self.category == 'protos':
231
235
  url += f"&subtype={self.category_type}"
232
236
  # If client or server SDK, add sub type and auth type
233
- if self.category == 'sdk':
237
+ if self.category in ['sdk', 'legacy-sdk']:
234
238
  url += "&subtype=" + \
235
239
  f"{self.download_types[self.category_format]['subtype']}"
236
240
  url += f"&access_type={SDK_ACCESS_AUTH_TYPE_LOOKUP[self.category_type]['access_type']}"
@@ -244,6 +248,7 @@ class Snapend:
244
248
  # Customize snaps
245
249
  if self.snaps:
246
250
  url += f"&snaps={self.snaps}"
251
+ # info(f"Downloading from {url}")
247
252
  res = requests.get(
248
253
  url, headers={'api-key': self.api_key}, timeout=SERVER_CALL_TIMEOUT
249
254
  )
@@ -405,7 +410,7 @@ class Snapend:
405
410
  code=SNAPCTL_INPUT_ERROR
406
411
  )
407
412
  # Check the auth type
408
- if self.category == 'sdk':
413
+ if self.category in ['sdk', 'legacy-sdk']:
409
414
  if not self.category_type:
410
415
  snapctl_error(
411
416
  message="Missing required parameter: --type",
@@ -25,7 +25,7 @@ APP_CONFIG: Dict[str, Dict[str, str]] = {
25
25
  'PROD': {
26
26
  'AMPLITUDE_REGION': 'US',
27
27
  'AMPLITUDE_API_KEY': '31fe2221f24fc30694cda777e98bd7a1',
28
- 'TELEMETRY_ACTIVE': 'false',
28
+ 'TELEMETRY_ACTIVE': 'true',
29
29
  'TELEMETRY_DRY_RUN': 'false',
30
30
  }
31
31
  }
@@ -3,7 +3,7 @@ Constants used by snapctl
3
3
  """
4
4
  COMPANY_NAME = 'Snapser'
5
5
  VERSION_PREFIX = ''
6
- VERSION = '0.53.1'
6
+ VERSION = '1.0.2'
7
7
  CONFIG_FILE_MAC = '~/.snapser/config'
8
8
  CONFIG_FILE_WIN = '%homepath%\\.snapser\\config'
9
9
 
@@ -0,0 +1,7 @@
1
+ ## Release 1.0.0
2
+ ##### Sept 4, 2025
3
+
4
+ ### Breaking Changes
5
+ #### Snapend Download
6
+ 1. The Snapend Download SDK now support a new user SDK category.
7
+ 2. The old SDK can now be downloaded passing `--category legacy-sdk`.
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes