kscale 0.0.6__tar.gz → 0.0.7__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (34) hide show
  1. {kscale-0.0.6/kscale.egg-info → kscale-0.0.7}/PKG-INFO +6 -5
  2. {kscale-0.0.6 → kscale-0.0.7}/kscale/__init__.py +1 -1
  3. kscale-0.0.7/kscale/requirements.txt +10 -0
  4. {kscale-0.0.6 → kscale-0.0.7}/kscale/store/client.py +1 -0
  5. {kscale-0.0.6 → kscale-0.0.7}/kscale/store/pybullet.py +4 -1
  6. {kscale-0.0.6 → kscale-0.0.7}/kscale/store/urdf.py +12 -1
  7. {kscale-0.0.6 → kscale-0.0.7/kscale.egg-info}/PKG-INFO +6 -5
  8. kscale-0.0.7/kscale.egg-info/requires.txt +13 -0
  9. kscale-0.0.6/kscale/requirements.txt +0 -9
  10. kscale-0.0.6/kscale.egg-info/requires.txt +0 -12
  11. {kscale-0.0.6 → kscale-0.0.7}/LICENSE +0 -0
  12. {kscale-0.0.6 → kscale-0.0.7}/MANIFEST.in +0 -0
  13. {kscale-0.0.6 → kscale-0.0.7}/README.md +0 -0
  14. {kscale-0.0.6 → kscale-0.0.7}/kscale/api.py +0 -0
  15. {kscale-0.0.6 → kscale-0.0.7}/kscale/conf.py +0 -0
  16. {kscale-0.0.6 → kscale-0.0.7}/kscale/py.typed +0 -0
  17. {kscale-0.0.6 → kscale-0.0.7}/kscale/requirements-dev.txt +0 -0
  18. {kscale-0.0.6 → kscale-0.0.7}/kscale/store/__init__.py +0 -0
  19. {kscale-0.0.6 → kscale-0.0.7}/kscale/store/api.py +0 -0
  20. {kscale-0.0.6 → kscale-0.0.7}/kscale/store/bullet/MANIFEST.in +0 -0
  21. {kscale-0.0.6 → kscale-0.0.7}/kscale/store/cli.py +0 -0
  22. {kscale-0.0.6 → kscale-0.0.7}/kscale/store/gen/__init__.py +0 -0
  23. {kscale-0.0.6 → kscale-0.0.7}/kscale/store/gen/api.py +0 -0
  24. {kscale-0.0.6 → kscale-0.0.7}/kscale/store/utils.py +0 -0
  25. {kscale-0.0.6 → kscale-0.0.7}/kscale/utils/__init__.py +0 -0
  26. {kscale-0.0.6 → kscale-0.0.7}/kscale/utils/api_base.py +0 -0
  27. {kscale-0.0.6 → kscale-0.0.7}/kscale.egg-info/SOURCES.txt +0 -0
  28. {kscale-0.0.6 → kscale-0.0.7}/kscale.egg-info/dependency_links.txt +0 -0
  29. {kscale-0.0.6 → kscale-0.0.7}/kscale.egg-info/entry_points.txt +0 -0
  30. {kscale-0.0.6 → kscale-0.0.7}/kscale.egg-info/top_level.txt +0 -0
  31. {kscale-0.0.6 → kscale-0.0.7}/pyproject.toml +0 -0
  32. {kscale-0.0.6 → kscale-0.0.7}/setup.cfg +0 -0
  33. {kscale-0.0.6 → kscale-0.0.7}/setup.py +0 -0
  34. {kscale-0.0.6 → kscale-0.0.7}/tests/test_dummy.py +0 -0
@@ -1,16 +1,17 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: kscale
3
- Version: 0.0.6
3
+ Version: 0.0.7
4
4
  Summary: The kscale project
5
5
  Home-page: https://github.com/kscalelabs/kscale
6
6
  Author: Benjamin Bolte
7
7
  Requires-Python: >=3.11
8
8
  Description-Content-Type: text/markdown
9
9
  License-File: LICENSE
10
- Requires-Dist: omegaconf==2.3.0
11
- Requires-Dist: email_validator==2.2.0
12
- Requires-Dist: httpx==0.27.0
13
- Requires-Dist: requests==2.32.2
10
+ Requires-Dist: omegaconf
11
+ Requires-Dist: email_validator
12
+ Requires-Dist: httpx
13
+ Requires-Dist: requests
14
+ Requires-Dist: pydantic
14
15
  Provides-Extra: dev
15
16
  Requires-Dist: black; extra == "dev"
16
17
  Requires-Dist: darglint; extra == "dev"
@@ -1,5 +1,5 @@
1
1
  """Defines the common interface for the K-Scale Python API."""
2
2
 
3
- __version__ = "0.0.6"
3
+ __version__ = "0.0.7"
4
4
 
5
5
  from kscale.api import KScale
@@ -0,0 +1,10 @@
1
+ # requirements.txt
2
+
3
+ # Configuration
4
+ omegaconf
5
+ email_validator
6
+
7
+ # HTTP requests
8
+ httpx
9
+ requests
10
+ pydantic
@@ -26,6 +26,7 @@ class KScaleStoreClient:
26
26
  self.client = httpx.AsyncClient(
27
27
  base_url=self.base_url,
28
28
  headers={"Authorization": f"Bearer {get_api_key()}"},
29
+ timeout=httpx.Timeout(30.0),
29
30
  )
30
31
 
31
32
  async def _request(
@@ -27,7 +27,10 @@ async def main(args: Sequence[str] | None = None) -> None:
27
27
  parsed_args = parser.parse_args(args)
28
28
 
29
29
  # Gets the URDF path.
30
- urdf_path = await download_urdf(parsed_args.listing_id)
30
+ urdf_dir = await download_urdf(parsed_args.listing_id)
31
+ urdf_path = next(urdf_dir.glob("*.urdf"), None)
32
+ if urdf_path is None:
33
+ raise ValueError(f"No URDF found in {urdf_dir}")
31
34
 
32
35
  try:
33
36
  import pybullet as p # type: ignore[import-not-found]
@@ -21,6 +21,17 @@ from kscale.store.utils import get_api_key
21
21
  logging.basicConfig(level=logging.INFO)
22
22
  logger = logging.getLogger(__name__)
23
23
 
24
+ ALLOWED_SUFFIXES = {
25
+ ".urdf",
26
+ ".mjcf",
27
+ ".stl",
28
+ ".obj",
29
+ ".dae",
30
+ ".png",
31
+ ".jpg",
32
+ ".jpeg",
33
+ }
34
+
24
35
 
25
36
  def get_cache_dir() -> Path:
26
37
  return Path(Settings.load().store.cache_dir).expanduser().resolve()
@@ -75,7 +86,7 @@ def create_tarball(folder_path: Path, output_filename: str, cache_dir: Path) ->
75
86
  tarball_path = cache_dir / output_filename
76
87
  with tarfile.open(tarball_path, "w:gz") as tar:
77
88
  for file_path in folder_path.rglob("*"):
78
- if file_path.is_file() and file_path.suffix.lower() in (".urdf", ".mjcf", ".stl", ".obj", ".dae"):
89
+ if file_path.is_file() and file_path.suffix.lower() in ALLOWED_SUFFIXES:
79
90
  tar.add(file_path, arcname=file_path.relative_to(folder_path))
80
91
  logger.info("Added %s to tarball", file_path)
81
92
  else:
@@ -1,16 +1,17 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: kscale
3
- Version: 0.0.6
3
+ Version: 0.0.7
4
4
  Summary: The kscale project
5
5
  Home-page: https://github.com/kscalelabs/kscale
6
6
  Author: Benjamin Bolte
7
7
  Requires-Python: >=3.11
8
8
  Description-Content-Type: text/markdown
9
9
  License-File: LICENSE
10
- Requires-Dist: omegaconf==2.3.0
11
- Requires-Dist: email_validator==2.2.0
12
- Requires-Dist: httpx==0.27.0
13
- Requires-Dist: requests==2.32.2
10
+ Requires-Dist: omegaconf
11
+ Requires-Dist: email_validator
12
+ Requires-Dist: httpx
13
+ Requires-Dist: requests
14
+ Requires-Dist: pydantic
14
15
  Provides-Extra: dev
15
16
  Requires-Dist: black; extra == "dev"
16
17
  Requires-Dist: darglint; extra == "dev"
@@ -0,0 +1,13 @@
1
+ omegaconf
2
+ email_validator
3
+ httpx
4
+ requests
5
+ pydantic
6
+
7
+ [dev]
8
+ black
9
+ darglint
10
+ mypy
11
+ pytest
12
+ ruff
13
+ datamodel-code-generator
@@ -1,9 +0,0 @@
1
- # requirements.txt
2
-
3
- # Configuration
4
- omegaconf==2.3.0
5
- email_validator==2.2.0
6
-
7
- # HTTP requests
8
- httpx==0.27.0
9
- requests==2.32.2
@@ -1,12 +0,0 @@
1
- omegaconf==2.3.0
2
- email_validator==2.2.0
3
- httpx==0.27.0
4
- requests==2.32.2
5
-
6
- [dev]
7
- black
8
- darglint
9
- mypy
10
- pytest
11
- ruff
12
- datamodel-code-generator
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
File without changes
File without changes