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/
├──  📁 .github/
│   ├──  📁 workflows/
│   │   ├──  code-formatting.yml
│   │   ├──  documentation.yml
│   │   └──  publish.yml
│   └──  pull_request_template.md
├──  📁 src/
│   └──  📁 pychilaslasers/
│       ├──  📁 exceptions/
│       │   ├──  __init__.py  # PyChilasLasers exceptions module.
│       │   ├──  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.
│       │   ├──  __init__.py  # Laser hardware components package.
│       │   ├──  diode.py  # Laser diode component.
│       │   ├──  laser_component.py  # Abstract base class for laser hardware components.
│       │   └──  tec.py  # Temperature control (TEC) 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.
│       │   ├──  steady_mode.py  # Steady mode operation for laser wavelength control.
│       │   └──  sweep_mode.py  # Sweep mode implementation for laser wavelength sweeping operations.
│       ├──  __init__.py  # Package for controlling laser products from Chilas Lasers.
│       ├──  comm.py  # Communication class for handling laser driver serial communication.
│       ├──  laser.py  # Define the Laser class for Chilas lasers.
│       └──  utils.py
├──  .gitignore
├──  .pre-commit-config.yaml
├──  LICENSE
├──  mkdocs.yml
├──  pyproject.toml
└──  README.md