# Inmarsat FieldEdge Utilities
Inmarsat FieldEdge project supports *Internet of Things* (**IoT**) using
satellite communications technology. Generally this library is meant to be used
on single board computers capable of running Debian Linux.
>*While the authors recognize Python has several shortcomings for embedded use,*
*it provides a useful learning template.*
This library available on [**PyPI**](https://pypi.org/project/fieldedge-utilities/)
provides:
* A common **`logger`** format and wrapping file facility with UTC timestamps.
* A **`timer.RepeatingTimer`** utility (thread) that can be started, stopped,
restarted, and interval changed.
* A simplified **`mqtt`** client that automatically (re)onnects
(by default to a local `fieldedge-broker`).
* Helper functions for managing files and **`path`** on different OS.
* An interface for the FieldEdge **`hostpipe`** service for sending host
commands from a Docker container, with request/result captured in a logfile.
* Helper functions **`ip.interfaces`** for finding and validating IP interfaces
and addresses/subnets.
* A defined set of common **`ip.protocols`** used for packet analysis and
satellite data traffic optimisation.
* Helpers for managing **`serial`** ports on a host system.
* Utilities for converting **`timestamp`**s between unix and ISO 8601
* **`properties`** manipulation and conversion between JSON and PEP style,
and derived from classes or instances.
* Classes useful for implementing **`microservice`**s based on MQTT
inter-service communications and task workflows:
* **`interservice`** communications tasks and searchable queue.
* **`microservice`** class for consistent abstraction and interaction.
* **`msproxy`** microservice proxy class form a kind of twin of another
microservice, as a child of a microservice.
* **`feature`** class as a child of a microservice, with routing of MQTT
topics and messages and interaction with a simple task queue.
* **`propertycache`** concept for caching frequently referenced object
properties where the query may take time.
* **`subscriptionproxy`** allows cascading of received MQTT messages to
multiple modules within a project framing a microservice.
[Docmentation](https://inmarsat-enterprise.github.io/fieldedge-utilities/)
Raw data
{
"_id": null,
"home_page": "https://github.com/inmarsat-enterprise/fieldedge-utilities",
"name": "fieldedge-utilities",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.9",
"maintainer_email": null,
"keywords": "Inmarsat, FieldEdge",
"author": "geoffbrucepayne",
"author_email": "geoff.bruce-payne@inmarsat.com",
"download_url": "https://files.pythonhosted.org/packages/43/85/a41bb0cd05f637477116c0244b9d59ba123cdb7e9d2545a9e335550bca9f/fieldedge_utilities-0.28.1.tar.gz",
"platform": null,
"description": "# Inmarsat FieldEdge Utilities\n\nInmarsat FieldEdge project supports *Internet of Things* (**IoT**) using\nsatellite communications technology. Generally this library is meant to be used\non single board computers capable of running Debian Linux.\n\n>*While the authors recognize Python has several shortcomings for embedded use,*\n*it provides a useful learning template.*\n\nThis library available on [**PyPI**](https://pypi.org/project/fieldedge-utilities/)\nprovides:\n\n* A common **`logger`** format and wrapping file facility with UTC timestamps.\n* A **`timer.RepeatingTimer`** utility (thread) that can be started, stopped,\nrestarted, and interval changed.\n* A simplified **`mqtt`** client that automatically (re)onnects\n(by default to a local `fieldedge-broker`).\n* Helper functions for managing files and **`path`** on different OS.\n* An interface for the FieldEdge **`hostpipe`** service for sending host\ncommands from a Docker container, with request/result captured in a logfile.\n* Helper functions **`ip.interfaces`** for finding and validating IP interfaces\nand addresses/subnets.\n* A defined set of common **`ip.protocols`** used for packet analysis and\nsatellite data traffic optimisation.\n* Helpers for managing **`serial`** ports on a host system.\n* Utilities for converting **`timestamp`**s between unix and ISO 8601\n* **`properties`** manipulation and conversion between JSON and PEP style,\nand derived from classes or instances.\n* Classes useful for implementing **`microservice`**s based on MQTT\ninter-service communications and task workflows:\n * **`interservice`** communications tasks and searchable queue.\n * **`microservice`** class for consistent abstraction and interaction.\n * **`msproxy`** microservice proxy class form a kind of twin of another\n microservice, as a child of a microservice.\n * **`feature`** class as a child of a microservice, with routing of MQTT\n topics and messages and interaction with a simple task queue.\n * **`propertycache`** concept for caching frequently referenced object\n properties where the query may take time.\n * **`subscriptionproxy`** allows cascading of received MQTT messages to\n multiple modules within a project framing a microservice.\n\n[Docmentation](https://inmarsat-enterprise.github.io/fieldedge-utilities/)\n",
"bugtrack_url": null,
"license": "Apache2.0",
"summary": "Utilities package for the FieldEdge project.",
"version": "0.28.1",
"project_urls": {
"Homepage": "https://github.com/inmarsat-enterprise/fieldedge-utilities",
"Repository": "https://github.com/inmarsat-enterprise/fieldedge-utilities"
},
"split_keywords": [
"inmarsat",
" fieldedge"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "fd9127589d0c097a0b92dab92eae2e366c04deb1c04d158f22b75ac04594cffe",
"md5": "4776a97c349a37b0b4628ba469ec1485",
"sha256": "76ef52a09339b12eb7c66ffc0f78a3c3bdc6635d9e5d0bceea2b07cc1818c613"
},
"downloads": -1,
"filename": "fieldedge_utilities-0.28.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "4776a97c349a37b0b4628ba469ec1485",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.9",
"size": 59327,
"upload_time": "2025-01-02T23:13:47",
"upload_time_iso_8601": "2025-01-02T23:13:47.188929Z",
"url": "https://files.pythonhosted.org/packages/fd/91/27589d0c097a0b92dab92eae2e366c04deb1c04d158f22b75ac04594cffe/fieldedge_utilities-0.28.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "4385a41bb0cd05f637477116c0244b9d59ba123cdb7e9d2545a9e335550bca9f",
"md5": "274dbe99dd6b25e9d66618f3da536505",
"sha256": "72916bf2a60efbbf0e7e8d7ca11f77ad1f84fba72e3cfbc91c9e1ccd2f0b312a"
},
"downloads": -1,
"filename": "fieldedge_utilities-0.28.1.tar.gz",
"has_sig": false,
"md5_digest": "274dbe99dd6b25e9d66618f3da536505",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.9",
"size": 50349,
"upload_time": "2025-01-02T23:13:49",
"upload_time_iso_8601": "2025-01-02T23:13:49.647196Z",
"url": "https://files.pythonhosted.org/packages/43/85/a41bb0cd05f637477116c0244b9d59ba123cdb7e9d2545a9e335550bca9f/fieldedge_utilities-0.28.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-01-02 23:13:49",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "inmarsat-enterprise",
"github_project": "fieldedge-utilities",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "fieldedge-utilities"
}