dcad 0.1.0__py3-none-any.whl

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 (150) hide show
  1. cadpy/__init__.py +34 -0
  2. cadpy/analysis.py +683 -0
  3. cadpy/api.py +6 -0
  4. cadpy/assembly.py +436 -0
  5. cadpy/assembly_composition.py +1269 -0
  6. cadpy/assembly_export.py +974 -0
  7. cadpy/assembly_flatten.py +249 -0
  8. cadpy/assembly_spec.py +458 -0
  9. cadpy/cad_ref_syntax.py +141 -0
  10. cadpy/catalog.py +570 -0
  11. cadpy/cli_logging.py +58 -0
  12. cadpy/file_metadata.py +61 -0
  13. cadpy/generation.py +2351 -0
  14. cadpy/generation_status.py +179 -0
  15. cadpy/glb.py +1137 -0
  16. cadpy/glb_mesh_payload.py +431 -0
  17. cadpy/glb_topology.py +499 -0
  18. cadpy/lookup.py +243 -0
  19. cadpy/metadata.py +513 -0
  20. cadpy/py.typed +1 -0
  21. cadpy/render.py +97 -0
  22. cadpy/reporting.py +133 -0
  23. cadpy/selector_types.py +18 -0
  24. cadpy/source_hash.py +62 -0
  25. cadpy/step_artifact.py +367 -0
  26. cadpy/step_artifacts.py +245 -0
  27. cadpy/step_export.py +386 -0
  28. cadpy/step_hash.py +12 -0
  29. cadpy/step_metadata.py +321 -0
  30. cadpy/step_scene.py +2626 -0
  31. cadpy/step_targets.py +483 -0
  32. cadpy/stl.py +33 -0
  33. cadpy/threemf.py +565 -0
  34. cadpy/validators.py +119 -0
  35. dcad-0.1.0.dist-info/METADATA +183 -0
  36. dcad-0.1.0.dist-info/RECORD +150 -0
  37. dcad-0.1.0.dist-info/WHEEL +4 -0
  38. dcad-0.1.0.dist-info/entry_points.txt +2 -0
  39. dcad-0.1.0.dist-info/licenses/LICENSE +21 -0
  40. derive_cad/__about__.py +1 -0
  41. derive_cad/__init__.py +3 -0
  42. derive_cad/cad/__init__.py +0 -0
  43. derive_cad/cad/inspect.py +202 -0
  44. derive_cad/cad/render.py +112 -0
  45. derive_cad/cad/runner.py +139 -0
  46. derive_cad/cad/sandbox.py +61 -0
  47. derive_cad/cad/script_safety.py +49 -0
  48. derive_cad/cad/validation.py +174 -0
  49. derive_cad/cli/__init__.py +0 -0
  50. derive_cad/cli/app.py +63 -0
  51. derive_cad/cli/commands_cmd.py +127 -0
  52. derive_cad/cli/init_cmd.py +7 -0
  53. derive_cad/cli/inspect_cmd.py +11 -0
  54. derive_cad/cli/open_cmd.py +76 -0
  55. derive_cad/cli/passthrough.py +44 -0
  56. derive_cad/cli/run_cmd.py +154 -0
  57. derive_cad/cli/setup.py +190 -0
  58. derive_cad/cli/snapshot_cmd.py +12 -0
  59. derive_cad/cli/step_cmd.py +12 -0
  60. derive_cad/config/__init__.py +0 -0
  61. derive_cad/config/models.py +47 -0
  62. derive_cad/config/paths.py +36 -0
  63. derive_cad/config/secrets.py +79 -0
  64. derive_cad/config/store.py +43 -0
  65. derive_cad/config/toml_io.py +18 -0
  66. derive_cad/llm/__init__.py +0 -0
  67. derive_cad/llm/brief.py +162 -0
  68. derive_cad/llm/client.py +127 -0
  69. derive_cad/llm/generate.py +285 -0
  70. derive_cad/llm/naming.py +45 -0
  71. derive_cad/llm/prompts.py +208 -0
  72. derive_cad/llm/providers.py +93 -0
  73. derive_cad/llm/repair_loop.py +358 -0
  74. derive_cad/llm/review.py +71 -0
  75. derive_cad/llm/step_parts.py +94 -0
  76. derive_cad/project/__init__.py +0 -0
  77. derive_cad/project/workspace.py +77 -0
  78. derive_cad/skill/__init__.py +11 -0
  79. derive_cad/skill/paths.py +45 -0
  80. derive_cad/skill/runner.py +61 -0
  81. derive_cad/utils/__init__.py +0 -0
  82. derive_cad/utils/errors.py +19 -0
  83. derive_cad/utils/logging.py +114 -0
  84. packages/cadpy/README.md +44 -0
  85. packages/cadpy/pyproject.toml +23 -0
  86. packages/cadpy/src/cadpy/__init__.py +34 -0
  87. packages/cadpy/src/cadpy/analysis.py +683 -0
  88. packages/cadpy/src/cadpy/api.py +6 -0
  89. packages/cadpy/src/cadpy/assembly.py +436 -0
  90. packages/cadpy/src/cadpy/assembly_composition.py +1269 -0
  91. packages/cadpy/src/cadpy/assembly_export.py +974 -0
  92. packages/cadpy/src/cadpy/assembly_flatten.py +249 -0
  93. packages/cadpy/src/cadpy/assembly_spec.py +458 -0
  94. packages/cadpy/src/cadpy/cad_ref_syntax.py +141 -0
  95. packages/cadpy/src/cadpy/catalog.py +570 -0
  96. packages/cadpy/src/cadpy/cli_logging.py +58 -0
  97. packages/cadpy/src/cadpy/file_metadata.py +61 -0
  98. packages/cadpy/src/cadpy/generation.py +2351 -0
  99. packages/cadpy/src/cadpy/generation_status.py +179 -0
  100. packages/cadpy/src/cadpy/glb.py +1137 -0
  101. packages/cadpy/src/cadpy/glb_mesh_payload.py +431 -0
  102. packages/cadpy/src/cadpy/glb_topology.py +499 -0
  103. packages/cadpy/src/cadpy/lookup.py +243 -0
  104. packages/cadpy/src/cadpy/metadata.py +513 -0
  105. packages/cadpy/src/cadpy/py.typed +1 -0
  106. packages/cadpy/src/cadpy/render.py +97 -0
  107. packages/cadpy/src/cadpy/reporting.py +133 -0
  108. packages/cadpy/src/cadpy/selector_types.py +18 -0
  109. packages/cadpy/src/cadpy/source_hash.py +62 -0
  110. packages/cadpy/src/cadpy/step_artifact.py +367 -0
  111. packages/cadpy/src/cadpy/step_artifacts.py +245 -0
  112. packages/cadpy/src/cadpy/step_export.py +386 -0
  113. packages/cadpy/src/cadpy/step_hash.py +12 -0
  114. packages/cadpy/src/cadpy/step_metadata.py +321 -0
  115. packages/cadpy/src/cadpy/step_scene.py +2626 -0
  116. packages/cadpy/src/cadpy/step_targets.py +483 -0
  117. packages/cadpy/src/cadpy/stl.py +33 -0
  118. packages/cadpy/src/cadpy/threemf.py +565 -0
  119. packages/cadpy/src/cadpy/validators.py +119 -0
  120. skills/cad/LICENSE +21 -0
  121. skills/cad/SKILL.md +102 -0
  122. skills/cad/UPSTREAM_SHA +1 -0
  123. skills/cad/agents/openai.yaml +4 -0
  124. skills/cad/references/build123d-modeling.md +155 -0
  125. skills/cad/references/cad-brief.md +130 -0
  126. skills/cad/references/inspection-and-validation.md +143 -0
  127. skills/cad/references/parameters.md +138 -0
  128. skills/cad/references/positioning.md +260 -0
  129. skills/cad/references/repair-loop.md +169 -0
  130. skills/cad/references/snapshot-review.md +84 -0
  131. skills/cad/references/step-generation.md +59 -0
  132. skills/cad/references/supported-exports.md +75 -0
  133. skills/cad/requirements.txt +2 -0
  134. skills/cad/scripts/inspect/__main__.py +15 -0
  135. skills/cad/scripts/inspect/cli.py +15 -0
  136. skills/cad/scripts/inspect/inspect_refs/__init__.py +1 -0
  137. skills/cad/scripts/inspect/inspect_refs/cli.py +641 -0
  138. skills/cad/scripts/inspect/inspect_refs/inspect.py +988 -0
  139. skills/cad/scripts/snapshot/__init__.py +1 -0
  140. skills/cad/scripts/snapshot/__main__.py +1242 -0
  141. skills/cad/scripts/snapshot/runtime/render.html +20 -0
  142. skills/cad/scripts/snapshot/runtime/snapshot-render.js +4168 -0
  143. skills/cad/scripts/step/__init__.py +1 -0
  144. skills/cad/scripts/step/__main__.py +16 -0
  145. skills/cad/scripts/step/cli.py +137 -0
  146. skills/step-parts/LICENSE +21 -0
  147. skills/step-parts/SKILL.md +70 -0
  148. skills/step-parts/agents/openai.yaml +4 -0
  149. skills/step-parts/references/step-parts-api.md +74 -0
  150. skills/step-parts/scripts/download_step_part.py +208 -0
cadpy/__init__.py ADDED
@@ -0,0 +1,34 @@
1
+ """Shared CAD artifact generation runtime."""
2
+
3
+ __all__ = [
4
+ "AssemblyHelper",
5
+ "MateRelation",
6
+ "MateTarget",
7
+ "ensure_step_glb_artifact",
8
+ "label_text",
9
+ "label_shape",
10
+ "target",
11
+ "validate_step_glb_artifact",
12
+ ]
13
+
14
+
15
+ def __getattr__(name: str):
16
+ if name in {"ensure_step_glb_artifact", "validate_step_glb_artifact"}:
17
+ from cadpy.api import ensure_step_glb_artifact, validate_step_glb_artifact
18
+
19
+ return {
20
+ "ensure_step_glb_artifact": ensure_step_glb_artifact,
21
+ "validate_step_glb_artifact": validate_step_glb_artifact,
22
+ }[name]
23
+ if name in {"AssemblyHelper", "MateRelation", "MateTarget", "label_shape", "label_text", "target"}:
24
+ from cadpy.assembly import AssemblyHelper, MateRelation, MateTarget, label_shape, label_text, target
25
+
26
+ return {
27
+ "AssemblyHelper": AssemblyHelper,
28
+ "MateRelation": MateRelation,
29
+ "MateTarget": MateTarget,
30
+ "label_text": label_text,
31
+ "label_shape": label_shape,
32
+ "target": target,
33
+ }[name]
34
+ raise AttributeError(f"module {__name__!r} has no attribute {name!r}")