kscale 0.3.12__tar.gz → 0.3.13__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.
Files changed (42) hide show
  1. {kscale-0.3.12/kscale.egg-info → kscale-0.3.13}/PKG-INFO +2 -2
  2. {kscale-0.3.12 → kscale-0.3.13}/README.md +1 -1
  3. {kscale-0.3.12 → kscale-0.3.13}/kscale/__init__.py +1 -1
  4. {kscale-0.3.12 → kscale-0.3.13}/kscale/web/clients/robot_class.py +9 -1
  5. {kscale-0.3.12 → kscale-0.3.13}/kscale/web/gen/api.py +41 -1
  6. {kscale-0.3.12 → kscale-0.3.13/kscale.egg-info}/PKG-INFO +2 -2
  7. {kscale-0.3.12 → kscale-0.3.13}/LICENSE +0 -0
  8. {kscale-0.3.12 → kscale-0.3.13}/MANIFEST.in +0 -0
  9. {kscale-0.3.12 → kscale-0.3.13}/kscale/artifacts/__init__.py +0 -0
  10. {kscale-0.3.12 → kscale-0.3.13}/kscale/artifacts/plane.obj +0 -0
  11. {kscale-0.3.12 → kscale-0.3.13}/kscale/artifacts/plane.urdf +0 -0
  12. {kscale-0.3.12 → kscale-0.3.13}/kscale/cli.py +0 -0
  13. {kscale-0.3.12 → kscale-0.3.13}/kscale/conf.py +0 -0
  14. {kscale-0.3.12 → kscale-0.3.13}/kscale/py.typed +0 -0
  15. {kscale-0.3.12 → kscale-0.3.13}/kscale/requirements-dev.txt +0 -0
  16. {kscale-0.3.12 → kscale-0.3.13}/kscale/requirements.txt +0 -0
  17. {kscale-0.3.12 → kscale-0.3.13}/kscale/utils/__init__.py +0 -0
  18. {kscale-0.3.12 → kscale-0.3.13}/kscale/utils/api_base.py +0 -0
  19. {kscale-0.3.12 → kscale-0.3.13}/kscale/utils/checksum.py +0 -0
  20. {kscale-0.3.12 → kscale-0.3.13}/kscale/utils/cli.py +0 -0
  21. {kscale-0.3.12 → kscale-0.3.13}/kscale/web/__init__.py +0 -0
  22. {kscale-0.3.12 → kscale-0.3.13}/kscale/web/cli/__init__.py +0 -0
  23. {kscale-0.3.12 → kscale-0.3.13}/kscale/web/cli/robot.py +0 -0
  24. {kscale-0.3.12 → kscale-0.3.13}/kscale/web/cli/robot_class.py +0 -0
  25. {kscale-0.3.12 → kscale-0.3.13}/kscale/web/cli/user.py +0 -0
  26. {kscale-0.3.12 → kscale-0.3.13}/kscale/web/clients/__init__.py +0 -0
  27. {kscale-0.3.12 → kscale-0.3.13}/kscale/web/clients/base.py +0 -0
  28. {kscale-0.3.12 → kscale-0.3.13}/kscale/web/clients/client.py +0 -0
  29. {kscale-0.3.12 → kscale-0.3.13}/kscale/web/clients/robot.py +0 -0
  30. {kscale-0.3.12 → kscale-0.3.13}/kscale/web/clients/user.py +0 -0
  31. {kscale-0.3.12 → kscale-0.3.13}/kscale/web/gen/__init__.py +0 -0
  32. {kscale-0.3.12 → kscale-0.3.13}/kscale/web/utils.py +0 -0
  33. {kscale-0.3.12 → kscale-0.3.13}/kscale.egg-info/SOURCES.txt +0 -0
  34. {kscale-0.3.12 → kscale-0.3.13}/kscale.egg-info/dependency_links.txt +0 -0
  35. {kscale-0.3.12 → kscale-0.3.13}/kscale.egg-info/entry_points.txt +0 -0
  36. {kscale-0.3.12 → kscale-0.3.13}/kscale.egg-info/not-zip-safe +0 -0
  37. {kscale-0.3.12 → kscale-0.3.13}/kscale.egg-info/requires.txt +0 -0
  38. {kscale-0.3.12 → kscale-0.3.13}/kscale.egg-info/top_level.txt +0 -0
  39. {kscale-0.3.12 → kscale-0.3.13}/pyproject.toml +0 -0
  40. {kscale-0.3.12 → kscale-0.3.13}/setup.cfg +0 -0
  41. {kscale-0.3.12 → kscale-0.3.13}/setup.py +0 -0
  42. {kscale-0.3.12 → kscale-0.3.13}/tests/test_dummy.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kscale
3
- Version: 0.3.12
3
+ Version: 0.3.13
4
4
  Summary: The kscale project
5
5
  Home-page: https://github.com/kscalelabs/kscale
6
6
  Author: Benjamin Bolte
@@ -55,7 +55,7 @@ Dynamic: summary
55
55
 
56
56
  # K-Scale Command Line Interface
57
57
 
58
- This is a command line tool for interacting with various services provided by K-Scale Labs. For more information, see the [documentation](https://docs.kscale.dev/pkg/intro).
58
+ This is a command line tool for interacting with various services provided by K-Scale Labs. For more information, see the [documentation](https://docs.kscale.dev/docs/k-scale-api).
59
59
 
60
60
  ## Installation
61
61
 
@@ -15,7 +15,7 @@
15
15
 
16
16
  # K-Scale Command Line Interface
17
17
 
18
- This is a command line tool for interacting with various services provided by K-Scale Labs. For more information, see the [documentation](https://docs.kscale.dev/pkg/intro).
18
+ This is a command line tool for interacting with various services provided by K-Scale Labs. For more information, see the [documentation](https://docs.kscale.dev/docs/k-scale-api).
19
19
 
20
20
  ## Installation
21
21
 
@@ -1,6 +1,6 @@
1
1
  """Defines the common interface for the K-Scale Python API."""
2
2
 
3
- __version__ = "0.3.12"
3
+ __version__ = "0.3.13"
4
4
 
5
5
  from pathlib import Path
6
6
 
@@ -3,6 +3,7 @@
3
3
  import hashlib
4
4
  import json
5
5
  import logging
6
+ import shutil
6
7
  import tarfile
7
8
  from pathlib import Path
8
9
  from typing import Any
@@ -171,9 +172,16 @@ class RobotClassClient(BaseClient):
171
172
 
172
173
  # Unpacks the file if requested.
173
174
  unpack_path = cache_path.parent / "robot"
174
- unpack_path.mkdir(parents=True, exist_ok=True)
175
175
  unpacked_path_info = unpack_path / INFO_FILE_NAME
176
176
 
177
+ if not cache:
178
+ # If not using cache, remove the existing unpacked directory.
179
+ if unpack_path.exists():
180
+ logger.info("Removing existing unpacked directory")
181
+ shutil.rmtree(unpack_path)
182
+
183
+ unpack_path.mkdir(parents=True, exist_ok=True)
184
+
177
185
  # If the file has already been unpacked, return the path.
178
186
  if unpacked_path_info.exists():
179
187
  with open(unpacked_path_info, "r") as f:
@@ -2,7 +2,7 @@
2
2
 
3
3
  # generated by datamodel-codegen:
4
4
  # filename: openapi.json
5
- # timestamp: 2025-05-03T21:02:12+00:00
5
+ # timestamp: 2025-05-04T22:45:26+00:00
6
6
 
7
7
  from __future__ import annotations
8
8
 
@@ -19,6 +19,40 @@ class APIKeyResponse(BaseModel):
19
19
  api_key: str = Field(..., title="Api Key")
20
20
 
21
21
 
22
+ class ActuatorMetadataInput(BaseModel):
23
+ actuator_type: Optional[str] = Field(None, title="Actuator Type")
24
+ sysid: Optional[str] = Field(None, title="Sysid")
25
+ max_torque: Optional[Union[float, str]] = Field(None, title="Max Torque")
26
+ armature: Optional[Union[float, str]] = Field(None, title="Armature")
27
+ damping: Optional[Union[float, str]] = Field(None, title="Damping")
28
+ frictionloss: Optional[Union[float, str]] = Field(None, title="Frictionloss")
29
+ vin: Optional[Union[float, str]] = Field(None, title="Vin")
30
+ kt: Optional[Union[float, str]] = Field(None, title="Kt")
31
+ R: Optional[Union[float, str]] = Field(None, title="R")
32
+ vmax: Optional[Union[float, str]] = Field(None, title="Vmax")
33
+ amax: Optional[Union[float, str]] = Field(None, title="Amax")
34
+ max_velocity: Optional[Union[float, str]] = Field(None, title="Max Velocity")
35
+ max_pwm: Optional[Union[float, str]] = Field(None, title="Max Pwm")
36
+ error_gain: Optional[Union[float, str]] = Field(None, title="Error Gain")
37
+
38
+
39
+ class ActuatorMetadataOutput(BaseModel):
40
+ actuator_type: Optional[str] = Field(None, title="Actuator Type")
41
+ sysid: Optional[str] = Field(None, title="Sysid")
42
+ max_torque: Optional[str] = Field(None, title="Max Torque")
43
+ armature: Optional[str] = Field(None, title="Armature")
44
+ damping: Optional[str] = Field(None, title="Damping")
45
+ frictionloss: Optional[str] = Field(None, title="Frictionloss")
46
+ vin: Optional[str] = Field(None, title="Vin")
47
+ kt: Optional[str] = Field(None, title="Kt")
48
+ R: Optional[str] = Field(None, title="R")
49
+ vmax: Optional[str] = Field(None, title="Vmax")
50
+ amax: Optional[str] = Field(None, title="Amax")
51
+ max_velocity: Optional[str] = Field(None, title="Max Velocity")
52
+ max_pwm: Optional[str] = Field(None, title="Max Pwm")
53
+ error_gain: Optional[str] = Field(None, title="Error Gain")
54
+
55
+
22
56
  class AddRobotClassRequest(BaseModel):
23
57
  description: Optional[str] = Field(None, title="Description")
24
58
 
@@ -82,11 +116,17 @@ class RobotResponse(BaseModel):
82
116
 
83
117
  class RobotURDFMetadataInput(BaseModel):
84
118
  joint_name_to_metadata: Optional[Dict[str, JointMetadataInput]] = Field(None, title="Joint Name To Metadata")
119
+ actuator_type_to_metadata: Optional[Dict[str, ActuatorMetadataInput]] = Field(
120
+ None, title="Actuator Type To Metadata"
121
+ )
85
122
  control_frequency: Optional[Union[float, str]] = Field(None, title="Control Frequency")
86
123
 
87
124
 
88
125
  class RobotURDFMetadataOutput(BaseModel):
89
126
  joint_name_to_metadata: Optional[Dict[str, JointMetadataOutput]] = Field(None, title="Joint Name To Metadata")
127
+ actuator_type_to_metadata: Optional[Dict[str, ActuatorMetadataOutput]] = Field(
128
+ None, title="Actuator Type To Metadata"
129
+ )
90
130
  control_frequency: Optional[str] = Field(None, title="Control Frequency")
91
131
 
92
132
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kscale
3
- Version: 0.3.12
3
+ Version: 0.3.13
4
4
  Summary: The kscale project
5
5
  Home-page: https://github.com/kscalelabs/kscale
6
6
  Author: Benjamin Bolte
@@ -55,7 +55,7 @@ Dynamic: summary
55
55
 
56
56
  # K-Scale Command Line Interface
57
57
 
58
- This is a command line tool for interacting with various services provided by K-Scale Labs. For more information, see the [documentation](https://docs.kscale.dev/pkg/intro).
58
+ This is a command line tool for interacting with various services provided by K-Scale Labs. For more information, see the [documentation](https://docs.kscale.dev/docs/k-scale-api).
59
59
 
60
60
  ## Installation
61
61
 
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