Ujo Types Python binding

Pipeline Status Pypi Version Pypi Version Pypi Version

This Python extension allows you to use the ujotypes-c library in Python. Use of ujotypes in Python is primairly through a class wrapper. Additionally you can access the native C-API functions if you have to.

Installing the extension

The ujotypes extension is available on the Python Package Index (PyPi). The extension is available as a binary wheel for Linux x64 systems that are manylinux compatible and on Windows x64 systems.

To install it without having to build it yourself open a command line and run:

pip install ujotypes

Building the extension

Building the extensions requires a local compiler. When building on Windows you need to match the compiler of the Python version you want to build the extension for. A comprehensive listing is available in the pythondev documentation.

Also the ujotypes-c project needs to be cloned and built locally.

The standard build process for the ujotypes-py Python extension expects to find the directory of the ujotypes-c project to be next to the ujotypes-py directory. Should your clone of the ujotypes-c project be in a different location you will have to adjust the paths in the setup.py file.

To build and install open a command line and run:

python setup.py build
pip install .

Running Unit Tests

The ujotype-py project comes with a set of unittests. To run tests from the package root dir call:

python -m unittest discover test -v

Code Quality

We value code quality and ask you to check your code with pylint and flake8 before making a merge request.

pylint

Running pylint for the python code in this project the following commands are used:

pylint --rcfile=.pylintrc ./ujotypes/
pylint --rcfile=.pylintrc --disable=duplicate-code ./test/

flake8

You can run flake 8 with:

flake8

Index and Tables