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, 3.13 and 3.14 for Windows, Ubuntu 22.04 and Ubuntu 24.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 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 2.0.0 (Python 3.9, 3.10, 3.11, 3.12 and 3.13). 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.

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.5.3.0-py314-none-manylinux_2_39_x86_64.whl (168.9 kB view details)

Uploaded Python 3.14manylinux: glibc 2.39+ x86-64

cuvis_il-3.5.3.0-py314-none-manylinux_2_35_x86_64.whl (168.6 kB view details)

Uploaded Python 3.14manylinux: glibc 2.35+ x86-64

cuvis_il-3.5.3.0-py313-none-manylinux_2_39_x86_64.whl (168.9 kB view details)

Uploaded Python 3.13manylinux: glibc 2.39+ x86-64

cuvis_il-3.5.3.0-py313-none-manylinux_2_35_x86_64.whl (168.3 kB view details)

Uploaded Python 3.13manylinux: glibc 2.35+ x86-64

cuvis_il-3.5.3.0-py312-none-manylinux_2_39_x86_64.whl (168.8 kB view details)

Uploaded Python 3.12manylinux: glibc 2.39+ x86-64

cuvis_il-3.5.3.0-py312-none-manylinux_2_35_x86_64.whl (168.3 kB view details)

Uploaded Python 3.12manylinux: glibc 2.35+ x86-64

cuvis_il-3.5.3.0-py311-none-manylinux_2_39_x86_64.whl (168.5 kB view details)

Uploaded Python 3.11manylinux: glibc 2.39+ x86-64

cuvis_il-3.5.3.0-py311-none-manylinux_2_35_x86_64.whl (167.8 kB view details)

Uploaded Python 3.11manylinux: glibc 2.35+ x86-64

cuvis_il-3.5.3.0-py310-none-manylinux_2_39_x86_64.whl (168.4 kB view details)

Uploaded Python 3.10manylinux: glibc 2.39+ x86-64

cuvis_il-3.5.3.0-py310-none-manylinux_2_35_x86_64.whl (167.8 kB view details)

Uploaded Python 3.10manylinux: glibc 2.35+ x86-64

cuvis_il-3.5.3.0-py39-none-manylinux_2_39_x86_64.whl (168.6 kB view details)

Uploaded Python 3.9manylinux: glibc 2.39+ x86-64

cuvis_il-3.5.3.0-py39-none-manylinux_2_35_x86_64.whl (167.9 kB view details)

Uploaded Python 3.9manylinux: glibc 2.35+ x86-64

File details

Details for the file cuvis_il-3.5.3.0-py314-none-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for cuvis_il-3.5.3.0-py314-none-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 7aa6266559879820ec63915e2be5015333bf8a46b194a042675c02fb388c8b53
MD5 322f900d37b1c41ee44354ba49624bcd
BLAKE2b-256 cd1b84fbf4f673add7c023e1415bfabdafb40d05807d542d47f74ed560ceb144

See more details on using hashes here.

Provenance

The following attestation bundles were made for cuvis_il-3.5.3.0-py314-none-manylinux_2_39_x86_64.whl:

Publisher: publish_version.yml on cubert-hyperspectral/cuvis.pyil

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cuvis_il-3.5.3.0-py314-none-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for cuvis_il-3.5.3.0-py314-none-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 4c4b3bba6f1bfb2ec38d7fc75a9907a528882265998ded7f1b16136da4681602
MD5 0ff7d930caaa0a0a33bed8aabc8a1ee1
BLAKE2b-256 8827cd9ae9b3b7e8f14b1ac74f19e913da7610bb0e966c9950f4dcac14dca5df

See more details on using hashes here.

Provenance

The following attestation bundles were made for cuvis_il-3.5.3.0-py314-none-manylinux_2_35_x86_64.whl:

Publisher: publish_version.yml on cubert-hyperspectral/cuvis.pyil

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cuvis_il-3.5.3.0-py313-none-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for cuvis_il-3.5.3.0-py313-none-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 58a2e8153ba263450ef3d5759ec093eb4239dffbfdc4d140b5f0119fa5ddd763
MD5 50e7be6de89ee8ee975a03cf6d6fda2f
BLAKE2b-256 2691787014280e6e12cdaf58eca5a3cfe959ffbca48f367f51d710e57100a505

See more details on using hashes here.

Provenance

The following attestation bundles were made for cuvis_il-3.5.3.0-py313-none-manylinux_2_39_x86_64.whl:

Publisher: publish_version.yml on cubert-hyperspectral/cuvis.pyil

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cuvis_il-3.5.3.0-py313-none-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for cuvis_il-3.5.3.0-py313-none-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 381f961281a09bd546a777c890ffce16218d629766cb758ef4dad5fc98ec3727
MD5 a3773a062cd332e5f0854d989013f6a5
BLAKE2b-256 5658da202840a872412d52c8065ea2c5feaedc92845625924f7b6d784335eba4

See more details on using hashes here.

Provenance

The following attestation bundles were made for cuvis_il-3.5.3.0-py313-none-manylinux_2_35_x86_64.whl:

Publisher: publish_version.yml on cubert-hyperspectral/cuvis.pyil

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cuvis_il-3.5.3.0-py312-none-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for cuvis_il-3.5.3.0-py312-none-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 93e1530081b1d63826c541865b6a7355022cb287ae54b35aa62e193e5c949594
MD5 03676b00e48cb3eb7c4642a521195211
BLAKE2b-256 233c4e874cbd9d47f6dfb5069eb852646a1ab8d938a7b13fde95d0ab90701faf

See more details on using hashes here.

Provenance

The following attestation bundles were made for cuvis_il-3.5.3.0-py312-none-manylinux_2_39_x86_64.whl:

Publisher: publish_version.yml on cubert-hyperspectral/cuvis.pyil

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cuvis_il-3.5.3.0-py312-none-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for cuvis_il-3.5.3.0-py312-none-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 38b28bff2cad44ea1d54221d5285ca24a966fdaf1da5658ba3b4d5b4cdcae7ad
MD5 6587be58eb2c828510f09fb10303ecfb
BLAKE2b-256 bcef4fce6fdd2a56a7054209ea8737c1963d31e78d982d114ac06a31fc5e5b79

See more details on using hashes here.

Provenance

The following attestation bundles were made for cuvis_il-3.5.3.0-py312-none-manylinux_2_35_x86_64.whl:

Publisher: publish_version.yml on cubert-hyperspectral/cuvis.pyil

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cuvis_il-3.5.3.0-py311-none-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for cuvis_il-3.5.3.0-py311-none-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 220eb849a51c2a27f6bef26f7aa508bba8ac96c0ae15a7ff16882915ce01e692
MD5 823e08b5ea8151fa425fc8c61815255d
BLAKE2b-256 16d075da46470b2360efa5034ba8d0a5c4ee628f7f66ff68a2bb6f443230f065

See more details on using hashes here.

Provenance

The following attestation bundles were made for cuvis_il-3.5.3.0-py311-none-manylinux_2_39_x86_64.whl:

Publisher: publish_version.yml on cubert-hyperspectral/cuvis.pyil

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cuvis_il-3.5.3.0-py311-none-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for cuvis_il-3.5.3.0-py311-none-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 acb217c1859e40affd42c59f2c6201b740021376fbc1ea6b2d8cad58add10864
MD5 240418ac728236de46ec6e76d3aea74d
BLAKE2b-256 e4fd047d62221c3b7a9fe6bf1003fab3f33606b85e3486d9074fb8de46b54000

See more details on using hashes here.

Provenance

The following attestation bundles were made for cuvis_il-3.5.3.0-py311-none-manylinux_2_35_x86_64.whl:

Publisher: publish_version.yml on cubert-hyperspectral/cuvis.pyil

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cuvis_il-3.5.3.0-py310-none-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for cuvis_il-3.5.3.0-py310-none-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 4fa76de57c5ee4c5d6ceedfe4f1e5473e95c35a916c1a91dde8b94d7a060d296
MD5 d3cfa5473bc2b9eb4667424334301cd3
BLAKE2b-256 4f35552f4d9cfdb3855ea0a4aad5522f90165a5cfedd9f91a3d022895921d8a1

See more details on using hashes here.

Provenance

The following attestation bundles were made for cuvis_il-3.5.3.0-py310-none-manylinux_2_39_x86_64.whl:

Publisher: publish_version.yml on cubert-hyperspectral/cuvis.pyil

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cuvis_il-3.5.3.0-py310-none-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for cuvis_il-3.5.3.0-py310-none-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 70b5278c8c88d78030ee045e07ad22bdacf10fb6af4be1ba19d2b668d834b4e5
MD5 068b7d988c46b7657b197e83bea6372d
BLAKE2b-256 818f668a8fa11b3297992950848e82627b2641b5df38365cf1290f489258c6cc

See more details on using hashes here.

Provenance

The following attestation bundles were made for cuvis_il-3.5.3.0-py310-none-manylinux_2_35_x86_64.whl:

Publisher: publish_version.yml on cubert-hyperspectral/cuvis.pyil

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cuvis_il-3.5.3.0-py39-none-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for cuvis_il-3.5.3.0-py39-none-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 99c6248e7be8f60b555cdb4eaef54ed1e6bd9c97843de632d5c1c16eb1b1afb6
MD5 2d203f8dc35e23b704c3e0a75873e3f3
BLAKE2b-256 5927aed61fd406e4c42f314b32153be4c23ec8100a24ec9f0c1e8dea1740742b

See more details on using hashes here.

Provenance

The following attestation bundles were made for cuvis_il-3.5.3.0-py39-none-manylinux_2_39_x86_64.whl:

Publisher: publish_version.yml on cubert-hyperspectral/cuvis.pyil

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cuvis_il-3.5.3.0-py39-none-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for cuvis_il-3.5.3.0-py39-none-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 839acd4a79572ae1af6e89002b4688fa5c669b8b477802bdee4fda64870625a6
MD5 3a2bb80806eb8c98a04568781b7fb3be
BLAKE2b-256 3c56510b39d7e2a9dfd06deef1e7e8e0305d4011515ec450542fcb90aeb1b9c9

See more details on using hashes here.

Provenance

The following attestation bundles were made for cuvis_il-3.5.3.0-py39-none-manylinux_2_35_x86_64.whl:

Publisher: publish_version.yml on cubert-hyperspectral/cuvis.pyil

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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