makerrepo-cli 0.1.1__tar.gz → 0.1.3__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 (28) hide show
  1. {makerrepo_cli-0.1.1 → makerrepo_cli-0.1.3}/PKG-INFO +2 -2
  2. {makerrepo_cli-0.1.1 → makerrepo_cli-0.1.3}/makerrepo_cli/cmds/artifacts/capture_image.py +0 -34
  3. makerrepo_cli-0.1.3/makerrepo_cli/data/cad_viewer.html +79 -0
  4. makerrepo_cli-0.1.3/makerrepo_cli/data/three-cad-viewer-3.6.3.css +1212 -0
  5. makerrepo_cli-0.1.3/makerrepo_cli/data/three-cad-viewer-3.6.3.js +91509 -0
  6. makerrepo_cli-0.1.3/makerrepo_cli/data/utils.js +176 -0
  7. {makerrepo_cli-0.1.1 → makerrepo_cli-0.1.3}/makerrepo_cli.egg-info/PKG-INFO +2 -2
  8. {makerrepo_cli-0.1.1 → makerrepo_cli-0.1.3}/makerrepo_cli.egg-info/SOURCES.txt +4 -0
  9. {makerrepo_cli-0.1.1 → makerrepo_cli-0.1.3}/makerrepo_cli.egg-info/requires.txt +1 -1
  10. {makerrepo_cli-0.1.1 → makerrepo_cli-0.1.3}/pyproject.toml +3 -3
  11. {makerrepo_cli-0.1.1 → makerrepo_cli-0.1.3}/LICENSE +0 -0
  12. {makerrepo_cli-0.1.1 → makerrepo_cli-0.1.3}/README.md +0 -0
  13. {makerrepo_cli-0.1.1 → makerrepo_cli-0.1.3}/makerrepo_cli/__init__.py +0 -0
  14. {makerrepo_cli-0.1.1 → makerrepo_cli-0.1.3}/makerrepo_cli/cmds/__init__.py +0 -0
  15. {makerrepo_cli-0.1.1 → makerrepo_cli-0.1.3}/makerrepo_cli/cmds/aliase.py +0 -0
  16. {makerrepo_cli-0.1.1 → makerrepo_cli-0.1.3}/makerrepo_cli/cmds/artifacts/__init__.py +0 -0
  17. {makerrepo_cli-0.1.1 → makerrepo_cli-0.1.3}/makerrepo_cli/cmds/artifacts/cli.py +0 -0
  18. {makerrepo_cli-0.1.1 → makerrepo_cli-0.1.3}/makerrepo_cli/cmds/artifacts/main.py +0 -0
  19. {makerrepo_cli-0.1.1 → makerrepo_cli-0.1.3}/makerrepo_cli/cmds/artifacts/ocp_data_types.py +0 -0
  20. {makerrepo_cli-0.1.1 → makerrepo_cli-0.1.3}/makerrepo_cli/cmds/artifacts/utils.py +0 -0
  21. {makerrepo_cli-0.1.1 → makerrepo_cli-0.1.3}/makerrepo_cli/cmds/cli.py +0 -0
  22. {makerrepo_cli-0.1.1 → makerrepo_cli-0.1.3}/makerrepo_cli/cmds/environment.py +0 -0
  23. {makerrepo_cli-0.1.1 → makerrepo_cli-0.1.3}/makerrepo_cli/cmds/main.py +0 -0
  24. {makerrepo_cli-0.1.1 → makerrepo_cli-0.1.3}/makerrepo_cli.egg-info/dependency_links.txt +0 -0
  25. {makerrepo_cli-0.1.1 → makerrepo_cli-0.1.3}/makerrepo_cli.egg-info/entry_points.txt +0 -0
  26. {makerrepo_cli-0.1.1 → makerrepo_cli-0.1.3}/makerrepo_cli.egg-info/top_level.txt +0 -0
  27. {makerrepo_cli-0.1.1 → makerrepo_cli-0.1.3}/setup.cfg +0 -0
  28. {makerrepo_cli-0.1.1 → makerrepo_cli-0.1.3}/tests/test_cmd.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: makerrepo-cli
3
- Version: 0.1.1
3
+ Version: 0.1.3
4
4
  Summary: Add your description here
5
5
  Requires-Python: >=3.11
6
6
  Description-Content-Type: text/markdown
@@ -9,7 +9,7 @@ Requires-Dist: click>=8.3.1
9
9
  Requires-Dist: makerrepo>=0.2.0
10
10
  Requires-Dist: ocp-vscode>=3.0.1
11
11
  Requires-Dist: playwright>=1.58.0
12
- Requires-Dist: rich>=14.3.2
12
+ Requires-Dist: rich>=13.0.0
13
13
  Dynamic: license-file
14
14
 
15
15
  # makerrepo-cli
@@ -195,37 +195,3 @@ class CADViewerService:
195
195
  async def __aexit__(self, exc_type, exc_val, exc_tb):
196
196
  """Async context manager exit."""
197
197
  await self.stop()
198
-
199
-
200
- async def main():
201
- """Download model file and take a screenshot."""
202
- import httpx
203
-
204
- logger = logging.getLogger(__name__)
205
- model_url = "https://makerrepo.com/r/fangpenlin/open-models/artifact/master/5081ffa2-d61f-4925-87e3-573ec291b53c/model.json"
206
- output_path = pathlib.Path("model_screenshot.png")
207
-
208
- logger.info("Downloading model from %s...", model_url)
209
- async with httpx.AsyncClient(follow_redirects=True) as client:
210
- response = await client.get(model_url)
211
- response.raise_for_status()
212
- model_data = response.json()
213
-
214
- logger.info("Model downloaded successfully")
215
- logger.info("Starting CAD viewer service...")
216
-
217
- async with CADViewerService(logger=logger) as viewer:
218
- logger.info("Loading CAD model data...")
219
- await viewer.load_cad_data(model_data)
220
-
221
- logger.info("Taking screenshot...")
222
- screenshot_bytes = await viewer.take_screenshot()
223
-
224
- # Save screenshot to file
225
- output_path.write_bytes(screenshot_bytes)
226
- logger.info("Screenshot saved to %s", output_path.absolute())
227
-
228
-
229
- if __name__ == "__main__":
230
- logging.basicConfig(level=logging.INFO)
231
- asyncio.run(main())
@@ -0,0 +1,79 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <style>
5
+ body {
6
+ margin: 0;
7
+ }
8
+ #cad_view {
9
+ width: 100vw;
10
+ height: 100vh;
11
+ }
12
+ </style>
13
+ <link rel="stylesheet" href="./three-cad-viewer-3.6.3.css" />
14
+ </head>
15
+ <body>
16
+ <div id="cad_view"></div>
17
+ <script src="./three-cad-viewer-3.6.3.js"></script>
18
+ <script src="./utils.js"></script>
19
+ <script>
20
+ const container = document.getElementById("cad_view");
21
+
22
+ let display = null;
23
+ let viewer = null;
24
+ // Load model with config from JSON
25
+ // All config keys are passed through - each component uses what it recognizes
26
+ window.loadModel = (data) => {
27
+ const modelData = data.model;
28
+ const config = data.config;
29
+
30
+ CadUtils.decode(modelData)
31
+
32
+ // Initialize display and viewer on first load
33
+ if (!display) {
34
+ display = new CadViewer.Display(container, config);
35
+ viewer = new CadViewer.Viewer(display, config, () => {});
36
+ }
37
+
38
+ viewer.render(modelData.shapes, config, config);
39
+
40
+ // Resize viewer after render (camera must exist first)
41
+ viewer.resizeCadView(
42
+ config.cadWidth,
43
+ config.treeWidth,
44
+ config.height,
45
+ config.glass
46
+ );
47
+
48
+ if (
49
+ config.tab &&
50
+ ["tree", "clip", "material", "zebra"].includes(config.tab)
51
+ ) {
52
+ viewer.display.selectTabByName(config.tab);
53
+ delete config.tab;
54
+ }
55
+
56
+ if (
57
+ config.reset_camera &&
58
+ ["iso", "left", "right", "top", "bottom", "rear", "front"].includes(config.reset_camera)
59
+ ) {
60
+ viewer.display.setView(config.reset_camera);
61
+ delete config.reset_camera;
62
+ }
63
+
64
+ if (config.render_edges === false) {
65
+ const g = viewer.nestedGroup.rootGroup.name.replace("|", "/");
66
+ viewer.setState(g, [1, 0]);
67
+ }
68
+ if (config.render_faces === false) {
69
+ const g = viewer.nestedGroup.rootGroup.name.replace("|", "/");
70
+ viewer.setState(g, [0, 1]);
71
+ }
72
+ };
73
+
74
+ window.isReady = () => viewer && viewer.ready;
75
+
76
+ window.getImage = (taskId) => viewer.getImage(taskId);
77
+ </script>
78
+ </body>
79
+ </html>