Eclipse Cyclone DDS Python binding
Project description
Python binding for Eclipse Cyclone DDS
A Python binding for Eclipse Cyclone DDS.
Getting Started
Eclipse CycloneDDS Python requires Python version 3.7 or higher. You can install with included Cyclone DDS binaries or leveraging an existing Cyclone DDS installation by installing from source via PyPi.
Installing with pre-built Cyclone DDS binaries
This is the most straightforward method to install Cyclone DDS Python, but there are a couple of caveats. The pre-built package:
- has no support for DDS Security,
- has no support for shared memory via Iceoryx,
- comes with generic Cyclone DDS binaries that are not optimized per-platform.
If these are of concern, proceed with an installation from source. If not, running this installation is as simple as:
$ pip install cyclonedds
Installing from source
When installing from source you can make use of the full list of features offered by Cyclone DDS. First install Cyclone DDS as normal. Then continue by setting the CYCLONEDDS_HOME
environment variable to the installation location of Cyclone DDS, which is the same as what was used for CMAKE_INSTALL_PREFIX
. You will have to have this variable active any time you run Python code that depends on cyclonedds
so adding it to .bashrc
on Linux, ~/bash_profile
on MacOS or the System Variables in Windows can be helpful. This also allows you to switch, move or update Cyclone DDS without recompiling the Python package.
via PyPi
You can install the source from the latest release from pypi, or use a tag to get a specific version. A full example (for linux) is shown below
$ git clone https://github.com/eclipse-cyclonedds/cyclonedds
$ cd cyclonedds && mkdir build install && cd build
$ cmake .. -DCMAKE_INSTALL_PREFIX=../install
$ cmake --build . --target install
$ cd ..
$ export CYCLONEDDS_HOME="$(pwd)/install"
$ pip3 install cyclonedds --no-binary cyclonedds
via git
A full example installation of the quickest way to get started via git is shown below:
$ git clone https://github.com/eclipse-cyclonedds/cyclonedds
$ cd cyclonedds && mkdir build install && cd build
$ cmake .. -DCMAKE_INSTALL_PREFIX=../install
$ cmake --build . --target install
$ cd ..
$ export CYCLONEDDS_HOME="$(pwd)/install"
$ pip3 install git+https://github.com/eclipse-cyclonedds/cyclonedds-python
Extra dependencies
The cyclonedds
package defines two sets of optional dependencies, dev
and docs
, used for developing cyclonedds
and building the documentation, respectively. If you want to install with development tools add the component to your installation, for example:
$ pip3 install --user "cyclonedds[dev] @ git+https://github.com/eclipse-cyclonedds/cyclonedds-python"
Or when installing from a local git clone, which is recommended when developing or building the docs:
$ cd /path/to/git/clone
# for development:
$ pip3 install --user ".[dev]"
# for documentation generation
$ pip3 install --user ".[docs]"
# or for both
$ pip3 install --user ".[dev,docs]"
For more information see the packaging guide information on optional dependencies.
IDL compiler
You can also run the idl compiler in Python mode if it the Python package is installed. Simply run idlc -l py file.idl
and a Python module with your types will be generated in the current working directory. If you wish to nest the resulting Python module inside an existing package you can specify the path from the intended root. So if you have a package 'wubble' with a submodule 'fruzzy' and want the generated modules and types under there you can do idlc -l py -p py-root-prefix=wubble.fruzzy file.idl
.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for cyclonedds-0.9.1-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3d7da7b6410990c880fd3a225cbe77c0700efe56c91e649f39da2ee0fb69803f |
|
MD5 | 8bf06e5256a268be4b4d0faeb10c9c31 |
|
BLAKE2b-256 | bddf6c49daf57c680a2fb05e2c354455d3c6cfc4c71ca512d5054beea592f978 |
Hashes for cyclonedds-0.9.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6c2f1cfafe2122b94f23263203cb94273231a4bccfb2be8152b29e07f9173200 |
|
MD5 | 1b70340e51731b6d7f0f292edbe99eaa |
|
BLAKE2b-256 | 17b1a4fd6128759868251142b4854e7154a85ea1e4f70979a18606d38d1c6e39 |
Hashes for cyclonedds-0.9.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fc3974fb85d8cac6e3e5739715151245eb6b00e4fb7e4c9f78809d139bce0056 |
|
MD5 | 459dae5f319596970dbb7b407bba06d0 |
|
BLAKE2b-256 | e74ed8147a51eef9f7280436c5d2c152ab546ae4e3df78a7e44906ace1c1a6b6 |
Hashes for cyclonedds-0.9.1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 33503f84464e1428b707e58cc7db06508ca0775bf9dcbd8e5154f6f31fcfbc7c |
|
MD5 | 6361de6ac8675e93cf7ff3ca8b80481f |
|
BLAKE2b-256 | 2f62a69be1c3bf39cb3742de72767110ae3a1d8751505780464c187446101483 |
Hashes for cyclonedds-0.9.1-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7626c33fcb3acf5c73bb66dff7362f6f003e4e70722133834bc873ec98fc3dfb |
|
MD5 | 0d2ff247ac3996ab099c09cd93eb6217 |
|
BLAKE2b-256 | 4490dbd28eb1f0ae3cc99550c5a08e08d19ad3da451bb08ec5e6feb04d9b195d |
Hashes for cyclonedds-0.9.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 135bc8935967e27bff907df82850fdbb5d033c1e6aac3b43683f74aae79fe9f6 |
|
MD5 | 10d65581587811de3534d4640da8c14d |
|
BLAKE2b-256 | be01ac6d5bbbd034ee4321e99b0392392c1c06afb51b4141f2a476b3085ae6e8 |
Hashes for cyclonedds-0.9.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4a87ea488371a2fba2791c4c9e51844762da3633e8f389baea724f7e918457eb |
|
MD5 | 9b27e7406c6c2779bc6c0b7b0e59dacc |
|
BLAKE2b-256 | 14c2bf1e04e1bc5968a8f75c3be26b2acd8e1b93052a480e561a46c500183666 |
Hashes for cyclonedds-0.9.1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cd635b2bc5740211f2abfb4bd0dc07181264dd8d19b66594a916900440d5d7d9 |
|
MD5 | df3f6b801e308b1954f618c646f91815 |
|
BLAKE2b-256 | 19d35043bab169fa832abc0246a254eb99e9f83b38db6552a5b54b30c69a0a28 |
Hashes for cyclonedds-0.9.1-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 566e1b07eed13fa34d066b5e341edd02abb1a1f7e231527718c6939ba85e468c |
|
MD5 | 8336c3267eb97ecfd2a5d43856230c33 |
|
BLAKE2b-256 | 4a15784db50f61ef010be5654612c4a48dfaafcbc382f8fea26d27e8e121444b |
Hashes for cyclonedds-0.9.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a77daa9f146bd624c8655935e25615881f26bdddd7326fcdaa215e6016a4fe4e |
|
MD5 | 32ecb4123acfb93a9f26c6ca510f25f9 |
|
BLAKE2b-256 | e362ae21ac64f276148c2dcde22208b02e1e6283162213993383f4daa664ce54 |
Hashes for cyclonedds-0.9.1-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c7e93e9b8200198732c82cbf41cb7855917c9d11c9f3d0a7fadd221d1ff9fa16 |
|
MD5 | 16835a50fe36edcf6e435ec56680281a |
|
BLAKE2b-256 | 5884ce59b4eca8bdf130a175e4645b44b44639c1fad2632d71af685b7f324cd8 |
Hashes for cyclonedds-0.9.1-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 103288a3a9da1a73d31fd5fbdaff2fc392aaad7467a7e7d2926b8c05d841fd27 |
|
MD5 | 820014b97991b30ada42ff9380b26b6b |
|
BLAKE2b-256 | cc949b41b3331fcc1364f4804c3ca130f91c317ddfd640abaaa282dace7cfb56 |
Hashes for cyclonedds-0.9.1-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a4f636af543a6444f0e058cd6a40c587b76b950e01150b16971d9d86df40c988 |
|
MD5 | 6022ed40a09a49002fdb7c5fe7d6bc0f |
|
BLAKE2b-256 | b09d5165403e90adb1ce2ab086ca5939d07b2b8819ac98151b9c3ffadfb4435a |
Hashes for cyclonedds-0.9.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9d7e2814148acc0963d35a26e27eb92e68e12326a3729361d987a56eaf59b0a4 |
|
MD5 | d608765326d7c397af46aeeb762477a6 |
|
BLAKE2b-256 | a522f886cdc3447c0e7dd99efa7a07193508f60860c527d84951dea70f196f5f |
Hashes for cyclonedds-0.9.1-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 655083287daeff1bbd6456d215fb996da48af43ccf4dcbc6340464df7d830d0b |
|
MD5 | 8979ab7dd7bdf4fd4ed806c3a5be7783 |
|
BLAKE2b-256 | bb2749ccb01d29fcd56db564ab24de478b9683d202c4d29a3f3c3ba14ec9ada6 |