Skip to main content

Compiled Python Bindings for the CUVIS SDK.

Project description

image

cuvis.pyil (python interface layer; required for using the python wrapper)

cuvis.pyil is the python interface binding for the Cuvis SDK written in C (available here).

For other supported program languages, please have a look at the source code page.

Installation

Prerequisites

First, you need to install the Cuvis C SDK from here. The installation registers the installation path in the environment, which the python interface layer is linked to.

:warning: If the C SDK is reinstalled into another directory later on, the linkage breaks and the python wrapper might stop working.

Via pip

If you wish to use cuvis-il within another project, from within your project environment, run

pip install cuvis-il

or add cuvis-il to your project requirements.txt or setup.py. We currently provide pre-compiled binaries for Python 3.9, 3.10, 3.11, 3.12 and 3.13 for Windows, Ubuntu 20.04 and Ubuntu 22.04 (all 64-bit).

Build manually via repository

If you wish to download and use cuvis locally, clone the git repository

git clone git@github.com:cubert-hyperspectral/cuvis.pyil.git
cd cuvis.pyil

and then initialize the submodules.

git submodule update --init --recursive

For building the python stubs for wrapping between C libraries and python, you'll need SWIG (see https://www.swig.org/download.html).

Next make sure that your preferred version of NumPy is manually pre-installed in your go-to environment. See here. Also make sure that the additional build dependencies are installed.

python -m pip install wheel setuptools numpy==YOUR_NUMPY_VERSION -qq 

Then use CMake (see https://cmake.org/download/) to configure and generate your project. CMake will require you to locate the Cuvis C SDK (this should be found automatically, if the Cuvis C SDK is properly installed). Also, you need to point the variable SWIG_EXECUTABLE to the path of the swig.exe.

Build and install the CMake Project via

mkdir build
cd build
cmake  -DCMAKE_BUILD_TYPE=Release -DDOXYGEN_BUILD_DOCUMENTATION=OFF -DPython_ROOT_DIR=venv ..
cmake --build . --target cuvis_pyil --config Release
cp ./_cuvis_pyil.so ../cuvis_il
cp ./cuvis_il.py ../cuvis_il
cd ..
python -m pip install .

This project will then generate the _cuvis_pyil.pyd and cuvis_il.py files needed for running the Cuvis Python SDK wrapper. Those then can be used to install the cuvis_il package.

:warning: You might also use the cuvis_il.py directly, which provides all functionalities as single methods without organization into objects. Support for code without the additional wrapper is limited, though.

Dependency to NumPy

The python interface layer is dependent on NumPy. Specifically, this means that we need the C headers of the NumPy library. Notice that NumPy has backwards compatibility. To compile the python interface layer install your preferred version of NumPy. For example the newest stable release via

pip install numpy

CMake will try to find the NumPy path using the find_package(Python REQUIRED COMPONENTS Interpreter Development NumPy). To support the usage of a virtual environment, set the Python_ROOT_DIR variable to the directory containing your virtual environment.

Our pre-compiled binaries are compiled with 1.22 (Python 3.9 and 3.10), 1.23 (Python 3.11) 1.26 (Python 3.12) and 2.0 (Python 3.13).

Getting involved

cuvis.hub welcomes your enthusiasm and expertise!

With providing our SDK wrappers on GitHub, we aim for a community-driven open source application development by a diverse group of contributors. Cubert GmbH aims for creating an open, inclusive, and positive community. Feel free to branch/fork this repository for later merge requests, open issues or point us to your application specific projects. Contact us, if you want your open source project to be included and shared on this hub; either if you search for direct support, collaborators or any other input or simply want your project being used by this community. We ourselves try to expand the code base with further more specific applications using our wrappers to provide starting points for research projects, embedders or other users.

Getting help

Directly code related issues can be posted here on the GitHub page, other, more general and application related issues should be directed to the aforementioned Cubert GmbH support page.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

cuvis_il-3.4.0b3-py313-none-win_amd64.whl (162.3 kB view details)

Uploaded Python 3.13Windows x86-64

cuvis_il-3.4.0b3-py312-none-win_amd64.whl (162.4 kB view details)

Uploaded Python 3.12Windows x86-64

cuvis_il-3.4.0b3-py311-none-win_amd64.whl (161.4 kB view details)

Uploaded Python 3.11Windows x86-64

cuvis_il-3.4.0b3-py310-none-win_amd64.whl (161.2 kB view details)

Uploaded Python 3.10Windows x86-64

cuvis_il-3.4.0b3-py39-none-win_amd64.whl (161.1 kB view details)

Uploaded Python 3.9Windows x86-64

File details

Details for the file cuvis_il-3.4.0b3-py313-none-win_amd64.whl.

File metadata

  • Download URL: cuvis_il-3.4.0b3-py313-none-win_amd64.whl
  • Upload date:
  • Size: 162.3 kB
  • Tags: Python 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for cuvis_il-3.4.0b3-py313-none-win_amd64.whl
Algorithm Hash digest
SHA256 9b710e5d8a216eb636b9b46abcbe2b625e65a368c90a9bf657d374ef71abc6a4
MD5 c6ddeadcc8fbb87bc0f2d594326830e2
BLAKE2b-256 1431c90576d1bafe4aaf78ff00f05c5105d97d9106bed7d2d3ae63e72d66d6d3

See more details on using hashes here.

File details

Details for the file cuvis_il-3.4.0b3-py312-none-win_amd64.whl.

File metadata

  • Download URL: cuvis_il-3.4.0b3-py312-none-win_amd64.whl
  • Upload date:
  • Size: 162.4 kB
  • Tags: Python 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.10

File hashes

Hashes for cuvis_il-3.4.0b3-py312-none-win_amd64.whl
Algorithm Hash digest
SHA256 a3343ab6b3f1c88c20af8e56dcec53ec79f032c2918c17ba0ee75b87e073b7b6
MD5 fda184799a17c847d104619a8eb656a5
BLAKE2b-256 d753716b1caa1de42d07bd41eb5d883387788b3dd7ce9523028c506df7619c9a

See more details on using hashes here.

File details

Details for the file cuvis_il-3.4.0b3-py311-none-win_amd64.whl.

File metadata

  • Download URL: cuvis_il-3.4.0b3-py311-none-win_amd64.whl
  • Upload date:
  • Size: 161.4 kB
  • Tags: Python 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.6

File hashes

Hashes for cuvis_il-3.4.0b3-py311-none-win_amd64.whl
Algorithm Hash digest
SHA256 1e4f753a502d0ad794f231cc954d0b9172c0b3377700bf9597beaeca0937f058
MD5 067bd88977a8efd2e57fb4beb22cd8f2
BLAKE2b-256 ee88f99ea76f91769f80e041df469e72757d4283b9a541426ba7533ee76c5230

See more details on using hashes here.

File details

Details for the file cuvis_il-3.4.0b3-py310-none-win_amd64.whl.

File metadata

  • Download URL: cuvis_il-3.4.0b3-py310-none-win_amd64.whl
  • Upload date:
  • Size: 161.2 kB
  • Tags: Python 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.11

File hashes

Hashes for cuvis_il-3.4.0b3-py310-none-win_amd64.whl
Algorithm Hash digest
SHA256 0d6fbaefdeafc3b67f17fd0614e9d6b5c46191f988ab6f797694cd30dca19427
MD5 55a7db58178530f1680383df12dd0705
BLAKE2b-256 7cfe6adbd07a81842c8edbbd8021eb9e5ffc695a4938055331a4f1efda50aa55

See more details on using hashes here.

File details

Details for the file cuvis_il-3.4.0b3-py39-none-win_amd64.whl.

File metadata

  • Download URL: cuvis_il-3.4.0b3-py39-none-win_amd64.whl
  • Upload date:
  • Size: 161.1 kB
  • Tags: Python 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.13

File hashes

Hashes for cuvis_il-3.4.0b3-py39-none-win_amd64.whl
Algorithm Hash digest
SHA256 5b65bd4787fda25bd6cbaa2387aebfb8c440517979a818a17addc5d74a764a43
MD5 d84cd2cf90fb74fda7806f6ea9ed284a
BLAKE2b-256 a818434d0647c0d9ee13d7aceaefdd2e985e6b8cff982ce175648db50d1cc4ae

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page