Metadata-Version: 2.1
Name: nkt-basik
Version: 0.3.2
Summary: Python interface for the NKT Photonics Basik fiber seed laser
Home-page: https://github.com/ograsdijk/NKT-Basik
License: MIT
Author: ograsdijk
Author-email: o.grasdijk@gmail.com
Requires-Python: >=3.7,<4.0
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Project-URL: Repository, https://github.com/ograsdijk/NKT-Basik
Description-Content-Type: text/markdown

# NKT-basik
[![Python versions on PyPI](https://img.shields.io/pypi/pyversions/nkt_basik.svg)](https://pypi.python.org/pypi/nkt_basik/)
[![nkt_basik version on PyPI](https://img.shields.io/pypi/v/nkt_basik.svg "NKT Basik on PyPI")](https://pypi.python.org/pypi/nkt_basik/)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)

Interface for [NKT Photonics Basik fiber seed laser](https://www.nktphotonics.com/lasers-fibers/product/koheras-basik-low-noise-single-frequency-oem-laser-modules/), only tested with a Y10 model.  
Consists of a class Basik which has the methods to modify wavelength, frequency, modulation, etc.

## Install
To use the package install with `pip install nkt_basik` or install from source.

## Code Example

```Python
from nkt_basik import Basik

device = Basik('COM4', 1)

# get the wavelength in nm 
print(f'Device wavelength: {device.wavelength} nm')

# get the frequency in GHz
print(f'Device frequency: {device.frequency:.4f} GHz')

# get the temperature in C
print(f'Device temperature: {device.temperature:.1f} C')

# set the wavelength setpoint in nm
print('Setting the wavelength to 1086.77 nm')
device.wavelength = 1086.77

# get the wavelength in nm 
print(f'Device wavelength: {device.wavelength} nm')

# enable emission
print('Enable emission')
device.emission = True

# enable wavelength modulation
device.modulation = True

# get device errors
print('Errors:',device.error)

# get device status
print('Status:',device.status)

# disable emission
print('Disable emission')
device.emission = False

# get device status
print('Status:',device.status)
```

## TODO
* more testing
* add tests

