# Trixel Service Client
The *Trixel Service Client (TSC)* is a single unified python module which is used to participate in privacy aware environmental monitoring.
This module is responsible for interacting with the *Trixel Lookup Service (TLS)* and the *Trixel Management Service (TMS)* to provide updates to the trixel-based sensor network.
This module currently only support contributing clients.
## Usage
The core `Client` class contains large parts of the logic and allows for the implementations of derivatives which persist the clients configuration differently.
Persisting the configuration is required as it contains the measurement stations unique identifier and authentication token.
Examples for client implementations and extensions therefore can be found under [src/trixelserviceclient/extended_clients/](src/trixelserviceclient/extended_clients/).
The [PollingPickleClient](src/trixelserviceclient/extended_clients/pickle_client.py) is a complete client implementation that can persist the client configuration in a pickle file for future use.
It requires the definition of a `get_updates` method which provides the to-be-submitted values for the registered sensors.
This variant of the implementation performs all necessary steps for contribution by itself, which includes registration, configuration change synchronization and providing measurement updates.
The `Client` class also build the foundation for the [Trixel service bridges](https://github.com/TillFleisch/TrixelServiceBridges/) and the [Home Assistant Trixel contribution Integration](https://github.com/TillFleisch/TrixelNetworkIntegration).
## Development
The client implementation uses both the generated [TSM python client module](https://pypi.org/project/trixelmanagementclient/) and the [TLS python client module](https://pypi.org/project/trixellookupclient/).
They are listed in the requirements file among other dependencies.
[Pre-commit](https://pre-commit.com/) is used to enforce code-formatting, formatting tools are mentioned [here](.pre-commit-config.yaml).
The resulting python module can be built with pythons `build` module, which is also performed by the CI/CD pipeline.
Raw data
{
"_id": null,
"home_page": null,
"name": "trixelserviceclient",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "trixel, private, privacy focused, environmental monitoring, sensor network",
"author": null,
"author_email": "Till <till@fleisch.dev>",
"download_url": "https://files.pythonhosted.org/packages/24/ae/79c00e0eaf1e8e6d6994eed5d7a1ef967d45f51f8259822ea4b97628b5ca/trixelserviceclient-0.0.1.tar.gz",
"platform": null,
"description": "# Trixel Service Client\n\nThe *Trixel Service Client (TSC)* is a single unified python module which is used to participate in privacy aware environmental monitoring.\nThis module is responsible for interacting with the *Trixel Lookup Service (TLS)* and the *Trixel Management Service (TMS)* to provide updates to the trixel-based sensor network.\n\nThis module currently only support contributing clients.\n\n## Usage\n\nThe core `Client` class contains large parts of the logic and allows for the implementations of derivatives which persist the clients configuration differently.\nPersisting the configuration is required as it contains the measurement stations unique identifier and authentication token.\n\nExamples for client implementations and extensions therefore can be found under [src/trixelserviceclient/extended_clients/](src/trixelserviceclient/extended_clients/).\nThe [PollingPickleClient](src/trixelserviceclient/extended_clients/pickle_client.py) is a complete client implementation that can persist the client configuration in a pickle file for future use.\nIt requires the definition of a `get_updates` method which provides the to-be-submitted values for the registered sensors.\nThis variant of the implementation performs all necessary steps for contribution by itself, which includes registration, configuration change synchronization and providing measurement updates.\n\nThe `Client` class also build the foundation for the [Trixel service bridges](https://github.com/TillFleisch/TrixelServiceBridges/) and the [Home Assistant Trixel contribution Integration](https://github.com/TillFleisch/TrixelNetworkIntegration).\n\n## Development\n\nThe client implementation uses both the generated [TSM python client module](https://pypi.org/project/trixelmanagementclient/) and the [TLS python client module](https://pypi.org/project/trixellookupclient/).\nThey are listed in the requirements file among other dependencies.\n[Pre-commit](https://pre-commit.com/) is used to enforce code-formatting, formatting tools are mentioned [here](.pre-commit-config.yaml).\n\nThe resulting python module can be built with pythons `build` module, which is also performed by the CI/CD pipeline.\n",
"bugtrack_url": null,
"license": null,
"summary": "Simple Python client for participating in privacy aware environmental monitoring.",
"version": "0.0.1",
"project_urls": {
"Homepage": "https://github.com/TillFleisch/TrixelServiceClient",
"Issues": "https://github.com/TillFleisch/TrixelServiceClient/issues",
"Repository": "https://github.com/TillFleisch/TrixelServiceClient.git"
},
"split_keywords": [
"trixel",
" private",
" privacy focused",
" environmental monitoring",
" sensor network"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "670de4985cd388e1407cb4f658f3cfb345a36417732bb043073a9a7c2915f1ee",
"md5": "125857939fec8bc235f0797944207e9d",
"sha256": "b85c92e739bf68c09c7fa8c68d6f5d067576279f1113d541899f5215a7a2ceae"
},
"downloads": -1,
"filename": "trixelserviceclient-0.0.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "125857939fec8bc235f0797944207e9d",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 14872,
"upload_time": "2024-10-06T18:41:09",
"upload_time_iso_8601": "2024-10-06T18:41:09.024341Z",
"url": "https://files.pythonhosted.org/packages/67/0d/e4985cd388e1407cb4f658f3cfb345a36417732bb043073a9a7c2915f1ee/trixelserviceclient-0.0.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "24ae79c00e0eaf1e8e6d6994eed5d7a1ef967d45f51f8259822ea4b97628b5ca",
"md5": "66fcb315a777af10c898d1c05d67d34b",
"sha256": "a9021bad03b29490a6316a3af1f4b305d345f1110e0863b981091d27bbaf2e58"
},
"downloads": -1,
"filename": "trixelserviceclient-0.0.1.tar.gz",
"has_sig": false,
"md5_digest": "66fcb315a777af10c898d1c05d67d34b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 14010,
"upload_time": "2024-10-06T18:41:10",
"upload_time_iso_8601": "2024-10-06T18:41:10.576247Z",
"url": "https://files.pythonhosted.org/packages/24/ae/79c00e0eaf1e8e6d6994eed5d7a1ef967d45f51f8259822ea4b97628b5ca/trixelserviceclient-0.0.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-06 18:41:10",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "TillFleisch",
"github_project": "TrixelServiceClient",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "packaging",
"specs": [
[
"~=",
"24.1"
]
]
},
{
"name": "colorlog",
"specs": [
[
"~=",
"6.8"
]
]
},
{
"name": "pynyhtm",
"specs": [
[
"==",
"0.1.0"
]
]
},
{
"name": "trixellookupclient",
"specs": [
[
"==",
"0.2.0"
]
]
},
{
"name": "trixelmanagementclient",
"specs": [
[
"==",
"0.1.0"
]
]
}
],
"lcname": "trixelserviceclient"
}