Python wrapper: update the README file

Signed-off-by: Mikael Bourhis <mikael.bourhis@smile.fr>
pull/480/head
Mikael Bourhis 2 years ago
parent 0f0d22ab61
commit 65847e4ffe

@ -1,6 +1,10 @@
# Building
Before building you should install swig and python.
To build python bindings you have to turn on the BUILD\_PYTHON\_BINDINGS flag in CMake from cmake-gui or in command line:
# Python wrapper for libIEC61850
## Building
Before building you should install SWIG and Python
(see the '[Setup development environment on Linux](#setup-development-environment-on-linux-ubuntu)' section for help).
To build the Python bindings you have to turn on the BUILD\_PYTHON\_BINDINGS flag in CMake from cmake-gui or in command line:
```sh
$ mkdir build && cd build
$ cmake -DBUILD_PYTHON_BINDINGS=ON ..
@ -11,21 +15,23 @@ Then compile the library and install it:
$ make
$ sudo make install
```
CMake and swig will automatically detect your python version and install the python library in python library directories.
(Eventually, update your ld cache with: `sudo ldconfig`)
CMake and SWIG will automatically detect your Python version and install the Python library in Python library directories.
For running the integrated tests:
```sh
$ make test
```
pyiec61850 library is to be imported calling
pyiec61850 library is to be imported calling:
```python
import pyiec61850 as iec61850
```
# Client tutorial
## Client tutorial
The python bindings works similarly to the basic C library. However there are some differences:
The Python bindings works similarly to the basic C library. However there are some differences:
* a specific function is to be called to cast variables from one type to another
* arguments passed by pointer are to be removed from arguments and append to the return list
@ -61,3 +67,29 @@ Reading and writing operations can be performed using this syntax:
err = iec61850.IedConnection_writeFloatValue(con,
"simpleIOGenericIO/GGIO1.AnIn1.mag.f", iec61850.IEC61850_FC_MX, 10.0)
```
## Appendix
## Setup development environment on Linux Ubuntu
_[Tested on Ubuntu 20.04 LTS, Ubuntu 22.04 LTS, Ubuntu 23.10]_
Here the minimum required packages for compiling libiec61850 and the Python
wrapper (without TLS, SQlite, ...):
```sh
$ sudo apt-get update
$ sudo apt-get install g++ cmake swig git python3 python3-all-dev
```
## Setup development environment on Linux Alpine
_[Tested on Alpine 3.18]_
Here the minimum required packages for compiling libiec61850 and the Python
wrapper (without TLS, SQlite, ...):
```sh
$ apk update
$ apk add git g++ swig make cmake python3 python3-dev linux-headers
```
Loading…
Cancel
Save