Skip to main content

A Python package implementing the SOME/IP protocol

Project description

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
:electric_plug: LinkedIn

Documentation :pencil2:

:link: 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:

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 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 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 receive_events_udp.py illustrates this process.

Installation

The package can be installed from PyPi.

pip3 install someipy

Example Applications

In the directory 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

someipy-1.0.0.tar.gz (49.7 kB view details)

Uploaded Source

Built Distribution

someipy-1.0.0-py3-none-any.whl (62.4 kB view details)

Uploaded Python 3

File details

Details for the file someipy-1.0.0.tar.gz.

File metadata

  • Download URL: someipy-1.0.0.tar.gz
  • Upload date:
  • Size: 49.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.3

File hashes

Hashes for someipy-1.0.0.tar.gz
Algorithm Hash digest
SHA256 cb1d7dec31964c95ce02611a05d48def503c5cdb716047aa972d03796c0a904d
MD5 9c0ee0c3d924c4e92c5d543b393f7325
BLAKE2b-256 1b30f64743e30db826b730ec18dfbb0744b10638ac2efe2b773bc98ea7bcbf53

See more details on using hashes here.

File details

Details for the file someipy-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: someipy-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 62.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.3

File hashes

Hashes for someipy-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 21139023db053ce322ca007104b1df12f311876f70d81e8c5eae2c0e033f7e7f
MD5 28070d4eeff8d227f235b0e8e6d07abd
BLAKE2b-256 9d1fd8537319e234d1bdbeda1a3289c395a94b205e834555ffb8a8bebae20cac

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page