SiLA2 code generator for Python3
pip install sila2codegenerator==0.3.2.dev0
Welcome to SiLA2 and Python 3 !
SiLA_python is a python implementation of the universal and royalty free SiLA 2 laboratory automation standard. It provides convenient libraries, a codegenerator and a collection of examples and implementations to support a fast integration of SiLA 2 into your own lab automation projects and to illustrate how SiLA 2 could be implemented.
This is currently the fastest route to a SiLA2 experience. With the SiLA2 python installer - sila2install.py (s. Quickstart) - you will be able to run a first SiLA2 HelloWorld Service within 10 minutes !
Our new silacodegenerator makes it possible to do a very fast prototyping of server/clients within hours or days. Please read further in the silacodegenerator README.md how to use it.
Please note that Python >= 3.6 or 3.7 is mandatory to run the code in this repository (grpcio binary support for python 3.8 under MSWindows is still missing).
This repository tries to reflect a wide range of the 1.0 Release of SiLA 2 specification.
For more general information about the standard, we refer to the sila_base repository.
!! encryption is supported autoamtically, if you (currently) place a certificate and key file in the same location as the server/client files
This repository is currently maintained by University of Greifswald
Please contact:
A python library to aid the development of SiLA Servers. The library contains, e.g. the SiLAserver/client base classes, zeroconfig/bonjour server detection, SiLA feature definition (FDL) parser, SiLA Service and the Error Handling library.
A python communication library for hardware communication (like serial/RS232, CAN, SPI, GPIO).
A collection of example applications that demonstrate important concepts of SiLA2. A good starting point to learn python_sila is:
Tools to support the rapid development of SiLA2 Servers/Services. It is highly recommended to start each individual project with the powerful codegenerator, since it already provides you with a functional framework:
This folder provides Proof-of-Concept (POC) implementations for typical lab devices and other common tasks - it is merely for demonstration purposes.
All information you need to run SiLA2 server/clients on a Raspberry Pi
The simplest way, to install SiLA_python is running the sila2installer.py script* - mind: it requires Python 3.6.0 or higher.
$ sudo apt install python3-pip # this might be necessary under Linux
$ pip3 install python3-venv
$ sila2installer.py
For further installation methods, please see: Installation
Get SiLA2 running in less than 5-10 minutes (depending on your internet connection) with our Quickstart Tutorial
For ultra-fast code generation, please look into our sila2codegenerator quickstart tutorial: sila2codegenerator tutorial
For fast installation of SiLA 2 Server on a Raspberry Pi 3/B+
Raspberry Pi Installation
The documentation can be found here: Documentation
Please help us to make it a great starting point for SiLA2 ! SiLA_python is developed on GitLab by developers and volunteers like you ! If you come across an issue, or have a feature request please open an issue. If you want to contribute (even fixing small typos are very welcome) or propose a new feature implementation please feel very welcome by sending a merge request. We need all hands and all your help - thanks !
For all the details of contributing, please look into: Contributing.
The SiLA_python documentation is the best place to start, after that - and if you cannot find, what you are looking for -contact our Slack-channel: Slack #sila_python
If you still can't find an answer please open an issue.
The official SiLA-Standard specifications can be found at https://sila-standard.org.
The best way to test SiLA_python is with Tox, or nose2:
$ pip install tox
$ tox
this will check the code style and run the tests.
This code is licensed under the MIT License.