Skip to content

Welcome to Chilas documentation

This is the documentation for the python library used to control our tunable lasers. The Quickstart Guide follows a tutorial with the most common use cases for the lasers and usual operation. And the Package Reference section is a rendering of the code documentation in a nice readable format for quick reference. Please use it to your convenience to get a more in depth look at how to properly use this library.

📁 Project Structure

📁 PyChilasLasers/
├──  📁 src/
│   └──  📁 pychilaslasers/
│       ├──  📁 calibration/
│       │   ├──  __init__.py  # Calibration data management for Chilas laser systems.
│       │   ├──  calibration_parsing.py  # Calibration file parsing and loading functionality.
│       │   ├──  defaults.py  # Default configuration values for laser calibration.
│       │   └──  structs.py  # Data structures for laser calibration management.
│       ├──  📁 exceptions/
│       │   ├──  __init__.py  # PyChilasLasers exceptions module.
│       │   ├──  calibration_error.py  # Class representing errors encountered during the reading of the calibration file.
│       │   ├──  laser_error.py  # Class representing errors received from the laser.
│       │   └──  mode_error.py  # Exception class for laser mode-related errors.
│       ├──  📁 laser_components/
│       │   ├──  📁 heaters/
│       │   │   ├──  __init__.py  # Heater components package for laser thermal control.
│       │   │   ├──  heater_channels.py
│       │   │   ├──  heaters.py  # Heater component classes.
│       │   │   └──  phase_section.py  # Phase section heater component.
│       │   ├──  __init__.py  # Laser hardware components package.
│       │   ├──  diode.py  # Laser diode component.
│       │   ├──  driver.py  # Abstract base class for laser drivers.
│       │   ├──  laser_component.py  # Abstract base class for laser hardware components.
│       │   ├──  sensors.py  # Module defining multiple sensors on the laser.
│       │   └──  tec.py  # Temperature control (TEC driver) component.
│       ├──  📁 modes/
│       │   ├──  __init__.py  # PyChilasLasers Modes Module.
│       │   ├──  calibrated.py  # Abstract base class for laser modes that require calibration data.
│       │   ├──  manual_mode.py  # Manual mode implementation for direct laser heater control.
│       │   ├──  mode.py  # Abstract base classes and enumerations for laser operating modes.
│       │   ├──  sweep_mode.py  # Sweep mode implementation for laser wavelength sweeping operations.
│       │   └──  tune_mode.py  # Tune mode operation for laser wavelength control.
│       ├──  __init__.py  # Package for controlling laser products from Chilas Lasers.
│       ├──  comm.py  # Serial communication interface for Chilas laser systems.
│       ├──  constants.py  # Constants used throughout the PyChilasLasers library.
│       ├──  laser.py  # Define the Laser class for Chilas lasers.
│       └──  system.py  # Defines the system class, a container for some attributes of the laser.
├──  .gitignore
├──  .pre-commit-config.yaml
├──  LICENSE
├──  mkdocs.yml
├──  pyproject.toml
└──  README.md