Metadata-Version: 2.4
Name: labnet-sim
Version: 3.0.0
Summary: Simulated LabNet devices: an optics bench (laser, AOM, EOM, AWG), a tunable laser and a wavemeter
Author: Robert Miller
License-Expression: MIT
Project-URL: Documentation, https://mill0851.github.io/labnet/
Project-URL: Source, https://github.com/mill0851/labnet
Project-URL: Issues, https://github.com/mill0851/labnet/issues
Project-URL: Changelog, https://github.com/mill0851/labnet/blob/main/CHANGELOG.md
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: System :: Hardware
Requires-Python: >=3.11
Description-Content-Type: text/markdown
Requires-Dist: labnet<3.1,>=3.0.0

# labnet-sim

Simulated LabNet devices, for developing and demonstrating experiments without
hardware: an optics bench (`DummyLaser`, `DummyAOM`, `DummyEOM`, `DummyAWG`),
`DummyDevice`, a motor-tuned `SimulatedTunableLaser` and a `SimulatedWavemeter`.

```
pip install labnet-sim
```

Install it on a Lab PC to serve these devices, and on clients and the Control
Center to use them. A Lab PC inventory creates the drivers:

```python
from labnet_sim import PhysicalDummyAOM, PhysicalSimulatedWavemeter

def create_devices():
    return [PhysicalDummyAOM("bench-aom"), PhysicalSimulatedWavemeter("bench-wavemeter")]
```

and a client uses the facades:

```python
from labnet import LabClient
from labnet_sim import DummyAOM

central = LabClient.from_env()
aom = DummyAOM(client=central)  # leases the first available dummy_aom
try:
    aom.set_frequency(80.0)
finally:
    aom.close()  # releases the lease
    central.close()
```

It is also a complete example of a LabNet driver package: protos in
`protos/labnet_sim/v1/`, drivers in `src/labnet_sim/<family>/physical.py`, and
everything in `src/labnet_sim/_generated/` built by `labnet driver build`.
Ready-made Lab PC inventories for a development network are in
`labnet_sim.inventories`.

Documentation: <https://mill0851.github.io/labnet/drivers/> (writing a driver
package like this one). LabNet is MIT licensed. Source:
<https://github.com/mill0851/labnet>.
