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).
- Website: https://www.cubert-hyperspectral.com/
- Source code: https://github.com/cubert-hyperspectral/
- Support: http://support.cubert-hyperspectral.com/
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.
⚠️ 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.10, 3.11, 3.12, 3.13 and 3.14, for Windows and for Linux on x86_64 and aarch64.
The Linux wheels are built against glibc 2.35 and install on Ubuntu 22.04 and every newer release, 24.04 and 26.04 included.
Via Docker
The image cubertgmbh/cuvis_pyil:<sdk version>-ubuntu<22.04|24.04|26.04>[-arm64] ships the cuvis SDK and the matching cuvis-il in a virtual environment at /opt/venv, already on PATH.
The tag names the cuvis SDK version and always points at the newest interface layer built for it.
FROM cubertgmbh/cuvis_pyil:3.5.3-ubuntu24.04
RUN pip install "cuvis==3.5.3.*"
adds the cuvis wrapper, or interactively
docker run -it cubertgmbh/cuvis_pyil:3.5.3-ubuntu24.04 bash
pip install cuvis
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.
⚠️ 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 forward compatibility for minor versions. As of version 1.25 NumPy also offers its ABI in a backwards compatible way. 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 NumPy 2.0.0 for Python 3.10, 3.11 and 3.12, 2.1.0 for Python 3.13 and 2.3.2 for Python 3.14. This should ensure that the bindings are build in a forward and backwards compatible way.
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.
Metadata
Release files for cuvis-il 3.6.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
Total release size: 3.5 MB
Release files / cuvis_il-3.6.0.0-py314-none-win_amd64.whl
| Download URL | cuvis_il-3.6.0.0-py314-none-win_amd64.whl |
|---|---|
| Size | 234.6 kB |
| Tags | Python 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
fbbc2bcf14fc7e0bfd3a81ad133c3ac5d761a9e2a801d1c1d42f97298934e8c1
|
|
BLAKE2b-256 checksum How to use checksums |
dbf6f9acc40ce9f3fca015f17432f0994a78d155fac4ac074afa6774bd78a79a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.
Transparency logRelease files / cuvis_il-3.6.0.0-py314-none-manylinux_2_35_x86_64.whl
| Download URL | cuvis_il-3.6.0.0-py314-none-manylinux_2_35_x86_64.whl |
|---|---|
| Size | 246.9 kB |
| Tags | Linux glibc 2.35+ x86-64 Python 3.14 |
|
SHA-256 checksum How to use checksums |
1b1d95e4d3d437a11f27516cba5825601761f34f9fb46d9bfe522072ef78d3c7
|
|
BLAKE2b-256 checksum How to use checksums |
7f1711a625c6ffc751ce76e0ddeccb6979cf391d892eea6acd9d571c68af66ec
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.
Transparency logRelease files / cuvis_il-3.6.0.0-py314-none-manylinux_2_35_aarch64.whl
| Download URL | cuvis_il-3.6.0.0-py314-none-manylinux_2_35_aarch64.whl |
|---|---|
| Size | 219.8 kB |
| Tags | Linux glibc 2.35+ ARM64 Python 3.14 |
|
SHA-256 checksum How to use checksums |
34ebd223dec3e9fccd2228657829ce414459e6e868a589873257e6811aa0fa27
|
|
BLAKE2b-256 checksum How to use checksums |
41883bdc1c1a0b73bceae8c79315e03bd3928b034128172c9adefb1f1560dc2a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.
Transparency logRelease files / cuvis_il-3.6.0.0-py313-none-win_amd64.whl
| Download URL | cuvis_il-3.6.0.0-py313-none-win_amd64.whl |
|---|---|
| Size | 231.1 kB |
| Tags | Python 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
5a40226c2b00de1a455f22ba17f352e4e8377c04756afda2fb0be93842e555c9
|
|
BLAKE2b-256 checksum How to use checksums |
330a8adcf6cb209b633e3c708df838a51c966a076b7e80ce5c42db396bb81aed
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.
Transparency logRelease files / cuvis_il-3.6.0.0-py313-none-manylinux_2_35_x86_64.whl
| Download URL | cuvis_il-3.6.0.0-py313-none-manylinux_2_35_x86_64.whl |
|---|---|
| Size | 247.0 kB |
| Tags | Linux glibc 2.35+ x86-64 Python 3.13 |
|
SHA-256 checksum How to use checksums |
7429a77588dfa8d8892c944cfb9ecc5ab78bc473fd2b2762915dba042fbebc75
|
|
BLAKE2b-256 checksum How to use checksums |
662e96b6b0afeb237c7d0c7c08e17414778911ed088ccfcdefc3266542979550
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.
Transparency logRelease files / cuvis_il-3.6.0.0-py313-none-manylinux_2_35_aarch64.whl
| Download URL | cuvis_il-3.6.0.0-py313-none-manylinux_2_35_aarch64.whl |
|---|---|
| Size | 219.0 kB |
| Tags | Linux glibc 2.35+ ARM64 Python 3.13 |
|
SHA-256 checksum How to use checksums |
54460a88b5bb0361ff1c1e88b1d1d0c789167476527382499f8ac5deaf0f46e1
|
|
BLAKE2b-256 checksum How to use checksums |
622605a07002ab110edb53aa25a765f3a5917b6e891bbf578095edad1bcd51ce
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.
Transparency logRelease files / cuvis_il-3.6.0.0-py312-none-win_amd64.whl
| Download URL | cuvis_il-3.6.0.0-py312-none-win_amd64.whl |
|---|---|
| Size | 230.7 kB |
| Tags | Python 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
fe7f1948785dfa81aea00d3fa99679e821bb2295ec6ad0170895b1d447c3ab1d
|
|
BLAKE2b-256 checksum How to use checksums |
6d338a4d78fb11f58b27f84a8fd2db398882534a1c81026f6e257b587465bc62
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.
Transparency logRelease files / cuvis_il-3.6.0.0-py312-none-manylinux_2_35_x86_64.whl
| Download URL | cuvis_il-3.6.0.0-py312-none-manylinux_2_35_x86_64.whl |
|---|---|
| Size | 247.0 kB |
| Tags | Linux glibc 2.35+ x86-64 Python 3.12 |
|
SHA-256 checksum How to use checksums |
169cdc6a2625345ce053228581b8efa457b2e73e6b8836d2b0e23671e2505e87
|
|
BLAKE2b-256 checksum How to use checksums |
967484c5e5448b2f15cc1d2abfd817f2a292878d6c0ebee97a5f46253dc29e7f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.
Transparency logRelease files / cuvis_il-3.6.0.0-py312-none-manylinux_2_35_aarch64.whl
| Download URL | cuvis_il-3.6.0.0-py312-none-manylinux_2_35_aarch64.whl |
|---|---|
| Size | 219.0 kB |
| Tags | Linux glibc 2.35+ ARM64 Python 3.12 |
|
SHA-256 checksum How to use checksums |
35769ce39e1949bd4ecd878e83d3dcd60c206afd6a9c38dd00d2870f100b81d7
|
|
BLAKE2b-256 checksum How to use checksums |
9823a28c3ac3b43e0cafc1f1ba49b3964203da45a1a9c997775a21b78f89905e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.
Transparency logRelease files / cuvis_il-3.6.0.0-py311-none-win_amd64.whl
| Download URL | cuvis_il-3.6.0.0-py311-none-win_amd64.whl |
|---|---|
| Size | 230.8 kB |
| Tags | Python 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
0cb826595509d55a425f25212ba76f5552ac0242b2d4f6e5070279b5a9c0ce28
|
|
BLAKE2b-256 checksum How to use checksums |
48e75b4ab19d99b2c1528ed274297225ab7294e9a20c2e462c9ed554c60c2dce
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.
Transparency logRelease files / cuvis_il-3.6.0.0-py311-none-manylinux_2_35_x86_64.whl
| Download URL | cuvis_il-3.6.0.0-py311-none-manylinux_2_35_x86_64.whl |
|---|---|
| Size | 247.1 kB |
| Tags | Linux glibc 2.35+ x86-64 Python 3.11 |
|
SHA-256 checksum How to use checksums |
cf6af10fe7332bd1e1884e754ea56faf7522713efcec544e9c861f3aa68fe2a0
|
|
BLAKE2b-256 checksum How to use checksums |
b2bd886dec6b48e6a4d80cbd996ad648d562c1a83c903b62e903fc8134058c51
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.
Transparency logRelease files / cuvis_il-3.6.0.0-py311-none-manylinux_2_35_aarch64.whl
| Download URL | cuvis_il-3.6.0.0-py311-none-manylinux_2_35_aarch64.whl |
|---|---|
| Size | 219.2 kB |
| Tags | Linux glibc 2.35+ ARM64 Python 3.11 |
|
SHA-256 checksum How to use checksums |
536cb6bb89769f541b31f16f7b450b45bb90e50ae0c299d00c85ae5bf45d4562
|
|
BLAKE2b-256 checksum How to use checksums |
1783f70cb84c3cc17a2172c3da586ff552288ae90c8eeab6979e25f6e096b616
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.
Transparency logRelease files / cuvis_il-3.6.0.0-py310-none-win_amd64.whl
| Download URL | cuvis_il-3.6.0.0-py310-none-win_amd64.whl |
|---|---|
| Size | 230.9 kB |
| Tags | Python 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
0182ee4dcd421fdc1f83d7618477bc1a136a81faca06ee61fdbd70383a704b9b
|
|
BLAKE2b-256 checksum How to use checksums |
1cb1a998d1598b93ef6bb1bd6d06909b6fe6cc524a006c8b7b7be93a2842fb1c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.
Transparency logRelease files / cuvis_il-3.6.0.0-py310-none-manylinux_2_35_x86_64.whl
| Download URL | cuvis_il-3.6.0.0-py310-none-manylinux_2_35_x86_64.whl |
|---|---|
| Size | 247.1 kB |
| Tags | Linux glibc 2.35+ x86-64 Python 3.10 |
|
SHA-256 checksum How to use checksums |
737f1aac682c8f9fefb95204ff7fc3396841ec8ddf3a2ea5cc9cde1c25037832
|
|
BLAKE2b-256 checksum How to use checksums |
9b90f3a2bb73070cb4347c9b70045cd98e87f0ed234383e313e33ca52a0d5dad
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.
Transparency logRelease files / cuvis_il-3.6.0.0-py310-none-manylinux_2_35_aarch64.whl
| Download URL | cuvis_il-3.6.0.0-py310-none-manylinux_2_35_aarch64.whl |
|---|---|
| Size | 219.2 kB |
| Tags | Linux glibc 2.35+ ARM64 Python 3.10 |
|
SHA-256 checksum How to use checksums |
d71f353a70c4b8b9739c96743057047f3fec36226a901044846a6ca71aef584a
|
|
BLAKE2b-256 checksum How to use checksums |
678f4a1eabc8e84f2e36a583f7c3658c89e51091a96ac25f5a173fce28ab8aa3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.
Transparency log