# Viasat FieldEdge Utilities
The 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`** or **`hostrequest`** 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.
* **`ConfigurableProperty`** for improved ISC configuration handling.
* **`DelegatedProperty`** for subclass conversions of method to property
with optional caching.
* 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/8a/01/c415cb2827b7c231717de861f41e9ee72c488c19b5975dfc3460a753c463/fieldedge_utilities-0.32.6.tar.gz",
"platform": null,
"description": "# Viasat FieldEdge Utilities\n\nThe 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`** or **`hostrequest`** service\nfor sending host commands from a Docker container, with request/result captured\nin 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 * **`ConfigurableProperty`** for improved ISC configuration handling.\n * **`DelegatedProperty`** for subclass conversions of method to property\n with optional caching.\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.32.6",
"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": "7efafc9f7771cdd085de753f7a1c3195ed2b953f36b5b3f48060a402ae302b21",
"md5": "9cfc60e7622bfd8988c76f4f6f8a1c79",
"sha256": "a859f192f79a2fb75c0c21773ce9e023053feade18ec477654e3253df4f84097"
},
"downloads": -1,
"filename": "fieldedge_utilities-0.32.6-py3-none-any.whl",
"has_sig": false,
"md5_digest": "9cfc60e7622bfd8988c76f4f6f8a1c79",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.9",
"size": 77078,
"upload_time": "2025-09-12T21:32:05",
"upload_time_iso_8601": "2025-09-12T21:32:05.368055Z",
"url": "https://files.pythonhosted.org/packages/7e/fa/fc9f7771cdd085de753f7a1c3195ed2b953f36b5b3f48060a402ae302b21/fieldedge_utilities-0.32.6-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "8a01c415cb2827b7c231717de861f41e9ee72c488c19b5975dfc3460a753c463",
"md5": "8c8df6411714a50bd68fd9ee4fb0fea9",
"sha256": "7dbda7546b2720fb8a7221d95c2d4fcbf0dca61cbf7a54ff70ae89ddbdd7258a"
},
"downloads": -1,
"filename": "fieldedge_utilities-0.32.6.tar.gz",
"has_sig": false,
"md5_digest": "8c8df6411714a50bd68fd9ee4fb0fea9",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.9",
"size": 63216,
"upload_time": "2025-09-12T21:32:06",
"upload_time_iso_8601": "2025-09-12T21:32:06.456308Z",
"url": "https://files.pythonhosted.org/packages/8a/01/c415cb2827b7c231717de861f41e9ee72c488c19b5975dfc3460a753c463/fieldedge_utilities-0.32.6.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-09-12 21:32:06",
"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"
}