Installation
We recommend starting with our Connector Factory cookiecutter. To verify your installation, you can run the connector and start the SiLA Browser locally. Refer to the SiLA Browser guide on GitLab for further instructions.
Prerequisites
Before getting started your first connector, ensure you have the following prerequisites installed on your system:
- Python 3.9+: Ensure that Python 3.9 or later is installed. We suggest the most recently released version of CPython for the best feature extend and highest security. You can download Python from python.org.
- Cruft: Install this command-line tool for project scaffolding using:
pipx install cruft
0. Setup your Environment Manager
Our connector-factory
supports three popular environment/package managers: uv
, hatch
, and poetry
. Check out our Library Comparison of the three tools to learn more about the differences and decide which tools is right for you.
pipx install uv
1. Generate a New Connector Project
Use Cruft to create a new connector project:
cruft create https://gitlab.com/unitelabs/cdk/connector-factory.git
It prompts you to enter some basic information about your project, such as:
- Connector Name:: The name of your instrument to connect.
- Description: A description of the instrument's main purpose.
- Communication Type: The hardware communication protocol (e.g., none, Serial, USB, TCP, UDP).
This creates a structured project directory:
├── project-name
├── src/unitelabs/package_name
├── __init__.py
├── __main__.py
└── io
├── __init__.py
└── package_name_protocol.py
├── tests
├── __init__.py
├── conftest.py
└── test_version.py
2. Verify the Installation
Run the connector to ensure everything is working:
cd project-name
uv run connector start -v
After starting the connector, you can verify its status in the SiLA Browser. If it is running successfully, your environment is ready for development.
Next Steps
With your environment set up, you can proceed to modify and enhance the existing connector. Check out our Walkthrough for a comprehensive guide to connector development.