Skip to main content

os-optics-kit

Tools, engine-reproducible cases and agent skills for OS Optics.

English · 简体中文

PyPI Python

os-optics-kit builds on the OS Optics engine. It provides one command, os-optics-kit, with tools that edit Projects by ID, sweep parameters, compare saved runs, plot, report, estimate sensitivity and tolerance, select catalog parts and analyze detector measurements; a collection of cases, designs that rerun on the engine and compare with their recorded outcome; and a vendor-neutral skill page for each tool, which any coding agent can load.

Name Where Contents
os-optics PyPI The engine: optical catalog, simulation, results and 3D view
os-optics-kit PyPI Tools, cases and agent skills built on the engine
os-optics GitHub Product documentation and feedback
os-optics-kit GitHub This repository: tools, cases, skills and contributions

Agent guide · Design studies · Measurements · External tools · Workflow recipes · Contributing

Install

python -m pip install "os-optics[protected]" os-optics-kit
os-optics doctor

Python 3.11 or newer. Plots need the plot extra: python -m pip install "os-optics-kit[plot]". Cases that use catalog components need the catalog: os-optics catalog sync. The engine's installation guide covers virtual environments and upgrades.

Quick start

os-optics-kit skills list
os-optics-kit skills install --dest SKILLS_DIR
os-optics-kit cases list
os-optics-kit cases copy ideal-lens-focus --dest .
os-optics-kit cases verify ideal-lens-focus
cd ideal-lens-focus
os-optics project run project.json --out-dir run
os-optics-kit summary run

skills list prints the skill index as compact JSON; skills install copies the skill pages into the skills directory of your agent host (SKILLS_DIR). The cases ship inside the package, so cases copy and cases verify work without a clone; verify reruns the case and compares the run status and every target assessment with the recorded outcome. os-optics-kit <command> --help describes every command.

Cases

Case What it shows Catalog
beam-expander Catalog beam expander: swap a lens, sweep its spacing, restore collimation yes
ideal-lens-focus Gaussian focus of an ideal thin lens no
expansion-focus Beam expansion and focusing workflow with sensitivity and tolerance studies no
polarization-control Polarization control with a half-wave plate and a polarizer no
mirror-alignment Beam position and pointing after a fold mirror no
detector-measurements Detector linearity and reference-channel normalization no
interop-optimization External optimization and Sobol tolerance of a beam expander no
interop-diffraction Diffraction at a declared stop, handed off to external codes no
interop-quantum Hong-Ou-Mandel interference from the linear optical network export no
interop-metasurface Metasurface lens as a tabulated virtual component no

Each case holds project.json (the Project with its targets), CASE.md (for agents), an illustrated README.md and expected.json (the verified outcome), plus its own scripts, study specs or data. See the case format.

Tools and skills

Skill Command Use it to
summary os-optics-kit summary Read a saved run into one compact JSON document with an exit code per outcome
edit os-optics-kit edit List a Project's objects and apply edits by ID, checked by the engine and written atomically
sweep os-optics-kit sweep Run a bounded one- or two-parameter sweep, every sample saved and counted
compare os-optics-kit compare Compare saved runs or sweep samples by target and plane ID, with freshness
plot os-optics-kit plot Draw sweep curves, heatmaps, power distributions, bar charts and histograms
report os-optics-kit report Assemble a Markdown and JSON report with counts, diagnostics and artifact hashes
sensitivity os-optics-kit sensitivity Rank design parameters by finite-difference sensitivity at two step sizes
tolerance os-optics-kit tolerance Run a seeded tolerance study under declared distributions
candidates os-optics-kit candidates List catalog products that pass explicit filters, sorted by closeness to a value
measurements os-optics-kit measurements Subtract backgrounds, normalize by a reference channel and fit detector CSV data
run-case os-optics-kit cases Find, copy, run, check and adapt a case
contrib-case os-optics-kit contrib case Turn a finished design into a pull-request-ready case
contrib-tool os-optics-kit contrib tool Package a helper as a kit command with its skill page and tests

os-optics-kit skills show NAME prints a skill page; skills.json indexes them. Tools are also importable (import os_optics_kit), and python -m os_optics_kit <command> runs the same commands.

Version alignment

os-optics-kit 0.1.x requires os-optics>=0.12,<0.13 and was verified with os-optics 0.12.0 and catalog release 2026-10-28.1 (baseline.json). Each case records the engine and catalog release it was verified with. See case format and engine alignment.

Contributing

Cases, tools, skills and documentation are welcome as pull requests. An agent contributes with the user's own GitHub account: os-optics-kit contrib case and os-optics-kit contrib tool verify the contribution and open the pull request, or stop at a bundle with the patch to submit later. See CONTRIBUTING.md and contributing with an agent. Engine questions and bug reports go to the os-optics issue tracker.

License

os-optics-kit is released under the MIT License. The engine, os-optics, is distributed under its own license.

Metadata

Release files for os-optics-kit 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for os-optics-kit 0.1.0
File Size Uploaded Provenance Actions
os_optics_kit-0.1.0.tar.gz 571.3 kB Without provenance Details for os_optics_kit-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for os-optics-kit 0.1.0
File Interpreter ABI Platform Actions
os_optics_kit-0.1.0-py3-none-any.whl Python 3 none any Details for os_optics_kit-0.1.0-py3-none-any.whl

Total release size: 1.0 MB

Release files / os_optics_kit-0.1.0.tar.gz

Download URL os_optics_kit-0.1.0.tar.gz
Size 571.3 kB
Tags Source
SHA-256 checksum
How to use checksums
9275a8b4ad41f44aeb415c7f9654f5d64bcfc50073438795d7f5c00e43c832d0
BLAKE2b-256 checksum
How to use checksums
e183cf3560c68d716bb6f0c7f5d77c29ef6456e5a1f9da17a2b4b7eeaeacbc7b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release files / os_optics_kit-0.1.0-py3-none-any.whl

Download URL os_optics_kit-0.1.0-py3-none-any.whl
Size 443.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
75c02931939c09928b55c9e59b6877402bdb854b6921512cee6bb1025056b5ba
BLAKE2b-256 checksum
How to use checksums
57c1cb6caa71e1466c54610e49100b0c05c3e807c6919a1ff7912c15f394f40b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Security for os-optics-kit 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page