Skip to main content

Python bindings for DUNE-IMC

Project description

imcpy

Python bindings for Inter-Module Communication Protocol (IMC) used to communicate between modules in the LSTS toolchain.

Installation

Pip install (PyPi)

Precompiled wheels are available from PyPi, compiled against the standard IMC message set (LSTS). If your project does not use custom IMC messages, these wheels should be sufficient.

pip install imcpy

Check the release notes or pypi for the precompiled architectures and python versions.

Source install

Clone the project recursively

git clone --recursive https://github.com/oysstu/imcpy.git

This includes the pybind11 submodule.

Build the library

python3 setup.py install

If you use the system python and only want to install for a single user, you can add --user to the install command without needing administrator rights. On Windows, the Windows SDK must be installed with Visual Studio and the CMake executable must be on the system PATH.

(Optional) Use a specific IMC/Dune version

Replace the dune/imc submodules with the target versions

(Optional) Only generate bindings for a subset of IMC messages

A config file named whitelist.cfg can be placed in the root folder to only create bindings for a subset of the IMC messages. This can be necessary when compiling on embedded systems, as the linker consumes much memory for the full message set. If an unknown message is parsed, it will be returned as the Message baseclass rather than a specialized message. Look at minimal_whitelist.cfg for a set of messages that should always be included.

Recommendations

  • The imcpy library generates stub files for the bindings, meaning that you can have autocomplete and static type checking if your IDE supports them. This can for example be PyCharm or Jedi-based editors.

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

imcpy-1.1.2.tar.gz (10.2 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

imcpy-1.1.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

imcpy-1.1.2-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

imcpy-1.1.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

imcpy-1.1.2-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

imcpy-1.1.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

imcpy-1.1.2-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

imcpy-1.1.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

imcpy-1.1.2-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

File details

Details for the file imcpy-1.1.2.tar.gz.

File metadata

  • Download URL: imcpy-1.1.2.tar.gz
  • Upload date:
  • Size: 10.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for imcpy-1.1.2.tar.gz
Algorithm Hash digest
SHA256 1033e307850a356a0c8991c036ad92d304a7c7d593c78efb4758c034c8e666fe
MD5 79705910b4827461b5a018f8518ba9d7
BLAKE2b-256 df5c4fbe0ca078115b44b54e995f15869b4a65ba65bc2592d1b123256d5471e4

See more details on using hashes here.

File details

Details for the file imcpy-1.1.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for imcpy-1.1.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 716e936a092a06673aa7f18e6eacb8205dacbc3a52ffe8a8373a9519f5cc497f
MD5 b0f1c9a8962a4c644815b33837579d01
BLAKE2b-256 331330c4a7d77eaf171de280dacda9bd7bde9ffa5a5bbd1a442b22c08272896e

See more details on using hashes here.

File details

Details for the file imcpy-1.1.2-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for imcpy-1.1.2-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 a89155f47db582f0985e59bd6cc572f151220254350b4a93d87d9884f9dd4925
MD5 d6d932d43df7ba5b32e7878eb49352b2
BLAKE2b-256 402a5e4b1075b8363979a05a4e63e491a993607d75b9aff49acd94b53a15c7c1

See more details on using hashes here.

File details

Details for the file imcpy-1.1.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for imcpy-1.1.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 02429c19ff8c98ebd0415752d1120d65a9cb013f7271aef309acc2fae5f1b9cc
MD5 fd8bf1865c8ad7720dbedc20b71752fd
BLAKE2b-256 73751f457d27bf2c98bc5941035ea21167ad12e87849db46be76b8abe0bd20ba

See more details on using hashes here.

File details

Details for the file imcpy-1.1.2-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for imcpy-1.1.2-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ecf111d7862ee4ff90532d1aa1dd44408257f5b5bc692bab2092e7a02d9c74c1
MD5 b0518481ce580cf43bbbfb5b18f25266
BLAKE2b-256 b9d92c8799f41262ebb39be114187135a6ae9801f5d801602aa807c2bc3890ea

See more details on using hashes here.

File details

Details for the file imcpy-1.1.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for imcpy-1.1.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ea365d8200d717aa7fc4642fcb700453c8d265d757b25b572cb8501a8b24fb65
MD5 3f6346a654f5f53df3c9bc8b89bab3b7
BLAKE2b-256 76cf30e70737de52940ebb7054cc89878a2f9861a41f2c24d7b462bdd8ea550c

See more details on using hashes here.

File details

Details for the file imcpy-1.1.2-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for imcpy-1.1.2-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 dcd9da3a8fc49c50aeada3c2f2e548dcca4d09c4638ecd52e0a11f9672ed9a07
MD5 b566406ddcaf918c1b3bf8037150b4ed
BLAKE2b-256 7cfb7d966be9aaec40d318535855f4fe9eac4ee0b057985ab3d4d44602cc0493

See more details on using hashes here.

File details

Details for the file imcpy-1.1.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for imcpy-1.1.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c23d466c359548d2b4dafcb12eab5e8b5188890edce4d952dd6bd4584de1cdc4
MD5 c0d46c59dea846edf4b6755d8677f1d2
BLAKE2b-256 a236ddcf0ae32f92e31dfa597e8d20f352f7496d170ecc9f902cdb3428ad4ef3

See more details on using hashes here.

File details

Details for the file imcpy-1.1.2-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for imcpy-1.1.2-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 a87402f9a2b2c80adb2238374a31be5419eb3af70ff85743c4df0c3f2fa36db8
MD5 ca196efec3a32f7c0bd548402e2fe97c
BLAKE2b-256 cc04db2e60402a62ad34796ce56165656c0b1abfeaaddd4c2bdcaeb68032ab23

See more details on using hashes here.

Supported by

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