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