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.3.2rc1-py313-none-manylinux_2_35_x86_64.whl (163.2 kB view details)

Uploaded Python 3.13manylinux: glibc 2.35+ x86-64

cuvis_il-3.3.2rc1-py313-none-manylinux_2_31_x86_64.whl (161.0 kB view details)

Uploaded Python 3.13manylinux: glibc 2.31+ x86-64

cuvis_il-3.3.2rc1-py312-none-manylinux_2_35_x86_64.whl (162.9 kB view details)

Uploaded Python 3.12manylinux: glibc 2.35+ x86-64

cuvis_il-3.3.2rc1-py312-none-manylinux_2_31_x86_64.whl (160.8 kB view details)

Uploaded Python 3.12manylinux: glibc 2.31+ x86-64

cuvis_il-3.3.2rc1-py311-none-win_amd64.whl (157.8 kB view details)

Uploaded Python 3.11Windows x86-64

cuvis_il-3.3.2rc1-py311-none-manylinux_2_35_x86_64.whl (162.1 kB view details)

Uploaded Python 3.11manylinux: glibc 2.35+ x86-64

cuvis_il-3.3.2rc1-py311-none-manylinux_2_31_x86_64.whl (160.8 kB view details)

Uploaded Python 3.11manylinux: glibc 2.31+ x86-64

cuvis_il-3.3.2rc1-py310-none-win_amd64.whl (157.6 kB view details)

Uploaded Python 3.10Windows x86-64

cuvis_il-3.3.2rc1-py310-none-manylinux_2_35_x86_64.whl (162.1 kB view details)

Uploaded Python 3.10manylinux: glibc 2.35+ x86-64

cuvis_il-3.3.2rc1-py310-none-manylinux_2_31_x86_64.whl (160.7 kB view details)

Uploaded Python 3.10manylinux: glibc 2.31+ x86-64

cuvis_il-3.3.2rc1-py39-none-win_amd64.whl (157.4 kB view details)

Uploaded Python 3.9Windows x86-64

cuvis_il-3.3.2rc1-py39-none-manylinux_2_35_x86_64.whl (162.2 kB view details)

Uploaded Python 3.9manylinux: glibc 2.35+ x86-64

cuvis_il-3.3.2rc1-py39-none-manylinux_2_31_x86_64.whl (160.6 kB view details)

Uploaded Python 3.9manylinux: glibc 2.31+ x86-64

File details

Details for the file cuvis_il-3.3.2rc1-py313-none-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for cuvis_il-3.3.2rc1-py313-none-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 3efc6b7c18732b7d26d44f182b5bf013828bcf66e30b1ac4cbdccc2e3cb2ce3e
MD5 b5e0ba8a8ef88411e43a2f839a4f0b67
BLAKE2b-256 fcc6d9a6ea3fae1755a83903bf433f725fade894b39d5ce2a3ca0b0cc040e65f

See more details on using hashes here.

File details

Details for the file cuvis_il-3.3.2rc1-py313-none-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for cuvis_il-3.3.2rc1-py313-none-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 eef8ea3b0b758071113abc53a3d94d8cf4959f91defe34fd0539ad7b5b6ec04e
MD5 e4e1943509840046a7caca076230fc78
BLAKE2b-256 4cbe66d655ccdb46e7e29017e8452ca4b191616dc13f34a462067c1c097f7611

See more details on using hashes here.

File details

Details for the file cuvis_il-3.3.2rc1-py312-none-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for cuvis_il-3.3.2rc1-py312-none-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 07671a5270683076301f4a6511a844c81257b0de2ebba1b02e9c9375d126024c
MD5 2bd18912957fa28564ff6ce4291d4d1a
BLAKE2b-256 ec90c7749b654492949e8dfcb016f886127719e5897b0cc6a5d9720f25bdeaeb

See more details on using hashes here.

File details

Details for the file cuvis_il-3.3.2rc1-py312-none-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for cuvis_il-3.3.2rc1-py312-none-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 6af546de2f63ea6045d5821e3b388517bf27d3a134109bc92dc735edb7e843d3
MD5 32f6c380ead6d1a7dcef1d15ccc66fda
BLAKE2b-256 0ad59d75f2d00bdc1597346b374a70ebf1385b9f7f3bca5e42f1bf1f1d6bc2d7

See more details on using hashes here.

File details

Details for the file cuvis_il-3.3.2rc1-py311-none-win_amd64.whl.

File metadata

  • Download URL: cuvis_il-3.3.2rc1-py311-none-win_amd64.whl
  • Upload date:
  • Size: 157.8 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.3.2rc1-py311-none-win_amd64.whl
Algorithm Hash digest
SHA256 9b0bae9aa769f6c908d27535a795eb9b8a75796fb6b99cc5ded121333d6aa74a
MD5 c290ed77fe606f0dd08b7bc52b72aae1
BLAKE2b-256 ccafffa8bf4aacd265d139fa8138ff8d926b134083a6897cfa62485083040834

See more details on using hashes here.

File details

Details for the file cuvis_il-3.3.2rc1-py311-none-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for cuvis_il-3.3.2rc1-py311-none-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 503a0631b0e6df2338f3468f64db1f795be56fbb115d05a9e6c141e1f219a2cc
MD5 dd6a0c20ae113b090a814689a1713eba
BLAKE2b-256 788c14340e97404b63b249c7fb6a96205c1d87d073a5d2ff91f1b92d13b1614b

See more details on using hashes here.

File details

Details for the file cuvis_il-3.3.2rc1-py311-none-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for cuvis_il-3.3.2rc1-py311-none-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 e17d306d6fc3900f8a70b056261de6c6c6abee302bf338a8a21c6aa3e3a2d00f
MD5 bdca3832ba024863b779da442351ca61
BLAKE2b-256 e02b685b228bca12893f939f4d5a311da2427b085b68660034330abb9afe2190

See more details on using hashes here.

File details

Details for the file cuvis_il-3.3.2rc1-py310-none-win_amd64.whl.

File metadata

  • Download URL: cuvis_il-3.3.2rc1-py310-none-win_amd64.whl
  • Upload date:
  • Size: 157.6 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.3.2rc1-py310-none-win_amd64.whl
Algorithm Hash digest
SHA256 18471e1ae3d211a8a6ed26838330d50cfde105673f8d639d68e2065ba6944388
MD5 ce533408bde604da20ba87e226801fe1
BLAKE2b-256 35139fc0eceb4daf3c82d6675d89d66c7cae5d2008f356d6c776b32782cc1979

See more details on using hashes here.

File details

Details for the file cuvis_il-3.3.2rc1-py310-none-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for cuvis_il-3.3.2rc1-py310-none-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 3106396e5fc726add15ca52a58da059f3443846669646cea4ecee588cb13a4d1
MD5 b3668dc155e591b77a937bfc2d9d763b
BLAKE2b-256 a845ec3bbdf4de7511ae5114a5da55adaa67a18341869eb9dfc71d959bfdb94d

See more details on using hashes here.

File details

Details for the file cuvis_il-3.3.2rc1-py310-none-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for cuvis_il-3.3.2rc1-py310-none-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 5ad6137a5020e3a6b179bd161d57104f59ae86f7aa96dcc9a46cb3833eb7a08f
MD5 2efa15e93376d72643627b5e134fe2d0
BLAKE2b-256 7f24d4856d234f9f53fa3d2660e9af7f96606d58e1c99edc466a89fac14875c8

See more details on using hashes here.

File details

Details for the file cuvis_il-3.3.2rc1-py39-none-win_amd64.whl.

File metadata

  • Download URL: cuvis_il-3.3.2rc1-py39-none-win_amd64.whl
  • Upload date:
  • Size: 157.4 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.3.2rc1-py39-none-win_amd64.whl
Algorithm Hash digest
SHA256 edb1bfdc9b6150143e1d8bb8d2e3ce02e88b8920cddb5df7ebb13d0bc5584516
MD5 60adf3d4e79ff5a535be4cf1b1919ca4
BLAKE2b-256 c9b51f5f57491f60a8cefda6441897aae46a4da54f200d9108872cb76b85b35c

See more details on using hashes here.

File details

Details for the file cuvis_il-3.3.2rc1-py39-none-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for cuvis_il-3.3.2rc1-py39-none-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 0db04ea76ce0c4388e146e2e72643b0fd946b67c53fe79e4dea7955615e4cce6
MD5 0a60b7660baf05d36c7ec352cc0bd3b4
BLAKE2b-256 97989f976f72043313f15281204b64fec9f8012b013745b93bdc5fdfc6397db0

See more details on using hashes here.

File details

Details for the file cuvis_il-3.3.2rc1-py39-none-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for cuvis_il-3.3.2rc1-py39-none-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 8c5049e5ce1c1e5bd80d342be27c2f241517396c9973dc0ae40aa457157202c1
MD5 5d46c045a2d04a3e088ed54a90e8f990
BLAKE2b-256 e7c99ed363f32efc76c4b017a027dd332bacfa23bc1185f06ebdbfc72183c294

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