Unitelabs SiLA Python Library
A Python library for creating SiLA 2 clients and servers. This flexible and unopinionated library gives you everything needed to create a SiLA 2 1.1 compliant Python application. It adheres to the SiLA 2 specification and is used by the UniteLabs CDK to enable rapid development of cloud-native SiLA Servers with a code-first approach.
Getting Started
Prerequisites
Ensure you have Python 3.9+ installed. You can install Python from python.org.
Quickstart
To get started quickly with your first connector, we recommend to use our UniteLabs CDK. Use Cookiecutter to create your project base on our Connector Factory starter template:
cookiecutter git@gitlab.com:unitelabs/cdk/connector-factory.git
Installation
Install the latest version of the library into your Python project:
pip install unitelabs-sila
Usage
Client
To start using the SiLA Python library as a client:
-
Import and configure your SiLA client instance:
import asyncio from sila.client import Client, ClientConfig async def main(): client = Client(ClientConfig(hostname="localhost", port=50052, tls=False)) await client.open() print(await client.get_server_name()) print(await client.get_server_uuid()) await client.close() asyncio.run(main())
-
Run your server:
$ python your_script.py
Server
To start using the SiLA Python library as a server:
-
Import and configure your SiLA server instance:
import asyncio from sila.server import Server from your_project.features import your_feature async def main(): server = Server({"port": 50000}) server.add_feature(your_feature) await server.start() asyncio.run(main())
-
To implement a custom SiLA Feature, create a feature definition following the SiLA2 specification:
from sila.server import Feature, UnobservableCommand your_feature = Feature(...) your_method = UnobservableCommand(...) your_method.add_to_feature(your_feature)
-
Run your server:
$ python your_script.py
Important: Without implementing the required SiLA Service Feature, your SiLA Server will not be fully compliant with the standard. For easier compliance, consider using the UniteLabs CDK, which handles this automatically.
Contribute
Submit and share your work!
https://hub.unitelabs.io
We encourage you to submit feature requests and bug reports through the GitLab issue system. Please include a clear description of the issue or feature you are proposing. If you have further questions, issues, or suggestions for improvement, don't hesitate to reach out to us at developers@unitelabs.io.
Join the conversation! Stay up to date with the latest developments by joining the Python channel in the SiLA Slack.
License
Distributed under the MIT License. See MIT license for more information.
Metadata
Release files for unitelabs-sila 0.10.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| unitelabs_sila-0.10.0.tar.gz | 8.9 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| unitelabs_sila-0.10.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 249.8 kB
Release files / unitelabs_sila-0.10.0.tar.gz
| Download URL | unitelabs_sila-0.10.0.tar.gz |
|---|---|
| Size | 8.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
638f5774afbbd0c77c3628b154f75cd4fe31692b49e915902859cd9031df4663
|
|
BLAKE2b-256 checksum How to use checksums |
c841a7dba0ef5ef2ad86d4e28435908f96cd8a928ed82a03a7ccec49817a1862
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
Hatch/1.18.1 {"ci":true,"cpu":"x86_64","distro":{"id":"trixie","libc":{"lib":"glibc","version":"2.41"},"name":"Debian GNU/Linux","version":"13"},"implementation":{"name":"CPython","version":"3.13.15"},"installer":{"name":"hatch","version":"1.18.1"},"openssl_version":"OpenSSL 3.5.7 9 Jun 2026","python":"3.13.15","system":{"name":"Linux","release":"5.15.154+"}} HTTPX2/2.13.0
|
Release files / unitelabs_sila-0.10.0-py3-none-any.whl
| Download URL | unitelabs_sila-0.10.0-py3-none-any.whl |
|---|---|
| Size | 240.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5365e86e20cb2c389343805201112a69ae11951cf1156395318a39ad6e09f27f
|
|
BLAKE2b-256 checksum How to use checksums |
d7327b52853b7d35790573187d048b6a356ecc528ae8fd7e3404279c63c1a982
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
Hatch/1.18.1 {"ci":true,"cpu":"x86_64","distro":{"id":"trixie","libc":{"lib":"glibc","version":"2.41"},"name":"Debian GNU/Linux","version":"13"},"implementation":{"name":"CPython","version":"3.13.15"},"installer":{"name":"hatch","version":"1.18.1"},"openssl_version":"OpenSSL 3.5.7 9 Jun 2026","python":"3.13.15","system":{"name":"Linux","release":"5.15.154+"}} HTTPX2/2.13.0
|
Security for unitelabs-sila 0.10.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.