pynimcodec


Namepynimcodec JSON
Version 0.4.8 PyPI version JSON
download
home_pagehttps://github.com/inmarsat-enterprise/pynimomodem
SummaryCodecs for Satellite IoT messaging implemented in Python.
upload_time2025-01-22 16:43:12
maintainerNone
docs_urlNone
authorgeoffbrucepayne
requires_python<4.0,>=3.10
licenseApache2.0
keywords viasat inmarsat satellite iot idp ogx orbcomm
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # pynimcodec

A set of message codecs for use with satellite IoT products implemented
in Python.

## Compact Binary Codec (CBC)

A Python implementation of
[Viasat CBC](https://github.com/inmarsat-enterprise/compact-binary-codec)

## nimo

The NIMO message codec was designed by ORBCOMM and represents an efficient
binary data packing for various data types at a bit-level.

This module also provides facilities to build a XML file compliant with the
ORBCOMM and/or Viasat *Message Definition File* concept to apply to messages
sent over the IsatData Pro service.

The principles of the NIMO *Common Message Format* are:

* First byte of payload is *Service Identification Number* (**SIN**)
representing a microservice running on an IoT device.
Each `<Service>` consists of `<ForwardMessages>` (e.g. commands) and/or
`<ReturnMessages>` (e.g. reports or responses from the IoT device).
SIN must be in a range 16..255.
    
> [!WARNING]
> SIN range 16..127 may *conflict* with certain ORBCOMM-reserved messages
> when using the ORBCOMM IDP service.

* Second byte of payload is *Message Identification Number* (**MIN**)
representing a remote operation such as a data report or a command.
The combination of **SIN** and **MIN** and direction (Forward/Return) enables
decoding of subsequent `<Fields>` containing data.

* Subsequent bytes of data are defined by `<Fields>` where each `<Field>` has
a data type such as `<SignedIntField>`, `<EnumField>`, etc.
These fields can be defined on individual bitwise boundaries, for example a
5-bit unsigned integer with maximum value 31, or a boolean single bit.
            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/inmarsat-enterprise/pynimomodem",
    "name": "pynimcodec",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.10",
    "maintainer_email": null,
    "keywords": "viasat, inmarsat, satellite, iot, idp, ogx, orbcomm",
    "author": "geoffbrucepayne",
    "author_email": "geoff.bruce-payne@inmarsat.com",
    "download_url": "https://files.pythonhosted.org/packages/56/3a/45977882fd0ebf20fb6793c9a4856543cfcf326ae8514d9c035c5b5ee2ce/pynimcodec-0.4.8.tar.gz",
    "platform": null,
    "description": "# pynimcodec\n\nA set of message codecs for use with satellite IoT products implemented\nin Python.\n\n## Compact Binary Codec (CBC)\n\nA Python implementation of\n[Viasat CBC](https://github.com/inmarsat-enterprise/compact-binary-codec)\n\n## nimo\n\nThe NIMO message codec was designed by ORBCOMM and represents an efficient\nbinary data packing for various data types at a bit-level.\n\nThis module also provides facilities to build a XML file compliant with the\nORBCOMM and/or Viasat *Message Definition File* concept to apply to messages\nsent over the IsatData Pro service.\n\nThe principles of the NIMO *Common Message Format* are:\n\n* First byte of payload is *Service Identification Number* (**SIN**)\nrepresenting a microservice running on an IoT device.\nEach `<Service>` consists of `<ForwardMessages>` (e.g. commands) and/or\n`<ReturnMessages>` (e.g. reports or responses from the IoT device).\nSIN must be in a range 16..255.\n    \n> [!WARNING]\n> SIN range 16..127 may *conflict* with certain ORBCOMM-reserved messages\n> when using the ORBCOMM IDP service.\n\n* Second byte of payload is *Message Identification Number* (**MIN**)\nrepresenting a remote operation such as a data report or a command.\nThe combination of **SIN** and **MIN** and direction (Forward/Return) enables\ndecoding of subsequent `<Fields>` containing data.\n\n* Subsequent bytes of data are defined by `<Fields>` where each `<Field>` has\na data type such as `<SignedIntField>`, `<EnumField>`, etc.\nThese fields can be defined on individual bitwise boundaries, for example a\n5-bit unsigned integer with maximum value 31, or a boolean single bit.",
    "bugtrack_url": null,
    "license": "Apache2.0",
    "summary": "Codecs for Satellite IoT messaging implemented in Python.",
    "version": "0.4.8",
    "project_urls": {
        "Homepage": "https://github.com/inmarsat-enterprise/pynimomodem",
        "Repository": "https://github.com/inmarsat-enterprise/pynimomodem"
    },
    "split_keywords": [
        "viasat",
        " inmarsat",
        " satellite",
        " iot",
        " idp",
        " ogx",
        " orbcomm"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "191d47a48333287ce6b3cd8896158febb45f3af26c4ef38c5ebccf9cb52cb919",
                "md5": "aaaa4e7d771ec97b0ee0b5bcd64e15ac",
                "sha256": "af4430196cbedeecf704c185820387523ff0eec232ec48e2ad8542152d6aeac8"
            },
            "downloads": -1,
            "filename": "pynimcodec-0.4.8-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "aaaa4e7d771ec97b0ee0b5bcd64e15ac",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.10",
            "size": 72634,
            "upload_time": "2025-01-22T16:43:11",
            "upload_time_iso_8601": "2025-01-22T16:43:11.865072Z",
            "url": "https://files.pythonhosted.org/packages/19/1d/47a48333287ce6b3cd8896158febb45f3af26c4ef38c5ebccf9cb52cb919/pynimcodec-0.4.8-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "563a45977882fd0ebf20fb6793c9a4856543cfcf326ae8514d9c035c5b5ee2ce",
                "md5": "272bd82f9ab75d9aef1c3c5644fb345b",
                "sha256": "9166140ece08cfc99161e56b65b56ed560407834f26515b6ff03e474dfa6d6b8"
            },
            "downloads": -1,
            "filename": "pynimcodec-0.4.8.tar.gz",
            "has_sig": false,
            "md5_digest": "272bd82f9ab75d9aef1c3c5644fb345b",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.10",
            "size": 43410,
            "upload_time": "2025-01-22T16:43:12",
            "upload_time_iso_8601": "2025-01-22T16:43:12.935618Z",
            "url": "https://files.pythonhosted.org/packages/56/3a/45977882fd0ebf20fb6793c9a4856543cfcf326ae8514d9c035c5b5ee2ce/pynimcodec-0.4.8.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-01-22 16:43:12",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "inmarsat-enterprise",
    "github_project": "pynimomodem",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "pynimcodec"
}
        
Elapsed time: 0.79937s