Skip to main content

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.

Metadata

Release files for imcpy 1.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for imcpy 1.1.2
File Size Uploaded
imcpy-1.1.2.tar.gz 10.2 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for imcpy 1.1.2
File
imcpy-1.1.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
imcpy-1.1.2-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.27+ ARM64, Linux glibc 2.28+ ARM64 Details
imcpy-1.1.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
imcpy-1.1.2-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.27+ ARM64, Linux glibc 2.28+ ARM64 Details
imcpy-1.1.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
imcpy-1.1.2-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ ARM64, Linux glibc 2.27+ ARM64 Details
imcpy-1.1.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
imcpy-1.1.2-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ ARM64, Linux glibc 2.27+ ARM64 Details

Total release size: 27.0 MB

Release files / imcpy-1.1.2.tar.gz

Download URL imcpy-1.1.2.tar.gz
Size 10.2 MB
Tags Source
SHA-256 checksum
How to use checksums
1033e307850a356a0c8991c036ad92d304a7c7d593c78efb4758c034c8e666fe
BLAKE2b-256 checksum
How to use checksums
df5c4fbe0ca078115b44b54e995f15869b4a65ba65bc2592d1b123256d5471e4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.9

Release files / imcpy-1.1.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL imcpy-1.1.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 2.2 MB
Tags CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
716e936a092a06673aa7f18e6eacb8205dacbc3a52ffe8a8373a9519f5cc497f
BLAKE2b-256 checksum
How to use checksums
331330c4a7d77eaf171de280dacda9bd7bde9ffa5a5bbd1a442b22c08272896e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.9

Release files / imcpy-1.1.2-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl

Download URL imcpy-1.1.2-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Size 2.0 MB
Tags CPython 3.13 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
a89155f47db582f0985e59bd6cc572f151220254350b4a93d87d9884f9dd4925
BLAKE2b-256 checksum
How to use checksums
402a5e4b1075b8363979a05a4e63e491a993607d75b9aff49acd94b53a15c7c1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.9

Release files / imcpy-1.1.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL imcpy-1.1.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 2.2 MB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
02429c19ff8c98ebd0415752d1120d65a9cb013f7271aef309acc2fae5f1b9cc
BLAKE2b-256 checksum
How to use checksums
73751f457d27bf2c98bc5941035ea21167ad12e87849db46be76b8abe0bd20ba
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.9

Release files / imcpy-1.1.2-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl

Download URL imcpy-1.1.2-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Size 2.0 MB
Tags CPython 3.12 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
ecf111d7862ee4ff90532d1aa1dd44408257f5b5bc692bab2092e7a02d9c74c1
BLAKE2b-256 checksum
How to use checksums
b9d92c8799f41262ebb39be114187135a6ae9801f5d801602aa807c2bc3890ea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.9

Release files / imcpy-1.1.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL imcpy-1.1.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 2.2 MB
Tags CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
ea365d8200d717aa7fc4642fcb700453c8d265d757b25b572cb8501a8b24fb65
BLAKE2b-256 checksum
How to use checksums
76cf30e70737de52940ebb7054cc89878a2f9861a41f2c24d7b462bdd8ea550c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.9

Release files / imcpy-1.1.2-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl

Download URL imcpy-1.1.2-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Size 2.0 MB
Tags CPython 3.11 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
dcd9da3a8fc49c50aeada3c2f2e548dcca4d09c4638ecd52e0a11f9672ed9a07
BLAKE2b-256 checksum
How to use checksums
7cfb7d966be9aaec40d318535855f4fe9eac4ee0b057985ab3d4d44602cc0493
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.9

Release files / imcpy-1.1.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL imcpy-1.1.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 2.2 MB
Tags CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
c23d466c359548d2b4dafcb12eab5e8b5188890edce4d952dd6bd4584de1cdc4
BLAKE2b-256 checksum
How to use checksums
a236ddcf0ae32f92e31dfa597e8d20f352f7496d170ecc9f902cdb3428ad4ef3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.9

Release files / imcpy-1.1.2-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl

Download URL imcpy-1.1.2-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Size 2.0 MB
Tags CPython 3.10 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
a87402f9a2b2c80adb2238374a31be5419eb3af70ff85743c4df0c3f2fa36db8
BLAKE2b-256 checksum
How to use checksums
cc04db2e60402a62ad34796ce56165656c0b1abfeaaddd4c2bdcaeb68032ab23
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.9

Release history Release notifications | RSS feed

This release

1.1.2 This release

9 release files

1.0.7

10 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page