Metadata-Version: 2.1
Name: pdcom5
Version: 5.0.0a7
Summary: Library for process data exchange
Home-page: https://etherlab.org
Author: Bjarne von Horn
Author-email: Bjarne von Horn <vh@igh.de>, Florian Pose <fp@igh.de>, Richard Hacker <ha@igh.de>
Project-URL: Homepage, https://gitlab.com/etherlab.org/pdcom
Project-URL: Bug Tracker, https://gitlab.com/etherlab.org/pdcom/-/issues
Classifier: Programming Language :: Python :: 3
Classifier: Development Status :: 3 - Alpha
Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)
Requires-Python: >=3.6
Description-Content-Type: text/markdown

[![pipeline status](https://gitlab.com/etherlab.org/pdcom/badges/pdcom5-devel/pipeline.svg)](https://gitlab.com/etherlab.org/pdcom/-/commits/pdcom5-devel)
[![coverage report](https://gitlab.com/etherlab.org/pdcom/badges/pdcom5-devel/coverage.svg)](https://docs.etherlab.org/pdcom/5/coverage/index.html)
[![online c++ documentation](https://img.shields.io/badge/Documentation-C++-informational)](https://docs.etherlab.org/pdcom/5/doxygen/index.html)
[![online python documentation](https://img.shields.io/badge/Documentation-Python-informational)](https://docs.etherlab.org/pdcom/5/sphinx/index.html)



This is the README file of the PdCom library, that is part of the EtherLab
project (http://etherlab.org/en). The home of PdCom is
http://etherlab.org/en/pdcom. The Library is released under the terms and
conditions of the GNU Lesser General Public License (LGPL), version 3 or (at
your option) any later version.

## Documentation

You can find the documentation online [here (C++)](https://docs.etherlab.org/pdcom/5/doxygen/index.html) and [here (Python)](https://docs.etherlab.org/pdcom/5/sphinx/index.html).

The library documentation resides in the header files and can be brought to
HTML, LaTeX and man format with the doxygen tool. To generate the
documentation, make sure that doxygen is installed and then call:

```sh
    git submodule update --init
    mkdir build
    cd build
    cmake -DBUILD_TESTING=OFF ..
    make doc
```

Then point your favourite browser to doc/html/index.html.

## Building and Installing

To just build and install the library, call:

```sh
    mkdir build
    cd build
    cmake -DBUILD_TESTING=OFF -DCMAKE_BUILD_TYPE=Release ..
    make
    make install
```

You'll need the following packages:
 - libexpat-devel
 - libgnutls-devel
 - cyrus-sasl-devel

For running the unit tests, the GTest library is required.

## Python API

In the python subdirectory, an [asyncio](https://docs.python.org/3/library/asyncio.html) based Python API is provided.
It requires Python >= 3.6, numpy and pybind11 >= 2.6.0.
Please note that `make install` does not install this Python module.
Instead, please navigate to the python subdirectory after installing the C++ library
and install the pdcom5 python module using `pip3 install .`.

There are also some pre-built wheel packages available.
Use `pip3 install pdcom5 --extra-index-url https://gitlab.com/api/v4/projects/etherlab.org%2Fpdcom/packages/pypi/simple`
to install pdcom5 from the GitLab package registry.

## Further Information

For questions of any kind, subscribe to the etherlab-users mailing list at
http://etherlab.org/en.

Have fun with PdCom!
