Python launcher and helper package for the SchroSIM CV photonic simulator CLI.
Project description
SchroSIM
SchroSIM is a continuous-variable (CV) photonic quantum simulation stack for designing, compiling, and simulating hardware-like photonic quantum circuits. The open-source core combines an SDK for developer integration and a CLI for terminal-based circuit execution.
Built for students, researchers, and quantum foundry engineers, SchroSIM provides an exact-solution simulation path for tractable circuits and scalable backend options for larger workflows.
Documentation: Full project documentation is in SchroSIM Docs.
"SchroSIM core (compiler, runtime, SDK/CLI, docs, and public examples) is open source under MIT for research, education, and downstream studies. Enterprise-only capabilities (advanced UI, partner-specific integrations, and commercialization-focused IP) are developed in enterprise mode and are intended to live in a separate private distribution path. This boundary keeps reproducible scientific workflows public while allowing confidential enterprise delivery for hardware and industrial partners."
The enterprise UI is focused on:
- project-scoped circuit workflows,
- backend-aware execution policies,
- analysis views for simulation and QEC outcomes.
Status: enterprise-track active development.
The Need
Photonic and CV workflows need fast iteration across modeling, backend selection, and error-correction validation. In practice, teams often lose time moving between disconnected tools for design, compilation, execution, and debugging.
SchroSIM is built to make those workflows practical in one platform, with reproducible runs and backend-aware execution policies that support both research and pre-hardware validation.
Circuit and Runtime Failure Modes (Why They Matter)
The failure modes below are workflow-level circuit/runtime issues common in photonic and CV pipelines. They are not, by default, indicators of defects in SchroSIM itself.
Even promising photonic circuit designs can fail at compile time or simulation time. Common failure modes include:
- non-physical parameter sets (invalid squeezing ranges, inconsistent phase settings, or state assumptions),
- backend/model mismatch (idealized circuits mapped to noisy or hardware-constrained targets without adaptation),
- numerical limits (insufficient cutoff dimensions, precision issues, or unstable optimization settings),
- hardware-like constraints (unsupported operations, timing/order conflicts, and foundry policy limits).
SchroSIM helps surface these issues early with backend-aware checks, reproducible runtime configuration, and analysis views that explain where and why execution failed.
Model-Exact Scope
SchroSIM provides model-exact simulation for tractable Gaussian CV workloads under the stated model assumptions. For larger, non-Gaussian-heavy, or more hardware-constrained cases, SchroSIM supports backend-aware execution paths that use controlled approximations for scalability and runtime practicality.
Use this rule of thumb:
- use the model-exact Gaussian path for ground-truth studies, validation, and small-to-mid scale circuit analysis,
- use scalable/hybrid/Fock policy-targeted paths as controlled approximations for larger experiments and pre-hardware iteration.
Design-to-Result Workflow
- define a circuit in project JSON (public workflow) or design it in the enterprise UI (private track),
- compile to backend-aware intermediate/runtime configuration,
- run static checks for operation support and constraint compatibility,
- execute simulation on selected path (model-exact Gaussian or controlled approximation backend path),
- analyze observables, runtime metrics, and QEC outcomes,
- iterate parameters, backend, and correction strategy with reproducible settings.
Failure Diagnostics in SchroSIM
| Failure class | Typical symptom | Likely cause | Mitigation |
|---|---|---|---|
| Non-physical parameters | compile rejection or invalid state warning | squeezing/phase/state assumptions outside valid region | enforce parameter bounds and validate state configuration before execution |
| Backend mismatch | operator unsupported or policy violation | circuit authored for ideal model but run on constrained target | remap operations to backend-supported primitives and recompile |
| Numerical instability | divergent metrics or inconsistent repeated results | cutoff too small, unstable optimizer, precision loss | increase cutoff, tune solver/optimizer settings, fix deterministic seeds |
| Resource overrun | excessive runtime/memory | circuit scale exceeds selected method limits | switch backend mode, reduce circuit depth/modes, profile bottlenecks |
| Constraint conflict | schedule/order/timing failure | gate ordering violates foundry/runtime constraints | use compiler ordering hints and backend-specific scheduling policies |
Hardware-Like and Foundry Constraints
SchroSIM is built for pre-hardware realism. Backend-aware compilation and runtime policy checks help teams identify unsupported operations, ordering constraints, and integration risks before tape-out or hardware queue submission.
Numerical Reliability and Reproducibility
For technical studies, use fixed seeds, pinned runtime configuration, and explicit cutoff/precision settings. This makes experiments repeatable and simplifies regression checks across backend changes.
Project Maturity
SchroSIM is under active development. Core workflows for circuit design, compilation, execution, and analysis are available, with ongoing expansion of backend coverage and diagnostics depth.
Toolchain Prerequisites
SchroSIM source workflows require Python, Swift, and Rust toolchains.
Verify your environment:
python3 --version
pip --version
swift --version
rustc --version
cargo --version
Quick Start
For the published Python package:
pip install schrosim
schrosim --help
The Python package provides the schrosim launcher and helper entry points.
When run inside a source checkout (with Swift installed), it delegates to schrosim-cli.
For this source repository:
swift run schrosim-cli --help
Python 3 is required for helper scripts and packaging workflows.
CLI: Run Demos
Run Boson Sampling:
schrosim run examples/runtime_default_foundry.json --backend hybrid
Run Quantum Error Correction:
schrosim run examples/cv/qec_single_logical_gkp_memory_mvp.json --backend hybrid
Optional: Run from CLion
CLion is recommended for contributor workflows (debugging, stepping through code, and managing run configurations). Keep CLI commands as the primary execution path for reproducible runs and CI alignment.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file schrosim-0.10.0.tar.gz.
File metadata
- Download URL: schrosim-0.10.0.tar.gz
- Upload date:
- Size: 6.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d589287f948c145e382b7e4b80d5f7d00101c5b423ae04458a704f5de2bd199d
|
|
| MD5 |
3d11521cd1a1f07bb257ce67a0bbd6c4
|
|
| BLAKE2b-256 |
2c977aea25df8f687984145f7b14393746af7ce974ed8ba41d01ce251a074904
|
Provenance
The following attestation bundles were made for schrosim-0.10.0.tar.gz:
Publisher:
pypi-publish.yml on DennisWayo/SchroSIM
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
schrosim-0.10.0.tar.gz -
Subject digest:
d589287f948c145e382b7e4b80d5f7d00101c5b423ae04458a704f5de2bd199d - Sigstore transparency entry: 1537411245
- Sigstore integration time:
-
Permalink:
DennisWayo/SchroSIM@e6fb0dda23bbf0bb0757b4dc4f9278f34d47fcd3 -
Branch / Tag:
refs/heads/master - Owner: https://github.com/DennisWayo
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@e6fb0dda23bbf0bb0757b4dc4f9278f34d47fcd3 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file schrosim-0.10.0-py3-none-any.whl.
File metadata
- Download URL: schrosim-0.10.0-py3-none-any.whl
- Upload date:
- Size: 7.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aa19f965c8d1419ca6b5cd8c90bade25426684a3c6aab5bdb3bef178e4022b98
|
|
| MD5 |
364d5f2c8184566c2dc1384243f34597
|
|
| BLAKE2b-256 |
91f9595b44bbcb32b0864db52ab123fe43c348868c022c7527de1797d68c1732
|
Provenance
The following attestation bundles were made for schrosim-0.10.0-py3-none-any.whl:
Publisher:
pypi-publish.yml on DennisWayo/SchroSIM
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
schrosim-0.10.0-py3-none-any.whl -
Subject digest:
aa19f965c8d1419ca6b5cd8c90bade25426684a3c6aab5bdb3bef178e4022b98 - Sigstore transparency entry: 1537411335
- Sigstore integration time:
-
Permalink:
DennisWayo/SchroSIM@e6fb0dda23bbf0bb0757b4dc4f9278f34d47fcd3 -
Branch / Tag:
refs/heads/master - Owner: https://github.com/DennisWayo
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@e6fb0dda23bbf0bb0757b4dc4f9278f34d47fcd3 -
Trigger Event:
workflow_dispatch
-
Statement type: