someipy


Namesomeipy JSON
Version 1.0.0 PyPI version JSON
download
home_pagehttps://github.com/chrizog/someipy
SummaryA Python package implementing the SOME/IP protocol
upload_time2024-11-10 17:38:13
maintainerNone
docs_urlNone
authorChristian H.
requires_python>=3.8
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # someipy - A Python Library implementing the SOME/IP Protocol

## Get in Contact :postbox:

If you want to connect, have a feature request, bug report or need support, send me an email or connect on LinkedIn:
> :email: [someipy.package@gmail.com](mailto:someipy.package@gmail.com)  
:electric_plug: [LinkedIn](https://www.linkedin.com/in/ch-herzog/)

## Documentation :pencil2:

:link: [https://chrizog.github.io/someipy/](https://chrizog.github.io/someipy/)


## What is someipy?

someipy is a Python library implementing the SOME/IP protocol, including the SOME/IP SD (Service Discovery) in Python. It's perfectly suited for fast prototyping of applications that need to provide (server) or use (client) SOME/IP services from other ECUs.

someipy also supports serialization and deserialization of SOME/IP payloads, which is a unique feature compared to other libraries.

someipy is still under development; therefore, it does not yet support all features of the SOME/IP and SOME/IP Service Discovery protocol specification.

someipy is based on the specification version of R22-11:
- [SOME/IP Protocol Specification](https://www.autosar.org/fileadmin/standards/R22-11/FO/AUTOSAR_PRS_SOMEIPProtocol.pdf)
- [SOME/IP Service Discovery Protocol Specification](https://www.autosar.org/fileadmin/standards/R22-11/FO/AUTOSAR_PRS_SOMEIPServiceDiscoveryProtocol.pdf)

The library is currently developed and tested under Ubuntu 22.04 and Python 3.8.

## Typical Use Cases

someipy excels in scenarios where a full-scale Autosar (Adaptive or Classic) integration would be excessive:

- :test_tube: **Develop Test Applications**: Easily create test applications to stimulate the SOME/IP interfaces of your system under test. Whether running on a PC in a SIL environment or on an ECU, someipy allows you to efficiently send and receive SOME/IP events or utilize/provide SOME/IP services. Test data can be seamlessly generated or imported in Python, from sources such as .csv files or ROS bag files. Explore the [example applications](#example-applications) for more details.

- :battery: **Prototype Sensor Integration**: Quickly integrate new sensors into your project using SOME/IP, ideal for evaluating the sensor's potential impact without significant effort. Define the message/parameter layout in Python and create a server service instance in minutes. Check out the [example application](#example-applications) *send_events_udp.py* for a practical demonstration.

- :microscope: **Data Recording**: Set up a SOME/IP recording application in just a few minutes and store data in your preferred format, such as ROS bags, .csv files, or databases. Simply dump the received data within your callback function. The [example application](#example-applications) *receive_events_udp.py* illustrates this process.

## Installation

The package can be installed from [PyPi](https://pypi.org/project/someipy/).

```bash
pip3 install someipy
```

## Example Applications

In the directory [example_apps](./example_apps/), examples including explanations, can be found for using the someipy library.

## Supported Features, Limitations and Deviations

The library is still under development. The current major limitations and deviations from the protocol specifications are listed below.

### SOME/IP

- Only unicast services are supported.
- SOME/IP-TP is not supported.
- IPv6 endpoints are not supported.
- SOME/IP fields are not supported.

### Service Discovery

- Configuration and load balancing options in SOME/IP SD messages are not supported.
- Stop subscribe message of notifications is not supported
- The Initial Wait Phase and Repetition Phase of the Service Discovery specification are skipped. The Main Phase is directly entered, i.e. SD Offer Entries are immediately sent cyclically.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/chrizog/someipy",
    "name": "someipy",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": null,
    "author": "Christian H.",
    "author_email": "someipy.package@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/1b/30/f64743e30db826b730ec18dfbb0744b10638ac2efe2b773bc98ea7bcbf53/someipy-1.0.0.tar.gz",
    "platform": null,
    "description": "# someipy - A Python Library implementing the SOME/IP Protocol\n\n## Get in Contact :postbox:\n\nIf you want to connect, have a feature request, bug report or need support, send me an email or connect on LinkedIn:\n> :email: [someipy.package@gmail.com](mailto:someipy.package@gmail.com)  \n:electric_plug: [LinkedIn](https://www.linkedin.com/in/ch-herzog/)\n\n## Documentation :pencil2:\n\n:link: [https://chrizog.github.io/someipy/](https://chrizog.github.io/someipy/)\n\n\n## What is someipy?\n\nsomeipy is a Python library implementing the SOME/IP protocol, including the SOME/IP SD (Service Discovery) in Python. It's perfectly suited for fast prototyping of applications that need to provide (server) or use (client) SOME/IP services from other ECUs.\n\nsomeipy also supports serialization and deserialization of SOME/IP payloads, which is a unique feature compared to other libraries.\n\nsomeipy is still under development; therefore, it does not yet support all features of the SOME/IP and SOME/IP Service Discovery protocol specification.\n\nsomeipy is based on the specification version of R22-11:\n- [SOME/IP Protocol Specification](https://www.autosar.org/fileadmin/standards/R22-11/FO/AUTOSAR_PRS_SOMEIPProtocol.pdf)\n- [SOME/IP Service Discovery Protocol Specification](https://www.autosar.org/fileadmin/standards/R22-11/FO/AUTOSAR_PRS_SOMEIPServiceDiscoveryProtocol.pdf)\n\nThe library is currently developed and tested under Ubuntu 22.04 and Python 3.8.\n\n## Typical Use Cases\n\nsomeipy excels in scenarios where a full-scale Autosar (Adaptive or Classic) integration would be excessive:\n\n- :test_tube: **Develop Test Applications**: Easily create test applications to stimulate the SOME/IP interfaces of your system under test. Whether running on a PC in a SIL environment or on an ECU, someipy allows you to efficiently send and receive SOME/IP events or utilize/provide SOME/IP services. Test data can be seamlessly generated or imported in Python, from sources such as .csv files or ROS bag files. Explore the [example applications](#example-applications) for more details.\n\n- :battery: **Prototype Sensor Integration**: Quickly integrate new sensors into your project using SOME/IP, ideal for evaluating the sensor's potential impact without significant effort. Define the message/parameter layout in Python and create a server service instance in minutes. Check out the [example application](#example-applications) *send_events_udp.py* for a practical demonstration.\n\n- :microscope: **Data Recording**: Set up a SOME/IP recording application in just a few minutes and store data in your preferred format, such as ROS bags, .csv files, or databases. Simply dump the received data within your callback function. The [example application](#example-applications) *receive_events_udp.py* illustrates this process.\n\n## Installation\n\nThe package can be installed from [PyPi](https://pypi.org/project/someipy/).\n\n```bash\npip3 install someipy\n```\n\n## Example Applications\n\nIn the directory [example_apps](./example_apps/), examples including explanations, can be found for using the someipy library.\n\n## Supported Features, Limitations and Deviations\n\nThe library is still under development. The current major limitations and deviations from the protocol specifications are listed below.\n\n### SOME/IP\n\n- Only unicast services are supported.\n- SOME/IP-TP is not supported.\n- IPv6 endpoints are not supported.\n- SOME/IP fields are not supported.\n\n### Service Discovery\n\n- Configuration and load balancing options in SOME/IP SD messages are not supported.\n- Stop subscribe message of notifications is not supported\n- The Initial Wait Phase and Repetition Phase of the Service Discovery specification are skipped. The Main Phase is directly entered, i.e. SD Offer Entries are immediately sent cyclically.\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A Python package implementing the SOME/IP protocol",
    "version": "1.0.0",
    "project_urls": {
        "Bug Tracker": "https://github.com/chrizog/someipy/issues",
        "Homepage": "https://github.com/chrizog/someipy",
        "Repository": "https://github.com/chrizog/someipy"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9d1fd8537319e234d1bdbeda1a3289c395a94b205e834555ffb8a8bebae20cac",
                "md5": "28070d4eeff8d227f235b0e8e6d07abd",
                "sha256": "21139023db053ce322ca007104b1df12f311876f70d81e8c5eae2c0e033f7e7f"
            },
            "downloads": -1,
            "filename": "someipy-1.0.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "28070d4eeff8d227f235b0e8e6d07abd",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 62355,
            "upload_time": "2024-11-10T17:38:11",
            "upload_time_iso_8601": "2024-11-10T17:38:11.269441Z",
            "url": "https://files.pythonhosted.org/packages/9d/1f/d8537319e234d1bdbeda1a3289c395a94b205e834555ffb8a8bebae20cac/someipy-1.0.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1b30f64743e30db826b730ec18dfbb0744b10638ac2efe2b773bc98ea7bcbf53",
                "md5": "9c0ee0c3d924c4e92c5d543b393f7325",
                "sha256": "cb1d7dec31964c95ce02611a05d48def503c5cdb716047aa972d03796c0a904d"
            },
            "downloads": -1,
            "filename": "someipy-1.0.0.tar.gz",
            "has_sig": false,
            "md5_digest": "9c0ee0c3d924c4e92c5d543b393f7325",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 49686,
            "upload_time": "2024-11-10T17:38:13",
            "upload_time_iso_8601": "2024-11-10T17:38:13.225476Z",
            "url": "https://files.pythonhosted.org/packages/1b/30/f64743e30db826b730ec18dfbb0744b10638ac2efe2b773bc98ea7bcbf53/someipy-1.0.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-11-10 17:38:13",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "chrizog",
    "github_project": "someipy",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "someipy"
}
        
Elapsed time: 9.60350s