sila2comlib

sila2comlib - a SiLA 2 python3 communication library


Keywords
SiLA, 2, lab, automation, laboratory, instruments, experiments, evaluation, visualisation, serial, interface, robots
License
MIT
Install
pip install sila2comlib==0.2.0

Documentation

sila-python

SiLA Python3 Repository

docs pypi python license

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).

Status

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

Maintainer

This repository is currently maintained by University of Greifswald

Please contact:

Components

sila_library

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.

sila_com_library

A python communication library for hardware communication (like serial/RS232, CAN, SPI, GPIO).

examples

A collection of example applications that demonstrate important concepts of SiLA2. A good starting point to learn python_sila is:

sila_tools

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:

  • codegenerator - this is a powerful tool to generate a complete SiLA2 set of server/client, solely based on Python3, out of a few configuration files.

implementations

This folder provides Proof-of-Concept (POC) implementations for typical lab devices and other common tasks - it is merely for demonstration purposes.

raspberry-pi

All information you need to run SiLA2 server/clients on a Raspberry Pi

Installation

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

Quickstart Tutorials

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

Documentation

The documentation can be found here: Documentation

Contributing

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.

Help

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.

Testing

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.

License

This code is licensed under the MIT License.