lightcon
lightcon is a Python package of clients and wrappers for controlling
Light Conversion hardware: OPAs, OPOs and
lasers, motion and DAQ hardware, spectrometers, power meters, and beam
diagnostics apps. Most modules talk to a device over its local HTTP REST
API, a few wrap a vendor DLL or a serial link, and a couple are
stand-alone helpers (unit conversion, plotting style).
Examples for most modules live in examples/ and are linked from the relevant module section below.
Installation
Pip
pip install lightcon
Modules
lightcon.laser_clients
REST API clients for PHAROS, CARBIDE lasers and FL1-generation FLINT oscillators. Newer FL2- and FL3-generation FLINTs as well as CRONUS-3P and CRONUS-2P systems have their own modules below.
Example: examples/laser_client_example.py
lightcon.flint3
REST API client (FL3Client) for FLINT lasers running FLINT App v2 and
above. Older FLINT lasers are controlled through lightcon.laser_clients
instead.
Example: examples/fl3_laser_test.py
lightcon.cronus3p
Thin REST API client (C3PClient) and a more complex control class (C3PControl)
for CRONUS-3P lasers, hosted by Light Composer. Supports both the current C3Pv2 hardware via RESTv1 API (attenuator control, multiple tunable channels) and the legacy C3Pv1 via RESTv0.
lightcon.cronus2pv3
REST API client (C2Pv3Client) for CRONUS-2Pv3 OPOs running Cronus App v1
and above. Older CRONUS-2Pv1 lasers are controlled through
lightcon.cronus2p instead.
Example: examples/c2pv3_laser_test.py
lightcon.cronus2p
REST API client (C2PControl) for CRONUS-2Pv1 optical parametric oscillators. The newer C2Pv3 OPOs are controlled via lightcon.cronus2pv3 instead.
lightcon.wintopas
REST API client (WinTopas) for Topas4-based optical parametric amplifiers,
served by Topas Server.
lightcon.harpia
REST API client (Harpia) for the HARPIA spectroscopy systems hosted by HARPIA Service App, plus a CAN-over-REST provider (HarpiaLepreCanProvider) for reading/writing device registers directly.
Example: examples/harpia_rest_can.py — reading device registers over the CAN extension.
lightcon.harpia_daq
DLL wrapper (HarpiaDaqWrapper) for the universal six-channel DAQ
(PE04-005-04 or newer).
Example: examples/harpia_daq_wrapper_example.py
lightcon.fast_daq
DLL wrapper (FastDaqWrapper) for the fast single-channel DAQ
(E13-10023-02 or newer).
Example: examples/fast_daq_wrapper_example.py
lightcon.camera_app_client
REST API client (CameraApp) for the Camera App beam-diagnostics
application.
Example, combined with lightcon.harpia's delay line:
examples/delay_line_beam_position_test.py
lightcon.beam_alignment
REST API client (BeamAlignmentSystem) for the Beam Alignment App.
lightcon.power_meter
REST API client (PowerMeter) for the PowerMeter power-measurement
application, with UDP auto-discovery of PowerMeter apps running on the local
network.
lightcon.spectrometers
REST API client (RemoteSpectrometer) for Light Conversion spectraLight
devices.
lightcon.eth_motor_board
API (EthMotorBoard) for the Ethernet motor controller board, plus a
CAN-over-REST provider (EthMotorBoardLepreCanProvider).
Examples:
- examples/eth_motor_board_test_ls.py — minimal connect-and-send example.
- examples/eth_motor_board_stage.py — board discovery via
UdpLocatorand full L6470 driver setup. - examples/eth_motor_board_with_PI_VT80.py — L6470 driver setup for a PI VT-80 stage.
lightcon.timing_controller
Serial API for the timing controller, with TimingController (v1) and
TimingControllerV2 classes.
lightcon.calculate
Helper functions for motor and stage configuration in EthMotorBoard.
lightcon.common
Shared connectivity functions for REST clients (HTTP_methods), UDP discovery (UdpLocator), and logging (init_logger)
Example: examples/logger.py
lightcon.datasets
Loader (load_csv_data, load_json_data) for datasets bundled with the
package.
lightcon.style
Light Conversion plotting style for 1D matplotlib graphs, with watermarking.
Example: examples/lcstyle_plot1d_example.py
lightcon.utils
Miscellaneous internal fixes/utilities.
Metadata
Release files for lightcon 1.7.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| lightcon-1.7.0.tar.gz | 47.2 kB | With provenance | Details for lightcon-1.7.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| lightcon-1.7.0-py3-none-any.whl | Python 3 | none | any | Details for lightcon-1.7.0-py3-none-any.whl |
Total release size: 107.7 kB
Release files / lightcon-1.7.0.tar.gz
| Download URL | lightcon-1.7.0.tar.gz |
|---|---|
| Size | 47.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5293301a0b9659611423a0f4941f1c1563016111e5d7eef1bcb29ea42372d94f
|
|
BLAKE2b-256 checksum How to use checksums |
dac1f3899972c4dee3f15d0a08964acb87e9b794d2eb5e3f689f09e326080158
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 4, 2026.
Transparency logRelease files / lightcon-1.7.0-py3-none-any.whl
| Download URL | lightcon-1.7.0-py3-none-any.whl |
|---|---|
| Size | 60.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fbd4fcc6ae7114455b5d6f67b750d1fbb8fce9b464be8fa4e0a2359c38d9fde8
|
|
BLAKE2b-256 checksum How to use checksums |
1ec555afb4132c096fba954d1cbfb8e2ba75387fe2abba3a2a19afe6b225c406
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 4, 2026.
Transparency logSecurity for lightcon 1.7.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.
Full provenance
Both files in this release have been uploaded with provenance metadata.
Attestation for lightcon-1.7.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 4, 2026.
Transparency logA 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.