examples.encoders package
Subpackages
Submodules
examples.encoders.astropy_example module
A message publisher and listener for native Python objects and Astropy Tables (external plugin).
This script demonstrates the capability to transmit native Python objects and Astropy Tables using
the MiddlewareCommunicator within the Wrapyfi library. The communication follows the PUB/SUB pattern
allowing message publishing and listening functionalities between processes or machines. By modifying the
WRAPYFI_PLUGINS_PATH
environment variable to include the current directory, which contains the
plugins directory with astropy_tables.py
file, the AstropyTable
message can be used to transmit Astropy Tables.
- Demonstrations:
Using the NativeObject message
Transmitting a nested dummy Python object with native objects and Astropy Tables
Applying the PUB/SUB pattern with mirroring
Using an external plugin to handle Astropy Tables
- Requirements:
Wrapyfi: Middleware communication wrapper (refer to the Wrapyfi documentation for installation instructions)
YARP, ROS, ROS 2, ZeroMQ (refer to the Wrapyfi documentation for installation instructions)
Astropy: Used for creating and handling astronomical tables
- Install using pip:
pip install astropy
- Run:
- # On machine 1 (or process 1): Publisher waits for keyboard input and transmits message
python3 astropy_example.py --mode publish
- # On machine 2 (or process 2): Listener waits for message and prints the entire dummy object
python3 astropy_example.py --mode listen
- class examples.encoders.astropy_example.Notifier[source]
Bases:
MiddlewareCommunicator
examples.encoders.cupy_example module
A message publisher and listener for native Python objects and CuPy arrays.
This script demonstrates the capability to transmit native Python objects and CuPy arrays using the MiddlewareCommunicator within the Wrapyfi library. The communication follows the PUB/SUB pattern allowing message publishing and listening functionalities between processes or machines.
- Demonstrations:
Using the NativeObject message
Transmitting a nested dummy Python object with native objects and CuPy arrays
Applying the PUB/SUB pattern with mirroring
Transmitting CuPy arrays across different devices (only GPU devices are supported)
- Requirements:
Wrapyfi: Middleware communication wrapper (refer to the Wrapyfi documentation for installation instructions)
YARP, ROS, ROS 2, ZeroMQ (refer to the Wrapyfi documentation for installation instructions)
CuPy: Used for handling and creating arrays with GPU acceleration (refer to https://docs.cupy.dev/en/stable/install.html for installation instructions)
- Install using pip:
pip install cupy-cuda12x
# Basic installation of CuPy. Replace 12x with your CUDA version e.g., cupy-cuda11x
- Run:
- # On machine 1 (or process 1): Publisher waits for keyboard input and transmits message
python3 cupy_example.py --mode publish
- # On machine 2 (or process 2): Listener waits for message and prints the entire dummy object
python3 cupy_example.py --mode listen
- class examples.encoders.cupy_example.CuPyNotifier[source]
Bases:
MiddlewareCommunicator
examples.encoders.dask_example module
A message publisher and listener for native Python objects and Dask Arrays/Dataframes.
This script demonstrates the capability to transmit native Python objects and Dask arrays/dataframes using the MiddlewareCommunicator within the Wrapyfi library. The communication follows the PUB/SUB pattern allowing message publishing and listening functionalities between processes or machines.
- Demonstrations:
Using the NativeObject message
Transmitting a nested dummy Python object with native objects and Dask arrays/dataframes
Applying the PUB/SUB pattern with mirroring
- Requirements:
Wrapyfi: Middleware communication wrapper (refer to the Wrapyfi documentation for installation instructions)
YARP, ROS, ROS 2, ZeroMQ (refer to the Wrapyfi documentation for installation instructions)
Dask, pandas: Used for handling and creating arrays and dataframes
- Install using pip:
pip install pandas dask[complete]
- Run:
- # On machine 1 (or process 1): Publisher waits for keyboard input and transmits message
python3 dask_example.py --mode publish
- # On machine 2 (or process 2): Listener waits for message and computes and prints the Dask objects
python3 dask_example.py --mode listen
- class examples.encoders.dask_example.Notifier[source]
Bases:
MiddlewareCommunicator
examples.encoders.jax_example module
A message publisher and listener for native Python objects and JAX arrays.
This script demonstrates the capability to transmit native Python objects and JAX arrays using the MiddlewareCommunicator within the Wrapyfi library. The communication follows the PUB/SUB pattern allowing message publishing and listening functionalities between processes or machines.
- Demonstrations:
Using the NativeObject message
Transmitting a nested dummy Python object with native objects and JAX arrays
Applying the PUB/SUB pattern with mirroring
- Requirements:
Wrapyfi: Middleware communication wrapper (refer to the Wrapyfi documentation for installation instructions)
YARP, ROS, ROS 2, ZeroMQ (refer to the Wrapyfi documentation for installation instructions)
JAX: Used for handling and creating arrays (refer to https://jax.readthedocs.io/en/latest/installation.html for installation instructions)
- Install using pip:
pip install jax jaxlib
# Basic installation of JAX
- Run:
- # On machine 1 (or process 1): Publisher waits for keyboard input and transmits message
python3 jax_example.py --mode publish
- # On machine 2 (or process 2): Listener waits for message and prints the entire dummy object
python3 jax_example.py --mode listen
- class examples.encoders.jax_example.Notifier[source]
Bases:
MiddlewareCommunicator
examples.encoders.mxnet_example module
A message publisher and listener for native Python objects and MXNet tensors.
This script demonstrates the capability to transmit native Python objects and MXNet tensors using the MiddlewareCommunicator within the Wrapyfi library. The communication follows the PUB/SUB pattern allowing message publishing and listening functionalities between processes or machines.
- Demonstrations:
Using the NativeObject message
Transmitting a nested dummy Python object with native objects and MXNet tensors
Applying the PUB/SUB pattern with mirroring
Transmitting MXNet tensors with different contexts (CPU and GPU if available)
Flipping of contexts by mapping CPU to GPU and vice versa
- Requirements:
Wrapyfi: Middleware communication wrapper (refer to the Wrapyfi documentation for installation instructions)
YARP, ROS, ROS 2, ZeroMQ (refer to the Wrapyfi documentation for installation instructions)
MXNet: Used for handling and creating tensors (refer to https://mxnet.apache.org/get_started for installation instructions)
- Install using pip:
pip install mxnet
# Basic installation of MXNet
- Run:
- # On machine 1 (or process 1): Publisher waits for keyboard input and transmits message
python3 mxnet_example.py --mode publish
- # On machine 2 (or process 2): Listener waits for message and prints the entire dummy object
python3 mxnet_example.py --mode listen
- class examples.encoders.mxnet_example.Notifier[source]
Bases:
MiddlewareCommunicator
examples.encoders.numpy_pandas_example module
A message publisher and listener for native Python objects, NumPy Arrays, and pandas Series/Dataframes.
This script demonstrates the capability to transmit native Python objects, NumPy arrays, and pandas series/dataframes using the MiddlewareCommunicator within the Wrapyfi library. The communication follows the PUB/SUB pattern allowing message publishing and listening functionalities between processes or machines.
- Demonstrations:
Using the NativeObject message
Transmitting a nested dummy Python object with native objects, NumPy arrays, and pandas series/dataframes
Applying the PUB/SUB pattern with mirroring
- Requirements:
Wrapyfi: Middleware communication wrapper (refer to the Wrapyfi documentation for installation instructions)
YARP, ROS, ROS 2, ZeroMQ (refer to the Wrapyfi documentation for installation instructions)
NumPy: Used for creating arrays (installed with Wrapyfi)
pandas: Used for creating and handling series and dataframes
PyArrow: Used for compatibility with pandas>=2.0. It is not required by pandas but required for this example when installing pandas >= 2.0. Not required for pandas < 2.0.
- Install using pip:
pip install "pandas<2.0"
# Basic installation of pandas<2.0 with Numpy as a dependency (for compatibility) ################## OR ##################pip install "pandas>=2.0" pyarrow
# Basic installation of pandas>=2.0 with PyArrow as a dependency (for compatibility)
- Run:
- # On machine 1 (or process 1): Publisher waits for keyboard input and transmits message
python3 numpy_pandas_example.py --mode publish
- # On machine 2 (or process 2): Listener waits for message and prints the entire dummy object
python3 numpy_pandas_example.py --mode listen
- class examples.encoders.numpy_pandas_example.Notifier[source]
Bases:
MiddlewareCommunicator
examples.encoders.paddlepaddle_example module
A message publisher and listener for native Python objects and PaddlePaddle tensors.
This script demonstrates the capability to transmit native Python objects and PaddlePaddle tensors using the MiddlewareCommunicator within the Wrapyfi library. The communication follows the PUB/SUB pattern allowing message publishing and listening functionalities between processes or machines.
- Demonstrations:
Using the NativeObject message
Transmitting a nested dummy Python object with native objects and PaddlePaddle tensors
Applying the PUB/SUB pattern with mirroring
Transmitting PaddlePaddle tensors with different devices (CPU and GPU if available)
Flipping of devices by mapping CPU to GPU and vice versa
- Requirements:
Wrapyfi: Middleware communication wrapper (refer to the Wrapyfi documentation for installation instructions)
YARP, ROS, ROS 2, ZeroMQ (refer to the Wrapyfi documentation for installation instructions)
PaddlePaddle: Used for handling and creating tensors (refer to https://www.paddlepaddle.org.cn/en/install/quick for installation instructions)
- Install using pip:
pip install paddlepaddle-gpu
# Basic installation of PaddlePaddle
- Run:
- # On machine 1 (or process 1): Publisher waits for keyboard input and transmits message
python3 paddlepaddle_example.py --mode publish
- # On machine 2 (or process 2): Listener waits for message and prints the entire dummy object
python3 paddlepaddle_example.py --mode listen
- class examples.encoders.paddlepaddle_example.Notifier[source]
Bases:
MiddlewareCommunicator
examples.encoders.pillow_example module
A message publisher and listener for PIL (Pillow) images.
This script demonstrates the capability to transmit native Python objects and Pillow images in different formats using the MiddlewareCommunicator within the Wrapyfi library. The communication follows the PUB/SUB pattern allowing message publishing and listening functionalities between processes or machines.
- Demonstrations:
Using the NativeObject message
Transmitting a nested dummy Python object with native objects and PIL (Pillow) images
Applying the PUB/SUB pattern with mirroring
- Requirements:
Wrapyfi: Middleware communication wrapper (refer to the Wrapyfi documentation for installation instructions)
YARP, ROS, ROS 2, ZeroMQ (refer to the Wrapyfi documentation for installation instructions)
NumPy: Used for creating image arrays (installed with Wrapyfi)
PIL (Pillow): Used for handling image objects
- Install using pip:
pip install pillow
- Run:
- # On machine 1 (or process 1): Publisher waits for keyboard and transmits message
python3 pillow_example.py --mode publish
- # On machine 2 (or process 2): Listener waits for message and prints the entire dummy object
python3 pillow_example.py --mode listen
- class examples.encoders.pillow_example.Notifier[source]
Bases:
MiddlewareCommunicator
examples.encoders.pint_example module
A message publisher and listener for native Python objects and Pint Quantities.
This script demonstrates the capability to transmit native Python objects and Pint Quantities using the MiddlewareCommunicator within the Wrapyfi library. The communication follows the PUB/SUB pattern allowing message publishing and listening functionalities between processes or machines.
- Demonstrations:
Using the NativeObject message
Transmitting a nested dummy Python object with native objects and Pint Quantities
Applying the PUB/SUB pattern with mirroring
- Requirements:
Wrapyfi: Middleware communication wrapper (refer to the Wrapyfi documentation for installation instructions)
YARP, ROS, ROS 2, ZeroMQ (refer to the Wrapyfi documentation for installation instructions)
Pint: Used for handling physical quantities with units
- Install using pip:
pip install pint
- Run:
- # On machine 1 (or process 1): Publisher waits for keyboard input and transmits message
python3 pint_example.py --mode publish
- # On machine 2 (or process 2): Listener waits for message and prints the entire dummy object
python3 pint_example.py --mode listen
- class examples.encoders.pint_example.Notifier[source]
Bases:
MiddlewareCommunicator
examples.encoders.pyarrow_example module
A message publisher and listener for native Python objects and PyArrow arrays.
This script demonstrates the capability to transmit native Python objects and PyArrow arrays using the MiddlewareCommunicator within the Wrapyfi library. The communication follows the PUB/SUB pattern allowing message publishing and listening functionalities between processes or machines.
- Demonstrations:
Using the NativeObject message
Transmitting a nested dummy Python object with native objects and PyArrow arrays
Applying the PUB/SUB pattern with mirroring
- Requirements:
Wrapyfi: Middleware communication wrapper (refer to the Wrapyfi documentation for installation instructions)
YARP, ROS, ROS 2, ZeroMQ (refer to the Wrapyfi documentation for installation instructions)
PyArrow: Used for handling Apache Arrow arrays
- Install using pip:
pip install pyarrow
- Run:
- # On machine 1 (or process 1): Publisher waits for keyboard input and transmits message
python3 pyarrow_example.py --mode publish
- # On machine 2 (or process 2): Listener waits for message and prints the entire dummy object
python3 pyarrow_example.py --mode listen
- class examples.encoders.pyarrow_example.Notifier[source]
Bases:
MiddlewareCommunicator
examples.encoders.pytorch_example module
A message publisher and listener for native Python objects and PyTorch tensors.
This script demonstrates the capability to transmit native Python objects and PyTorch tensors using the MiddlewareCommunicator within the Wrapyfi library. The communication follows the PUB/SUB pattern, allowing message publishing and listening functionalities between processes or machines.
- Demonstrations:
Using the NativeObject message
Transmitting a nested dummy Python object with native objects and PyTorch tensors
Applying the PUB/SUB pattern with mirroring
Transmitting PyTorch tensors with different devices (CPU and GPU if available)
Flipping of devices by mapping CPU to GPU and vice versa
- Requirements:
Wrapyfi: Middleware communication wrapper (refer to the Wrapyfi documentation for installation instructions)
YARP, ROS, ROS 2, ZeroMQ (refer to the Wrapyfi documentation for installation instructions)
PyTorch: Used for handling and creating tensors (refer to https://pytorch.org/get-started/locally/ for installation instructions)
- Install using pip:
pip install "torch>=1.12.1"
# Basic installation of PyTorch
- Run:
- # On machine 1 (or process 1): Publisher waits for keyboard input and transmits message
python3 pytorch_example.py --mode publish
- # On machine 2 (or process 2): Listener waits for message and prints the entire dummy object
python3 pytorch_example.py --mode listen
- class examples.encoders.pytorch_example.Notifier[source]
Bases:
MiddlewareCommunicator
examples.encoders.tensorflow_example module
A message publisher and listener for native Python objects and TensorFlow tensors.
This script demonstrates the capability to transmit native Python objects and TensorFlow tensors using the MiddlewareCommunicator within the Wrapyfi library. The communication follows the PUB/SUB pattern allowing message publishing and listening functionalities between processes or machines.
- Demonstrations:
Using the NativeObject message
Transmitting a nested dummy Python object with native objects and TensorFlow tensors
Applying the PUB/SUB pattern with mirroring
- Requirements:
Wrapyfi: Middleware communication wrapper (refer to the Wrapyfi documentation for installation instructions)
YARP, ROS, ROS 2, ZeroMQ (refer to the Wrapyfi documentation for installation instructions)
TensorFlow: Used for creating and handling tensors (refer to https://www.tensorflow.org/install for installation instructions)
- Install using pip:
pip install "tensorflow>=2.9.1"
# Basic installation of TensorFlow
- Run:
- # On machine 1 (or process 1): Publisher waits for keyboard input and transmits message
python3 tensorflow_example.py --mode publish
- # On machine 2 (or process 2): Listener waits for message and prints the entire dummy object
python3 tensorflow_example.py --mode listen
- class examples.encoders.tensorflow_example.Notifier[source]
Bases:
MiddlewareCommunicator
examples.encoders.trax_example module
A message publisher and listener for native Python objects and Trax arrays.
This script demonstrates the capability to transmit native Python objects and Trax arrays using the MiddlewareCommunicator within the Wrapyfi library. The communication follows the PUB/SUB pattern allowing message publishing and listening functionalities between processes or machines.
- Demonstrations:
Using the NativeObject message
Transmitting a nested dummy Python object with native objects and Trax arrays
Applying the PUB/SUB pattern with mirroring
- Requirements:
Wrapyfi: Middleware communication wrapper (refer to the Wrapyfi documentation for installation instructions)
YARP, ROS, ROS 2, ZeroMQ (refer to the Wrapyfi documentation for installation instructions)
Trax: Used for handling Google Trax arrays (refer to https://trax-ml.readthedocs.io/en/latest/notebooks/trax_intro.html for installation instructions)
- Install using pip:
pip install trax
- Run:
- # On machine 1 (or process 1): Publisher waits for keyboard input and transmits message
python3 trax_example.py --mode publish
- # On machine 2 (or process 2): Listener waits for message and prints the entire dummy object
python3 trax_example.py --mode listen
- class examples.encoders.trax_example.Notifier[source]
Bases:
MiddlewareCommunicator
examples.encoders.xarray_example module
A message publisher and listener for native Python objects and xarray DataArrays.
This script demonstrates the capability to transmit native Python objects and xarray DataArrays using the MiddlewareCommunicator within the Wrapyfi library. The communication follows the PUB/SUB pattern allowing message publishing and listening functionalities between processes or machines.
- Demonstrations:
Using the NativeObject message
Transmitting a nested dummy Python object with native objects and xarray DataArrays
Applying the PUB/SUB pattern with mirroring
- Requirements:
Wrapyfi: Middleware communication wrapper (refer to the Wrapyfi documentation for installation instructions)
YARP, ROS, ROS 2, ZeroMQ (refer to the Wrapyfi documentation for installation instructions)
NumPy: Used for creating arrays (installed with Wrapyfi)
xarray, pandas: Used for creating and handling DataArrays
- Install using pip:
pip install pandas xarray
- Run:
- # On machine 1 (or process 1): Publisher waits for keyboard input and transmits message
python3 xarray_example.py --mode publish
- # On machine 2 (or process 2): Listener waits for message and prints the entire dummy object
python3 xarray_example.py --mode listen
- class examples.encoders.xarray_example.Notifier[source]
Bases:
MiddlewareCommunicator
examples.encoders.zarr_example module
A message publisher and listener for native Python objects and Zarr arrays/groups.
This script demonstrates the capability to transmit native Python objects and Zarr arrays/groups using the MiddlewareCommunicator within the Wrapyfi library. The communication follows the PUB/SUB pattern allowing message publishing and listening functionalities between processes or machines.
- Demonstrations:
Using the NativeObject message
Transmitting a nested dummy Python object with native objects and Zarr arrays/groups
Applying the PUB/SUB pattern with mirroring
- Requirements:
Wrapyfi: Middleware communication wrapper (refer to the Wrapyfi documentation for installation instructions)
YARP, ROS, ROS 2, ZeroMQ (refer to the Wrapyfi documentation for installation instructions)
NumPy: Used for creating arrays (installed with Wrapyfi)
zarr: Used for creating and handling Zarr arrays and groups
- Install using pip:
pip install zarr
- Run:
- # On machine 1 (or process 1): Publisher waits for keyboard input and transmits message
python3 zarr_example.py --mode publish
- # On machine 2 (or process 2): Listener waits for message and prints the entire dummy object
python3 zarr_example.py --mode listen
- class examples.encoders.zarr_example.Notifier[source]
Bases:
MiddlewareCommunicator