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.0.tar.gz (9.1 MB view details)

Uploaded Source

Built Distributions

imcpy-1.1.0-cp312-cp312-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.12 Windows x86-64

imcpy-1.1.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.0 MB view details)

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

imcpy-1.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.8 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARM64

imcpy-1.1.0-cp311-cp311-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.11 Windows x86-64

imcpy-1.1.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.0 MB view details)

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

imcpy-1.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.9 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

imcpy-1.1.0-cp310-cp310-win_amd64.whl (998.8 kB view details)

Uploaded CPython 3.10 Windows x86-64

imcpy-1.1.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.0 MB view details)

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

imcpy-1.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.8 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

imcpy-1.1.0-cp38-cp38-win_amd64.whl (965.0 kB view details)

Uploaded CPython 3.8 Windows x86-64

imcpy-1.1.0-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.0 MB view details)

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

imcpy-1.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.8 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

File details

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

File metadata

  • Download URL: imcpy-1.1.0.tar.gz
  • Upload date:
  • Size: 9.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.5

File hashes

Hashes for imcpy-1.1.0.tar.gz
Algorithm Hash digest
SHA256 43cefbfd680a629e4edb08b2f7421eedee9294fa6e9b9d88bb26c51797dfc2ec
MD5 36dfbf7569647c90cca70f5cc37b1c2f
BLAKE2b-256 eebf66eb19376851ab32db96b4c3678f7fbabbb757b96f3df7fe3c1fa67f71e4

See more details on using hashes here.

File details

Details for the file imcpy-1.1.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: imcpy-1.1.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 1.0 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.5

File hashes

Hashes for imcpy-1.1.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 9e085b56df4d3f6d530bf4e719fc8d94952d245ac1d56b2ff5a169fae7bd597a
MD5 c17707f92332ae88e3343bdab1ebe274
BLAKE2b-256 efaea8a7cd5eb74b194ac4771dfc60f1347eca7816b4f413ac882255ed9b6ceb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imcpy-1.1.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6ea39c03abeec5ef2303b8adf9c5289f1de55da575abb91e43714016f339610f
MD5 0ef72c2733ab21690d0c9c38d57ca12c
BLAKE2b-256 dd6e1de43c60139d853de52e367fe57423d8902982249baaa72c967ee0836738

See more details on using hashes here.

File details

Details for the file imcpy-1.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for imcpy-1.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 53776ab5583097d09a26fd8fde843fb49b31fc189d839b00145d91213bfa878a
MD5 b1e9ec8a218eda639d13333f10ed81a3
BLAKE2b-256 ece951f5f3c54517779940e08326d07474dc99eeba960b1b5583bd168d6e6613

See more details on using hashes here.

File details

Details for the file imcpy-1.1.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: imcpy-1.1.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 1.0 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.5

File hashes

Hashes for imcpy-1.1.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 243fec8be44004f49f5a16c47cc67a7d8e02c3d8e6843fd9a9305658bd25c0e0
MD5 d22d9a86a51389146310090c5904563e
BLAKE2b-256 3b7484ec920b7b360b32a9e5d8a98ac4c72e11723a0d806918ac7d3885908630

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imcpy-1.1.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 feeb919b1042902db4e6cf322868e9c9f2db22ce8da5eecc8821efb79726743a
MD5 5dba76b7d1bace2cb2a80eec180ee31c
BLAKE2b-256 bf12dab464db0c60a0d87a6f028a3be88d70287c9b50fc5e8fffd71cdb7b4f44

See more details on using hashes here.

File details

Details for the file imcpy-1.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for imcpy-1.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 8c650ba155ed6ae34de6c32526389ea58e23a2316df3a8b2006b914262376d6e
MD5 033ff1bd3d02b50e07677ee64ef5bc0c
BLAKE2b-256 6c18c65130281d76cd140c8fba0a46141d6ad31809979dad7c8f1f36b06b0919

See more details on using hashes here.

File details

Details for the file imcpy-1.1.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: imcpy-1.1.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 998.8 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.5

File hashes

Hashes for imcpy-1.1.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 47e3c4a1b8ccc8663ec8a9f607b598a61c50362a13a3b362714cb832f1aff13c
MD5 a63f0af50cc60e78c7bea92426fecbbc
BLAKE2b-256 c67952b7eb22f66bea609fa1a51538bacda5dd4ce7d3bdf41a969fc3510355f2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for imcpy-1.1.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 743f1e4b3d70797097e6b10b69f66930f50ef6f689b1f0d0c82307385712de34
MD5 1ee4bfd850a592748ea2844fb33cb6f1
BLAKE2b-256 5da98156ef973aa8e49425020425ea90ef570bf120460502e1182bbd18d532ff

See more details on using hashes here.

File details

Details for the file imcpy-1.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for imcpy-1.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e835028218b9becc902464a44b0272964823af274400a7ca937c1595e61c14ac
MD5 3c589332a1f076327466e2e451eda08b
BLAKE2b-256 e226b251b8804433aa05dd6ace58f1c5a08d4e5231123f18870eff41e81b09b9

See more details on using hashes here.

File details

Details for the file imcpy-1.1.0-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: imcpy-1.1.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 965.0 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.5

File hashes

Hashes for imcpy-1.1.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 dd71767d62f2baaf36801c7461c0a2db85624be5a74c2707a4d83e36a08669ba
MD5 c1a96a9972242af829493cbf0489e3c4
BLAKE2b-256 1459c7c45af73e379414b2078748ec6f0523cf00c2cdd3792597ceda2b4f0661

See more details on using hashes here.

File details

Details for the file imcpy-1.1.0-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for imcpy-1.1.0-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 401b055e7adc0f31bda5da6117fc6aad238762ab9b10f99a284b857ea41a2a0a
MD5 e73d991a2d8a6a79935ad8928e0eecc4
BLAKE2b-256 5ef331ec5aa5568057ee1101013e06e56bacecd5f1de125fd0b122a04fa481a1

See more details on using hashes here.

File details

Details for the file imcpy-1.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for imcpy-1.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6f8a5d3b65c91ec9cfbf8a895d2baa8f8cb7624156205aa7d70a45753354a74d
MD5 322557bfbbdcd22ef381436424eda18d
BLAKE2b-256 031f6c6502b59af3ca685bad88d52f6e30230fdf2d1ce75a45ca36ed710243fa

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