os-optics 0.10.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 (320) hide show
  1. os_optics/__init__.py +65 -0
  2. os_optics/__main__.py +3 -0
  3. os_optics/_vendor/MANIFEST.json +154 -0
  4. os_optics/_vendor/__init__.py +16 -0
  5. os_optics/_vendor/shared_contracts/__init__.py +9 -0
  6. os_optics/_vendor/shared_contracts/assembly_detail/__init__.py +164 -0
  7. os_optics/_vendor/shared_contracts/assembly_detail/detail.py +338 -0
  8. os_optics/_vendor/shared_contracts/assembly_detail/drawing.py +470 -0
  9. os_optics/_vendor/shared_contracts/assembly_detail/verify.py +437 -0
  10. os_optics/_vendor/shared_contracts/assembly_preview/__init__.py +278 -0
  11. os_optics/_vendor/shared_contracts/assembly_preview/manifest.py +185 -0
  12. os_optics/_vendor/shared_contracts/assembly_preview/package.py +359 -0
  13. os_optics/_vendor/shared_contracts/assembly_preview/scene.py +1214 -0
  14. os_optics/_vendor/shared_contracts/assembly_preview/validation.py +495 -0
  15. os_optics/_vendor/shared_contracts/base.py +17 -0
  16. os_optics/_vendor/shared_contracts/client_assembly_artifact/__init__.py +73 -0
  17. os_optics/_vendor/shared_contracts/client_assembly_artifact/manifest.py +306 -0
  18. os_optics/_vendor/shared_contracts/common/__init__.py +87 -0
  19. os_optics/_vendor/shared_contracts/common/_osc1_numbers.py +78 -0
  20. os_optics/_vendor/shared_contracts/common/decimal_string.py +39 -0
  21. os_optics/_vendor/shared_contracts/common/frozen_string_map.py +92 -0
  22. os_optics/_vendor/shared_contracts/common/geometry.py +49 -0
  23. os_optics/_vendor/shared_contracts/common/hashes.py +139 -0
  24. os_optics/_vendor/shared_contracts/common/identifiers.py +85 -0
  25. os_optics/_vendor/shared_contracts/common/ordering.py +75 -0
  26. os_optics/_vendor/shared_contracts/common/osc1.py +163 -0
  27. os_optics/_vendor/shared_contracts/common/safe_int.py +30 -0
  28. os_optics/_vendor/shared_contracts/common/timestamps.py +26 -0
  29. os_optics/_vendor/shared_contracts/common/unknown.py +19 -0
  30. os_optics/_vendor/shared_contracts/common/versioning.py +66 -0
  31. os_optics/_vendor/shared_contracts/design_catalog/__init__.py +213 -0
  32. os_optics/_vendor/shared_contracts/design_catalog/enums.py +306 -0
  33. os_optics/_vendor/shared_contracts/design_catalog/manifest.py +110 -0
  34. os_optics/_vendor/shared_contracts/design_catalog/optical_catalog.py +3308 -0
  35. os_optics/_vendor/shared_contracts/optical_design/__init__.py +179 -0
  36. os_optics/_vendor/shared_contracts/optical_design/_ordering.py +29 -0
  37. os_optics/_vendor/shared_contracts/optical_design/component.py +154 -0
  38. os_optics/_vendor/shared_contracts/optical_design/compute_budget.py +87 -0
  39. os_optics/_vendor/shared_contracts/optical_design/design_content.py +244 -0
  40. os_optics/_vendor/shared_contracts/optical_design/dof.py +109 -0
  41. os_optics/_vendor/shared_contracts/optical_design/local_validation.py +475 -0
  42. os_optics/_vendor/shared_contracts/optical_design/optical_model.py +630 -0
  43. os_optics/_vendor/shared_contracts/optical_design/project.py +160 -0
  44. os_optics/_vendor/shared_contracts/optical_design/scientific_result.py +128 -0
  45. os_optics/_vendor/shared_contracts/optical_design/source.py +250 -0
  46. os_optics/_vendor/shared_contracts/optical_design/workspace.py +718 -0
  47. os_optics/_vendor/shared_contracts/optical_layout/__init__.py +4 -0
  48. os_optics/_vendor/shared_contracts/optical_layout/drawing.py +166 -0
  49. os_optics/_vendor/shared_contracts/optical_layout/package.py +227 -0
  50. os_optics/_vendor/shared_contracts/optical_view/__init__.py +101 -0
  51. os_optics/_vendor/shared_contracts/optical_view/scene.py +1063 -0
  52. os_optics/_vendor/shared_contracts/protected_assembly_delivery/__init__.py +122 -0
  53. os_optics/_vendor/shared_contracts/protected_assembly_delivery/_common.py +243 -0
  54. os_optics/_vendor/shared_contracts/protected_assembly_delivery/detail_envelope.py +342 -0
  55. os_optics/_vendor/shared_contracts/protected_assembly_delivery/envelope.py +326 -0
  56. os_optics/_version.py +139 -0
  57. os_optics/assembly/__init__.py +130 -0
  58. os_optics/assembly/checks.py +569 -0
  59. os_optics/assembly/interfaces.py +78 -0
  60. os_optics/assembly/mesh.py +175 -0
  61. os_optics/assembly/overlap.py +311 -0
  62. os_optics/assembly/result.py +99 -0
  63. os_optics/assembly/tolerances.py +33 -0
  64. os_optics/assembly/transforms.py +143 -0
  65. os_optics/assembly_drawing/__init__.py +82 -0
  66. os_optics/assembly_drawing/alignment.py +237 -0
  67. os_optics/assembly_drawing/canvas.py +114 -0
  68. os_optics/assembly_drawing/errors.py +60 -0
  69. os_optics/assembly_drawing/generate.py +439 -0
  70. os_optics/assembly_drawing/geometry.py +216 -0
  71. os_optics/assembly_drawing/hidden_lines.py +316 -0
  72. os_optics/assembly_drawing/i18n.py +774 -0
  73. os_optics/assembly_drawing/layout.py +191 -0
  74. os_optics/assembly_drawing/model.py +245 -0
  75. os_optics/assembly_drawing/pdf.py +175 -0
  76. os_optics/assembly_drawing/privacy.py +321 -0
  77. os_optics/assembly_drawing/sheet.py +2516 -0
  78. os_optics/assembly_drawing/steps.py +488 -0
  79. os_optics/assembly_drawing/svg.py +84 -0
  80. os_optics/assembly_drawing/text.py +165 -0
  81. os_optics/builders.py +328 -0
  82. os_optics/catalog/__init__.py +94 -0
  83. os_optics/catalog/errors.py +60 -0
  84. os_optics/catalog/locking.py +150 -0
  85. os_optics/catalog/remote.py +187 -0
  86. os_optics/catalog/service.py +754 -0
  87. os_optics/catalog/store.py +474 -0
  88. os_optics/catalog_copy.py +97 -0
  89. os_optics/cli.py +701 -0
  90. os_optics/cli_catalog.py +218 -0
  91. os_optics/cli_commerce.py +1101 -0
  92. os_optics/cli_doctor.py +486 -0
  93. os_optics/cli_interop.py +67 -0
  94. os_optics/cli_layout.py +116 -0
  95. os_optics/cli_native.py +176 -0
  96. os_optics/cli_network.py +69 -0
  97. os_optics/cli_paraxial.py +67 -0
  98. os_optics/cli_prescription.py +118 -0
  99. os_optics/cli_project.py +197 -0
  100. os_optics/cli_results.py +360 -0
  101. os_optics/cli_solids.py +61 -0
  102. os_optics/cli_view.py +166 -0
  103. os_optics/cli_workspace.py +464 -0
  104. os_optics/client/__init__.py +155 -0
  105. os_optics/client/api.py +861 -0
  106. os_optics/client/credentials.py +227 -0
  107. os_optics/client/errors.py +494 -0
  108. os_optics/client/transport.py +334 -0
  109. os_optics/client_artifacts.py +180 -0
  110. os_optics/compare.py +111 -0
  111. os_optics/composition/__init__.py +95 -0
  112. os_optics/composition/document.py +209 -0
  113. os_optics/composition/errors.py +155 -0
  114. os_optics/composition/importing.py +861 -0
  115. os_optics/composition/json_wrappers.py +213 -0
  116. os_optics/composition/operations.py +1801 -0
  117. os_optics/composition/rotation.py +209 -0
  118. os_optics/composition/selection.py +156 -0
  119. os_optics/composition/validation.py +230 -0
  120. os_optics/config.py +220 -0
  121. os_optics/contracts/__init__.py +106 -0
  122. os_optics/contracts/base.py +53 -0
  123. os_optics/contracts/components.py +322 -0
  124. os_optics/contracts/geometry.py +84 -0
  125. os_optics/contracts/manifest.py +27 -0
  126. os_optics/contracts/materials.py +141 -0
  127. os_optics/contracts/metrics.py +46 -0
  128. os_optics/contracts/network.py +277 -0
  129. os_optics/contracts/optics.py +742 -0
  130. os_optics/contracts/outcome.py +89 -0
  131. os_optics/contracts/polarization.py +77 -0
  132. os_optics/contracts/project.py +169 -0
  133. os_optics/contracts/request.py +25 -0
  134. os_optics/contracts/results.py +1088 -0
  135. os_optics/control/__init__.py +19 -0
  136. os_optics/control/actuation.py +73 -0
  137. os_optics/control/analysis.py +171 -0
  138. os_optics/control/lm.py +165 -0
  139. os_optics/control/readings.py +90 -0
  140. os_optics/control/sensitivity.py +108 -0
  141. os_optics/errors/__init__.py +30 -0
  142. os_optics/errors/codes.py +126 -0
  143. os_optics/errors/exceptions.py +19 -0
  144. os_optics/errors/issues.py +73 -0
  145. os_optics/errors/status.py +157 -0
  146. os_optics/interop/__init__.py +143 -0
  147. os_optics/interop/entries.py +643 -0
  148. os_optics/interop/model.py +181 -0
  149. os_optics/layout/__init__.py +6 -0
  150. os_optics/layout/checks.py +288 -0
  151. os_optics/layout/geometry.py +168 -0
  152. os_optics/local/__init__.py +396 -0
  153. os_optics/local/advisories.py +126 -0
  154. os_optics/local/artifacts.py +494 -0
  155. os_optics/local/bodies.py +26 -0
  156. os_optics/local/catalog.py +445 -0
  157. os_optics/local/catalog_update.py +267 -0
  158. os_optics/local/compile.py +1624 -0
  159. os_optics/local/declared.py +71 -0
  160. os_optics/local/errors.py +137 -0
  161. os_optics/local/example.py +728 -0
  162. os_optics/local/freshness.py +185 -0
  163. os_optics/local/json_api.py +1405 -0
  164. os_optics/local/lowering.py +737 -0
  165. os_optics/local/network.py +103 -0
  166. os_optics/local/paraxial.py +519 -0
  167. os_optics/local/project_ops.py +888 -0
  168. os_optics/local/record.py +140 -0
  169. os_optics/local/run.py +315 -0
  170. os_optics/local/submission.py +124 -0
  171. os_optics/local/validity.py +1042 -0
  172. os_optics/manifest/__init__.py +13 -0
  173. os_optics/manifest/build.py +51 -0
  174. os_optics/manifest/canonical.py +62 -0
  175. os_optics/math/__init__.py +45 -0
  176. os_optics/math/exact_erf.py +92 -0
  177. os_optics/math/exact_linalg.py +138 -0
  178. os_optics/math/exact_trig.py +261 -0
  179. os_optics/math/phase.py +26 -0
  180. os_optics/math/pose.py +62 -0
  181. os_optics/math/rng.py +49 -0
  182. os_optics/math/rotation.py +74 -0
  183. os_optics/math/vectors.py +204 -0
  184. os_optics/mounting_sheet.py +286 -0
  185. os_optics/native_library/__init__.py +90 -0
  186. os_optics/native_library/common.py +334 -0
  187. os_optics/native_library/compound.py +240 -0
  188. os_optics/native_library/errors.py +73 -0
  189. os_optics/native_library/lenses.py +570 -0
  190. os_optics/native_library/materials.py +273 -0
  191. os_optics/native_library/numbers.py +118 -0
  192. os_optics/native_library/params.py +252 -0
  193. os_optics/native_library/paraxial.py +109 -0
  194. os_optics/native_library/plates.py +253 -0
  195. os_optics/native_library/polarization.py +93 -0
  196. os_optics/native_library/project.py +76 -0
  197. os_optics/native_library/refractors.py +257 -0
  198. os_optics/native_library/registry.py +503 -0
  199. os_optics/native_library/responses.py +210 -0
  200. os_optics/native_library/retroreflectors.py +215 -0
  201. os_optics/native_library/stops.py +136 -0
  202. os_optics/native_library/trig.py +135 -0
  203. os_optics/network/__init__.py +28 -0
  204. os_optics/network/basis.py +49 -0
  205. os_optics/network/conventions.py +125 -0
  206. os_optics/network/errors.py +93 -0
  207. os_optics/network/export.py +1206 -0
  208. os_optics/network/recorder.py +100 -0
  209. os_optics/optical_layout/__init__.py +52 -0
  210. os_optics/optical_layout/angles.py +61 -0
  211. os_optics/optical_layout/generate.py +938 -0
  212. os_optics/optical_layout/messages.py +182 -0
  213. os_optics/optical_layout/privacy.py +98 -0
  214. os_optics/optical_solids/__init__.py +204 -0
  215. os_optics/optical_solids/bodies.py +742 -0
  216. os_optics/optical_solids/checks.py +710 -0
  217. os_optics/optical_solids/report.py +96 -0
  218. os_optics/optical_view/__init__.py +40 -0
  219. os_optics/optical_view/artifacts.py +34 -0
  220. os_optics/optical_view/builder.py +1072 -0
  221. os_optics/optical_view/colors.py +42 -0
  222. os_optics/optical_view/geometry.py +368 -0
  223. os_optics/optical_view/glb.py +591 -0
  224. os_optics/optical_view/identity.py +8 -0
  225. os_optics/optical_view/optic_mesh.py +773 -0
  226. os_optics/optical_view/section.py +684 -0
  227. os_optics/optical_view/solids.py +191 -0
  228. os_optics/optical_view/surface_mesh.py +722 -0
  229. os_optics/optics/__init__.py +0 -0
  230. os_optics/optics/attenuation.py +170 -0
  231. os_optics/optics/gaussian/__init__.py +28 -0
  232. os_optics/optics/gaussian/ops.py +317 -0
  233. os_optics/optics/gaussian/state.py +145 -0
  234. os_optics/optics/gaussian/truncation.py +353 -0
  235. os_optics/optics/interference/__init__.py +3 -0
  236. os_optics/optics/interference/coherence.py +273 -0
  237. os_optics/optics/interference/two_beam.py +314 -0
  238. os_optics/optics/materials/__init__.py +5 -0
  239. os_optics/optics/materials/coatings.py +152 -0
  240. os_optics/optics/materials/group.py +106 -0
  241. os_optics/optics/materials/index.py +109 -0
  242. os_optics/optics/materials/library.py +66 -0
  243. os_optics/optics/polarization/__init__.py +26 -0
  244. os_optics/optics/polarization/fresnel.py +59 -0
  245. os_optics/optics/polarization/jones.py +120 -0
  246. os_optics/optics/polarization/phases.py +122 -0
  247. os_optics/optics/polarization/routing.py +609 -0
  248. os_optics/optics/rays/__init__.py +4 -0
  249. os_optics/optics/rays/envelope.py +72 -0
  250. os_optics/optics/rays/hits.py +79 -0
  251. os_optics/optics/rays/path_ids.py +46 -0
  252. os_optics/optics/rays/pupil.py +30 -0
  253. os_optics/optics/rays/tracer.py +3785 -0
  254. os_optics/optics/surfaces/__init__.py +15 -0
  255. os_optics/optics/surfaces/geometry.py +400 -0
  256. os_optics/optics/surfaces/interaction.py +74 -0
  257. os_optics/optics/surfaces/sag.py +253 -0
  258. os_optics/optics/surfaces/tabulated_lens.py +162 -0
  259. os_optics/prescription/__init__.py +294 -0
  260. os_optics/prescription/api.py +92 -0
  261. os_optics/prescription/csv_table.py +818 -0
  262. os_optics/prescription/errors.py +180 -0
  263. os_optics/prescription/glass.py +442 -0
  264. os_optics/prescription/ir.py +253 -0
  265. os_optics/prescription/lowering.py +494 -0
  266. os_optics/protected_delivery.py +343 -0
  267. os_optics/py.typed +0 -0
  268. os_optics/results/__init__.py +98 -0
  269. os_optics/results/export.py +98 -0
  270. os_optics/results/handoff.py +278 -0
  271. os_optics/results/irradiance.py +166 -0
  272. os_optics/results/model.py +729 -0
  273. os_optics/results/rays.py +321 -0
  274. os_optics/results/tables.py +727 -0
  275. os_optics/scene/__init__.py +0 -0
  276. os_optics/scene/lower.py +304 -0
  277. os_optics/scene/model.py +132 -0
  278. os_optics/units.py +6 -0
  279. os_optics/validation/__init__.py +27 -0
  280. os_optics/validation/affected.py +134 -0
  281. os_optics/validation/alignment.py +151 -0
  282. os_optics/validation/closed_returns.py +349 -0
  283. os_optics/validation/descriptors.py +323 -0
  284. os_optics/validation/exposures.py +3565 -0
  285. os_optics/validation/metrics.py +1240 -0
  286. os_optics/validation/observations.py +694 -0
  287. os_optics/validation/outcome.py +166 -0
  288. os_optics/validation/pipeline.py +443 -0
  289. os_optics/validation/power.py +266 -0
  290. os_optics/validation/rating_conditions.py +710 -0
  291. os_optics/validation/ray_paths.py +316 -0
  292. os_optics/validation/resonance.py +1600 -0
  293. os_optics/validation/scope.py +40 -0
  294. os_optics/validation/superposition.py +296 -0
  295. os_optics/validation/target_parameters.py +111 -0
  296. os_optics/validation/untraced.py +558 -0
  297. os_optics/validation/window_bound.py +547 -0
  298. os_optics/viewer/__init__.py +124 -0
  299. os_optics/viewer/assembly.py +168 -0
  300. os_optics/viewer/assets/THREE_LICENSE.txt +21 -0
  301. os_optics/viewer/assets/index.html +54 -0
  302. os_optics/viewer/assets/three.bundle.js +4625 -0
  303. os_optics/viewer/assets/viewer.css +73 -0
  304. os_optics/viewer/assets/viewer.js +875 -0
  305. os_optics/viewer/font.py +121 -0
  306. os_optics/viewer/model.py +328 -0
  307. os_optics/viewer/optical.py +225 -0
  308. os_optics/viewer/page.py +69 -0
  309. os_optics/viewer/palette.py +101 -0
  310. os_optics/viewer/png.py +46 -0
  311. os_optics/viewer/raster.py +630 -0
  312. os_optics/viewer/section_render.py +143 -0
  313. os_optics/viewer/server.py +152 -0
  314. os_optics/viewer/snapshots.py +92 -0
  315. os_optics-0.10.0.dist-info/METADATA +1274 -0
  316. os_optics-0.10.0.dist-info/RECORD +320 -0
  317. os_optics-0.10.0.dist-info/WHEEL +4 -0
  318. os_optics-0.10.0.dist-info/entry_points.txt +2 -0
  319. os_optics-0.10.0.dist-info/licenses/LICENSE.txt +79 -0
  320. os_optics-0.10.0.dist-info/licenses/NOTICE.txt +15 -0
os_optics/__init__.py ADDED
@@ -0,0 +1,65 @@
1
+ """OS Optics (``os_optics``) by OpenSci: deterministic, stateless, offline 3D optical / layout / control engineering engine.
2
+
3
+ Pure-optical design on this device (public optical catalog -> Project -> simulation -> local validation record)::
4
+
5
+ from os_optics.local import example_project, load_public_catalog, run_optical_project
6
+ run = run_optical_project(example_project())
7
+
8
+ See ``help(os_optics.local)``. The scientific results of a run directory (monitors, beams, rays, wavefronts, power
9
+ budget, exports): ``help(os_optics.results)``. Low-level Engine use::
10
+
11
+ from os_optics import ValidationRequest, validate
12
+ result = validate(ValidationRequest(project=...))
13
+ """
14
+
15
+ import sys as _sys
16
+
17
+ from ._version import MIN_PYTHON as _MIN_PYTHON
18
+
19
+ if _sys.version_info < _MIN_PYTHON:
20
+ raise ImportError(
21
+ "os-optics needs Python {0}.{1} or newer; this interpreter is Python {2} ({3}). Install it with a supported "
22
+ "Python: 'uv tool install \"os-optics[protected]\"' (uv selects or downloads a compatible Python), or create "
23
+ "a virtual environment from Python {0}.{1}+ and run 'python -m pip install \"os-optics[protected]\"' in it."
24
+ .format(*_MIN_PYTHON, ".".join(str(p) for p in _sys.version_info[:3]), _sys.executable)
25
+ )
26
+
27
+ from ._version import ENGINE_VERSION, MODEL_VERSIONS, NUMERICAL_CONFIG_VERSION, SCHEMA_VERSION, __version__
28
+ from .config import DEFAULT_NUMERICAL_CONFIG, NumericalConfig
29
+ from .contracts.request import EngineConfiguration, ValidationRequest
30
+ from .contracts.results import ValidationResult
31
+ from .errors import ErrorCode, Status, ValidationIssue
32
+ from .validation import (
33
+ RAY_PATHS_VERSION,
34
+ PupilRayPath,
35
+ RayPath,
36
+ RayPathTrace,
37
+ trace_ray_paths,
38
+ validate,
39
+ validate_json,
40
+ validate_with_ray_paths,
41
+ )
42
+
43
+ __all__ = [
44
+ "__version__",
45
+ "ENGINE_VERSION",
46
+ "SCHEMA_VERSION",
47
+ "NUMERICAL_CONFIG_VERSION",
48
+ "MODEL_VERSIONS",
49
+ "NumericalConfig",
50
+ "DEFAULT_NUMERICAL_CONFIG",
51
+ "EngineConfiguration",
52
+ "ValidationRequest",
53
+ "ValidationResult",
54
+ "ValidationIssue",
55
+ "ErrorCode",
56
+ "Status",
57
+ "validate",
58
+ "validate_json",
59
+ "validate_with_ray_paths",
60
+ "trace_ray_paths",
61
+ "RAY_PATHS_VERSION",
62
+ "PupilRayPath",
63
+ "RayPath",
64
+ "RayPathTrace",
65
+ ]
os_optics/__main__.py ADDED
@@ -0,0 +1,3 @@
1
+ from .cli import main
2
+
3
+ raise SystemExit(main())
@@ -0,0 +1,154 @@
1
+ {
2
+ "files": {
3
+ "shared_contracts/assembly_detail/__init__.py": {
4
+ "sha256": "f25c27b6af1a786f2d91cea35484b9502ecaa7470a21eac186460475b0ddf3dc"
5
+ },
6
+ "shared_contracts/assembly_detail/detail.py": {
7
+ "sha256": "43b4fdadd739027a6d8e4fcfbeca527212dc564f22e657392f88760a81f6844d"
8
+ },
9
+ "shared_contracts/assembly_detail/drawing.py": {
10
+ "sha256": "14336e6b2659cf0d0195c9038d613a09f89bd0fe75a4641bcb60d61243a137e2"
11
+ },
12
+ "shared_contracts/assembly_detail/verify.py": {
13
+ "sha256": "b2677520ecaa6b91bb98995c1ef13cbc39fb15574a4ced2b80c927ea1be28ef8"
14
+ },
15
+ "shared_contracts/assembly_preview/__init__.py": {
16
+ "sha256": "e399a7b316a13e8f06408c3b73441584d57c918b6489ed2bed6d1710038c22ad"
17
+ },
18
+ "shared_contracts/assembly_preview/manifest.py": {
19
+ "sha256": "f8463be37d1a31f8ce5258b9b91620dfdc88266452318fc0c28956c023e62c65"
20
+ },
21
+ "shared_contracts/assembly_preview/package.py": {
22
+ "sha256": "54ac77fb60e330999549dac8761edb014238fb068204712a455175294ac77867"
23
+ },
24
+ "shared_contracts/assembly_preview/scene.py": {
25
+ "sha256": "fddef5c34c7c52e4f729fe42a0e9ed7d19d4bbfba86b67cf430e1dabc7898289"
26
+ },
27
+ "shared_contracts/assembly_preview/validation.py": {
28
+ "sha256": "31b45137972dc70c16cc6e0fa31b5a241adc6371eada6256086f510dc0a98282"
29
+ },
30
+ "shared_contracts/base.py": {
31
+ "sha256": "91872f403ab5bd60e191aba9c678da3cff959510be96b83751ec4ded17b9fd15"
32
+ },
33
+ "shared_contracts/client_assembly_artifact/__init__.py": {
34
+ "sha256": "38a80f528f6cc1f259a6fbc35a0b16e3f883e3dc6625674563236d60fce3d877"
35
+ },
36
+ "shared_contracts/client_assembly_artifact/manifest.py": {
37
+ "sha256": "8da2304945abecddc3d79a1ffeeb4582e05468a7a3b2f4012099f0db36ca632e"
38
+ },
39
+ "shared_contracts/common/__init__.py": {
40
+ "sha256": "ddf352172fd402fbd7630f8558f09d070d8d93de5c78b024d3aeacc47d6a886c"
41
+ },
42
+ "shared_contracts/common/_osc1_numbers.py": {
43
+ "sha256": "6f1d260101f53286fed7e22c0202fd37145284c487811acabc4229522db43ce1"
44
+ },
45
+ "shared_contracts/common/decimal_string.py": {
46
+ "sha256": "349918de473485480ef009d9e446e3f9f689995c83475f11ed4c86be8e1614ab"
47
+ },
48
+ "shared_contracts/common/frozen_string_map.py": {
49
+ "sha256": "8c5deee99ef308793f619b49673f2dc7341bf54afa42bf5fc0f748f548d11aa0"
50
+ },
51
+ "shared_contracts/common/geometry.py": {
52
+ "sha256": "95780ad905fde84049aa62ec3deb0da2f28b3a62f4e3ff9cfb3484b1ff4df1eb"
53
+ },
54
+ "shared_contracts/common/hashes.py": {
55
+ "sha256": "3113f9bea2ba9148f83fd9ceba5a0605d2c549c99113ded0fa502c14f3cf53bf"
56
+ },
57
+ "shared_contracts/common/identifiers.py": {
58
+ "sha256": "019d1a4c16116375dd6ce5fb18af91d1a0572ec6b68b12be89a48a049980bc9a"
59
+ },
60
+ "shared_contracts/common/ordering.py": {
61
+ "sha256": "65016689504d009e32fa420dae9ba8d5107b90bf04d639128469e7e224c45253"
62
+ },
63
+ "shared_contracts/common/osc1.py": {
64
+ "sha256": "ea62eb3b63edb8d9d5aa45f3da1de2a1b0492abe03406f15605e4d4f2e438b08"
65
+ },
66
+ "shared_contracts/common/safe_int.py": {
67
+ "sha256": "daf26aec847b09265af7bc37ffaa8e859edfff584e794a5654e6261519f18392"
68
+ },
69
+ "shared_contracts/common/timestamps.py": {
70
+ "sha256": "f33b597a04c7d44e247b8bc13712990d35c7168f6077d9d220f457bb03498db9"
71
+ },
72
+ "shared_contracts/common/unknown.py": {
73
+ "sha256": "a76d5622de9eba483702d1479de682dd9bece6ce3da783205a12a7a731fd1fb5"
74
+ },
75
+ "shared_contracts/common/versioning.py": {
76
+ "sha256": "8c039e5d0176784a4e9e4884688fe1a9446c22b04d79f4a3d2a23cb9b13da35c"
77
+ },
78
+ "shared_contracts/design_catalog/__init__.py": {
79
+ "sha256": "9efa0a0f409d717e728bbe0a993fea70214a699ff64b5c1a62a40f3d5f5624e3"
80
+ },
81
+ "shared_contracts/design_catalog/enums.py": {
82
+ "sha256": "138bfd02ecd14e3d42e00d0c360c66b404cc7544ea56c9d5b7a6d5c19b6ef271"
83
+ },
84
+ "shared_contracts/design_catalog/manifest.py": {
85
+ "sha256": "30aaf7a965e5d9292fedde6a246eed6d24ac41f91dc3566a62a242a34915dfbe"
86
+ },
87
+ "shared_contracts/design_catalog/optical_catalog.py": {
88
+ "sha256": "12596468fec693537990727cd097b3e4562a2c845495a26db64a26798f04fe4e"
89
+ },
90
+ "shared_contracts/optical_design/__init__.py": {
91
+ "sha256": "20944c36a75eefe533612334c87d14dd44938dd55a1f0d995bdf954e4062d925"
92
+ },
93
+ "shared_contracts/optical_design/_ordering.py": {
94
+ "sha256": "0c9e65e49056379b3fc5d74f1a18e2db987fe8a3bb3368c747730c9c120ebc8e"
95
+ },
96
+ "shared_contracts/optical_design/component.py": {
97
+ "sha256": "489621d8ac3bc76dc32701c11b2dfdb63ee38bf658a1cc6a666ea8239be517e7"
98
+ },
99
+ "shared_contracts/optical_design/compute_budget.py": {
100
+ "sha256": "e5fc941b045dd906f3a505da99de3aa71eb998cc6c53fd714512c69e1c94b233"
101
+ },
102
+ "shared_contracts/optical_design/design_content.py": {
103
+ "sha256": "bc16d05be05e04493ff26e0bc7e4fe0d25fb5682a8ce41ad473d39575798b588"
104
+ },
105
+ "shared_contracts/optical_design/dof.py": {
106
+ "sha256": "72ae9024ce6e2ff32182b2707ac597dd27fd08300986434868479e7349089fe2"
107
+ },
108
+ "shared_contracts/optical_design/local_validation.py": {
109
+ "sha256": "589c9b51273dddee7fccda3006eaac136b846eaa44de489e4aed92278c1e30e7"
110
+ },
111
+ "shared_contracts/optical_design/optical_model.py": {
112
+ "sha256": "e4fa8d3b6668b9244bc2c974d66541e51c0b133fa3ed7d1d848ae28ff9394676"
113
+ },
114
+ "shared_contracts/optical_design/project.py": {
115
+ "sha256": "8bb6415af8ba9bc474aa79c3cd92bf68e9e40859b58f2056d043ebaecf571ba4"
116
+ },
117
+ "shared_contracts/optical_design/scientific_result.py": {
118
+ "sha256": "d3cb284eda3099aaf55f4e0787bd5bca6f6bd8f0c1d3288d3675e30555b8c3fd"
119
+ },
120
+ "shared_contracts/optical_design/source.py": {
121
+ "sha256": "a771353876db440dba3821a162a7e888ca13b1dec80c8449f160c8f03c0e0448"
122
+ },
123
+ "shared_contracts/optical_design/workspace.py": {
124
+ "sha256": "4f4f0e51dc9684777d18688a4b733528b3b37ed62c14e6fb1fabf3d05711b851"
125
+ },
126
+ "shared_contracts/optical_layout/__init__.py": {
127
+ "sha256": "185df9517389e6a5d2f19cd6d09af7f2c56029ce90bce89ab31920469a5cd0fb"
128
+ },
129
+ "shared_contracts/optical_layout/drawing.py": {
130
+ "sha256": "5002aa975675ce7a112c542690982a24dbddad4befedf2c916c53ea57c462997"
131
+ },
132
+ "shared_contracts/optical_layout/package.py": {
133
+ "sha256": "23c969fc10be518f7a581c574b9ab0e353f79d74360c60f495ebeee3de0e575e"
134
+ },
135
+ "shared_contracts/optical_view/__init__.py": {
136
+ "sha256": "a45aa3c22f5fd0a5761a2154dfe7f1b1f051926aaebd008dd7085b9471e24dbb"
137
+ },
138
+ "shared_contracts/optical_view/scene.py": {
139
+ "sha256": "f321cad56ab338c481d85b3abd36e8034c2a94bff3a97101d34f42dab73469e3"
140
+ },
141
+ "shared_contracts/protected_assembly_delivery/__init__.py": {
142
+ "sha256": "c51696f2936339942dce4cde33914626f91a88c6abe556203b01dac76bae6f98"
143
+ },
144
+ "shared_contracts/protected_assembly_delivery/_common.py": {
145
+ "sha256": "920c4f9c594d79cf5f5f28d8763c8559c9abecea1053f96218ddc8f77efc92f4"
146
+ },
147
+ "shared_contracts/protected_assembly_delivery/detail_envelope.py": {
148
+ "sha256": "8551e8581f32900fef4d88750732379244ee3a2657263d93b742bfed3860c8b9"
149
+ },
150
+ "shared_contracts/protected_assembly_delivery/envelope.py": {
151
+ "sha256": "30b0bc148248e7620122bb074493e239ed8fd4a965b2dcb950491bbd379183d0"
152
+ }
153
+ }
154
+ }
@@ -0,0 +1,16 @@
1
+ """OpenSci contracts bundled with os-optics (generated; do not edit).
2
+
3
+ ``shared_contracts/`` holds the contract models the local workflow reads, writes and verifies: the pure-optical Project
4
+ and its Local Validation record (``optical_design``), the public optical catalog and its release manifest
5
+ (``design_catalog``), the Optical Simulation View scene (``optical_view``), the Assembly Preview Package and its local
6
+ validation result (``assembly_preview``), the Assembly Detail Package and the local Detailed Assembly Drawing outputs
7
+ (``assembly_detail``), the protected delivery envelope and decryption grant a client opens in memory
8
+ (``protected_assembly_delivery``), the manifest of a client-generated artifact upload (``client_assembly_artifact``) and
9
+ the Optical Layout Package of an optics-only purchase with its local drawing manifest (``optical_layout``), together
10
+ with the common modules they use. ``MANIFEST.json`` lists the SHA-256 of every contract module except the two
11
+ generated package ``__init__`` files. The public optical catalog itself is versioned data kept in a local catalog store
12
+ (``os_optics.catalog``), not part of this package.
13
+
14
+ This package is an implementation detail: use ``os_optics.local``, ``os_optics.protected_delivery`` and
15
+ ``os_optics.client_artifacts`` rather than importing from here.
16
+ """
@@ -0,0 +1,9 @@
1
+ """OpenSci contract families bundled with os-optics (generated; do not edit).
2
+
3
+ Present: the pure-optical design contracts (``optical_design``), the public optical catalog contract
4
+ (``design_catalog``), the Optical Simulation View scene contract (``optical_view``), the Assembly Preview Package
5
+ contract (``assembly_preview``), the Assembly Detail Package and local drawing output contract (``assembly_detail``),
6
+ the protected delivery contract a client opens (``protected_assembly_delivery``; ``cryptography`` is imported lazily,
7
+ only for the AES-GCM step), the client artifact upload manifest (``client_assembly_artifact``), the Optical Layout
8
+ Package and its local drawing manifest (``optical_layout``) and the modules they import. Nothing is re-exported here.
9
+ """
@@ -0,0 +1,164 @@
1
+ """Assembly Detail Package and local Detailed Assembly Drawing outputs.
2
+
3
+ * ``detail`` -- ``AssemblyDetailPackageV1``: the dimensioning supplement of exactly one verified Assembly Preview
4
+ Package. It adds only what the preview cannot supply deterministically -- assembly dimension references between
5
+ scene points with their basis -- plus binding, release and usage terms. It repeats no pose, identity, mate,
6
+ setting, fixation, breadboard or geometry of the preview;
7
+ * ``verify`` -- canonical bytes, ``build_assembly_detail`` (binding copied from the preview manifest) and
8
+ ``verify_assembly_detail`` / ``load_assembly_detail`` against the verified preview package, with every dimension
9
+ measured from the preview's own poses;
10
+ * ``drawing`` -- ``AssemblyDrawingResultV1`` and ``AssemblyDrawingManifestV1``: what a local runtime's generated
11
+ drawing shows, and the local output manifest (SVG, PDF, result) that an artifact upload carries.
12
+ """
13
+
14
+ from .detail import (
15
+ ASSEMBLY_DETAIL_FILE_NAME,
16
+ ASSEMBLY_DETAIL_MEDIA_TYPE,
17
+ ASSEMBLY_DETAIL_SCHEMA_ID,
18
+ ASSEMBLY_DETAIL_SCHEMA_VERSION,
19
+ AXIS_INDEX,
20
+ DETAIL_PERMITTED_USES,
21
+ DETAIL_USAGE_STATEMENT,
22
+ MAX_DETAIL_BYTES,
23
+ MAX_DIMENSIONS,
24
+ AssemblyDetailPackageV1,
25
+ CustomerFacingName,
26
+ CustomerSuppliedModelV1,
27
+ DetailBindingV1,
28
+ DetailReleaseRefV1,
29
+ DetailUsageTermsV1,
30
+ DimensionBasisV1,
31
+ DimensionKindV1,
32
+ DimensionV1,
33
+ MeasureAxisV1,
34
+ PointKindV1,
35
+ PointRefV1,
36
+ ReleaseBasisV1,
37
+ SettingRefV1,
38
+ detail_content_hash_of,
39
+ )
40
+ from .drawing import (
41
+ ASSEMBLY_DRAWING_GENERATOR_ID,
42
+ ASSEMBLY_DRAWING_MANIFEST_SCHEMA_ID,
43
+ ASSEMBLY_DRAWING_RESULT_SCHEMA_ID,
44
+ ASSEMBLY_DRAWING_SCHEMA_VERSION,
45
+ DRAWING_MANIFEST_PATH,
46
+ DRAWING_DESCRIPTION,
47
+ DRAWING_LOCALES,
48
+ DRAWING_PDF_PATH,
49
+ DRAWING_RESULT_PATH,
50
+ DRAWING_SVG_PATH,
51
+ JSON_MEDIA_TYPE,
52
+ LEGACY_DRAWING_ROLE_ALIASES,
53
+ PDF_MEDIA_TYPE,
54
+ SVG_MEDIA_TYPE,
55
+ AssemblyDrawingManifestV1,
56
+ AssemblyDrawingResultV1,
57
+ AssemblyStepV1,
58
+ CustomerSuppliedRowV1,
59
+ DrawingBalloonV1,
60
+ DrawingBindingV1,
61
+ DrawingDimensionV1,
62
+ DrawingFileRoleV1,
63
+ DrawingGeneratorRefV1,
64
+ DrawingLocaleV1,
65
+ DrawingOutputFileV1,
66
+ DrawingSheetV1,
67
+ DrawingStatusV1,
68
+ DrawingValidationRefV1,
69
+ DrawingViewKindV1,
70
+ DrawingViewV1,
71
+ OpticalSpacingRowV1,
72
+ PartsLegendRowV1,
73
+ PartsLegendV1,
74
+ StepActionV1,
75
+ drawing_manifest_for,
76
+ verify_drawing_outputs,
77
+ )
78
+ from .verify import (
79
+ ALLOWED_BASES,
80
+ MEASURE_TOLERANCE_MM,
81
+ AssemblyDetailPackageError,
82
+ MeasuredDimensionV1,
83
+ VerifiedAssemblyDetailV1,
84
+ build_assembly_detail,
85
+ detail_file_bytes,
86
+ load_assembly_detail,
87
+ measure,
88
+ point_in_world,
89
+ verify_assembly_detail,
90
+ )
91
+
92
+ __all__ = [
93
+ "ALLOWED_BASES",
94
+ "ASSEMBLY_DETAIL_FILE_NAME",
95
+ "ASSEMBLY_DETAIL_MEDIA_TYPE",
96
+ "ASSEMBLY_DETAIL_SCHEMA_ID",
97
+ "ASSEMBLY_DETAIL_SCHEMA_VERSION",
98
+ "ASSEMBLY_DRAWING_GENERATOR_ID",
99
+ "ASSEMBLY_DRAWING_MANIFEST_SCHEMA_ID",
100
+ "ASSEMBLY_DRAWING_RESULT_SCHEMA_ID",
101
+ "ASSEMBLY_DRAWING_SCHEMA_VERSION",
102
+ "AXIS_INDEX",
103
+ "DETAIL_PERMITTED_USES",
104
+ "DETAIL_USAGE_STATEMENT",
105
+ "DRAWING_MANIFEST_PATH",
106
+ "DRAWING_DESCRIPTION",
107
+ "DRAWING_LOCALES",
108
+ "DRAWING_PDF_PATH",
109
+ "DRAWING_RESULT_PATH",
110
+ "DRAWING_SVG_PATH",
111
+ "JSON_MEDIA_TYPE",
112
+ "LEGACY_DRAWING_ROLE_ALIASES",
113
+ "MAX_DETAIL_BYTES",
114
+ "MAX_DIMENSIONS",
115
+ "MEASURE_TOLERANCE_MM",
116
+ "PDF_MEDIA_TYPE",
117
+ "SVG_MEDIA_TYPE",
118
+ "AssemblyDetailPackageError",
119
+ "AssemblyDetailPackageV1",
120
+ "AssemblyDrawingManifestV1",
121
+ "AssemblyDrawingResultV1",
122
+ "AssemblyStepV1",
123
+ "CustomerFacingName",
124
+ "CustomerSuppliedModelV1",
125
+ "CustomerSuppliedRowV1",
126
+ "DetailBindingV1",
127
+ "DetailReleaseRefV1",
128
+ "DetailUsageTermsV1",
129
+ "DimensionBasisV1",
130
+ "DimensionKindV1",
131
+ "DimensionV1",
132
+ "DrawingBalloonV1",
133
+ "DrawingBindingV1",
134
+ "DrawingDimensionV1",
135
+ "DrawingFileRoleV1",
136
+ "DrawingGeneratorRefV1",
137
+ "DrawingLocaleV1",
138
+ "DrawingOutputFileV1",
139
+ "DrawingSheetV1",
140
+ "DrawingStatusV1",
141
+ "DrawingValidationRefV1",
142
+ "DrawingViewKindV1",
143
+ "DrawingViewV1",
144
+ "MeasureAxisV1",
145
+ "MeasuredDimensionV1",
146
+ "OpticalSpacingRowV1",
147
+ "PartsLegendRowV1",
148
+ "PartsLegendV1",
149
+ "PointKindV1",
150
+ "PointRefV1",
151
+ "ReleaseBasisV1",
152
+ "SettingRefV1",
153
+ "StepActionV1",
154
+ "VerifiedAssemblyDetailV1",
155
+ "build_assembly_detail",
156
+ "detail_content_hash_of",
157
+ "detail_file_bytes",
158
+ "drawing_manifest_for",
159
+ "load_assembly_detail",
160
+ "measure",
161
+ "point_in_world",
162
+ "verify_assembly_detail",
163
+ "verify_drawing_outputs",
164
+ ]