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.2rc4-py313-none-win_amd64.whl (158.6 kB view details)

Uploaded Python 3.13Windows x86-64

cuvis_il-3.3.2rc4-py313-none-manylinux_2_35_x86_64.whl (163.4 kB view details)

Uploaded Python 3.13manylinux: glibc 2.35+ x86-64

cuvis_il-3.3.2rc4-py313-none-manylinux_2_31_x86_64.whl (161.2 kB view details)

Uploaded Python 3.13manylinux: glibc 2.31+ x86-64

cuvis_il-3.3.2rc4-py312-none-win_amd64.whl (158.6 kB view details)

Uploaded Python 3.12Windows x86-64

cuvis_il-3.3.2rc4-py312-none-manylinux_2_35_x86_64.whl (163.1 kB view details)

Uploaded Python 3.12manylinux: glibc 2.35+ x86-64

cuvis_il-3.3.2rc4-py312-none-manylinux_2_31_x86_64.whl (161.0 kB view details)

Uploaded Python 3.12manylinux: glibc 2.31+ x86-64

cuvis_il-3.3.2rc4-py311-none-win_amd64.whl (158.0 kB view details)

Uploaded Python 3.11Windows x86-64

cuvis_il-3.3.2rc4-py311-none-manylinux_2_35_x86_64.whl (162.3 kB view details)

Uploaded Python 3.11manylinux: glibc 2.35+ x86-64

cuvis_il-3.3.2rc4-py311-none-manylinux_2_31_x86_64.whl (161.0 kB view details)

Uploaded Python 3.11manylinux: glibc 2.31+ x86-64

cuvis_il-3.3.2rc4-py310-none-win_amd64.whl (157.8 kB view details)

Uploaded Python 3.10Windows x86-64

cuvis_il-3.3.2rc4-py310-none-manylinux_2_35_x86_64.whl (162.3 kB view details)

Uploaded Python 3.10manylinux: glibc 2.35+ x86-64

cuvis_il-3.3.2rc4-py310-none-manylinux_2_31_x86_64.whl (160.9 kB view details)

Uploaded Python 3.10manylinux: glibc 2.31+ x86-64

cuvis_il-3.3.2rc4-py39-none-win_amd64.whl (157.6 kB view details)

Uploaded Python 3.9Windows x86-64

cuvis_il-3.3.2rc4-py39-none-manylinux_2_35_x86_64.whl (162.4 kB view details)

Uploaded Python 3.9manylinux: glibc 2.35+ x86-64

cuvis_il-3.3.2rc4-py39-none-manylinux_2_31_x86_64.whl (160.8 kB view details)

Uploaded Python 3.9manylinux: glibc 2.31+ x86-64

File details

Details for the file cuvis_il-3.3.2rc4-py313-none-win_amd64.whl.

File metadata

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

File hashes

Hashes for cuvis_il-3.3.2rc4-py313-none-win_amd64.whl
Algorithm Hash digest
SHA256 17b7eabdf9488186466a8814858605f738e34f206de68e168f312d25498748d2
MD5 8df6d52838a75e9872a9975644182c18
BLAKE2b-256 982b611fb037e5c7683a9e69a01636f4934143ad6fead1657e9b3f45af862f5a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cuvis_il-3.3.2rc4-py313-none-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 5651dceb1ea360f5e2cae9fe3fd50ae84256052a38c8fd33c8cbab1cc08bea38
MD5 fff74a708b026f512f1e1c2ffb658818
BLAKE2b-256 9a0e4cdac0799a5bd4cd0f153b777ad7aed6b266b531f70b02c10a6876a31d8b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cuvis_il-3.3.2rc4-py313-none-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 d1420d1abda552c0db495051478aa9988a9237b167d7411c22da92382b93ad22
MD5 23d3edd3236a1eb5eab71e1e419c63a2
BLAKE2b-256 2248930c0ca5113275097398c523c265f3c06197bde61ecf8a7c899131aa5c78

See more details on using hashes here.

File details

Details for the file cuvis_il-3.3.2rc4-py312-none-win_amd64.whl.

File metadata

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

File hashes

Hashes for cuvis_il-3.3.2rc4-py312-none-win_amd64.whl
Algorithm Hash digest
SHA256 55686f19dbfa2c6bf31ce2b35e262017609efc7ad532833d471d9cb3c43743e3
MD5 83ceda17c3c46b1ad3ec9818a77193e6
BLAKE2b-256 b0cb97e4f73e8ae134fcdda181844634f81f89ab363e5ce1250cd8623ab907c5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cuvis_il-3.3.2rc4-py312-none-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 cfceab52661d2e8db745f8ea3d97395c0bb03de9f68212cbb4c561dae121af4c
MD5 fdf2cb2804371c964572fd9bcf6acd61
BLAKE2b-256 15363c56274e548c7ba25a9955ecb48ddfd77e58454408ef9f312ee8909f4bee

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cuvis_il-3.3.2rc4-py312-none-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 9fdd25c8700bc15dd4e97a00dae2abf35c029a842712bd64155ce02f96c6fe35
MD5 cfe2858be114ab5f714ea677b66ff91e
BLAKE2b-256 3a27b142fa972213647fa3482267d4858e049f554dc357da14f4353916afa8f5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cuvis_il-3.3.2rc4-py311-none-win_amd64.whl
  • Upload date:
  • Size: 158.0 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.2rc4-py311-none-win_amd64.whl
Algorithm Hash digest
SHA256 5f1b93765c4cacc8277d7601b330ceadb0c7ba46003ddb0f56be5a09368c3c6a
MD5 5f88f90f5fe4accae0c8fed84c872970
BLAKE2b-256 c3dff81173ba96604f722e8b38cd626c4fd71dccd2d6645e037fcd5bc2b2f53b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cuvis_il-3.3.2rc4-py311-none-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 396f1da064a88d0d8596d97db19cd429fd88e56f9ba355356ffb453320e03854
MD5 abee839a7f357a8642a916d4b743d7b3
BLAKE2b-256 7ee766d96dcbaa4439f214d19078dacd8e938e2b6f9b73b1a7eb377404c4d7aa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cuvis_il-3.3.2rc4-py311-none-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 e8892a39cbb29e02278b170309f641de0d6e92026eb478776429a77167695fc9
MD5 b7dadfcd8bbee3d1d52f4462de488414
BLAKE2b-256 a09257bfa20023408dc1c6ec87b495c6b40429ce4760bf49917e9d3ff31539d4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cuvis_il-3.3.2rc4-py310-none-win_amd64.whl
  • Upload date:
  • Size: 157.8 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.2rc4-py310-none-win_amd64.whl
Algorithm Hash digest
SHA256 e2f97d4e353972ab4d352b843229c38b685bd8cebd4e294298697b4f82654397
MD5 999288cf2c036bfb557f01180fd6daa0
BLAKE2b-256 b36cd50a54adfc831dcc410b37d12eca72ec5be936b25b285e22c863b09fc788

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cuvis_il-3.3.2rc4-py310-none-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 60d5d1d51f88f7daf8ba452227a037044792a5e34757208289742d2f32c1fb4b
MD5 c19cf51d35900d9db60f90d394717a3c
BLAKE2b-256 437a452ff63cedcb0520299adc7fca1fe45b42361295ce2cb33d81403cbc6dca

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cuvis_il-3.3.2rc4-py310-none-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 8bdbb42db0c2843871226e13300c0000a7f83fa0b659d030868d8ec067b95e10
MD5 94c2a6625513822aa7d75c39621819f3
BLAKE2b-256 cdf6a15d0d450398622c098b76bfb9214b67468728a754d667d5ed8f165a2e2d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cuvis_il-3.3.2rc4-py39-none-win_amd64.whl
  • Upload date:
  • Size: 157.6 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.2rc4-py39-none-win_amd64.whl
Algorithm Hash digest
SHA256 8c6e96aed50451a677a523d00de7afaf4570e2d21ce5ce97c9e53c402d6983b4
MD5 cf360c7664ff47c4a680e2fcf0221889
BLAKE2b-256 d8bc993e1f59384da4b92dbd631c2bc0883e27cf33acdccdb4495bd3baa5a08e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cuvis_il-3.3.2rc4-py39-none-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 e3e286e538a36e0035cf1ce7c5fecfd5e3b0b41db9e05ccfcb2b8fd331ad1601
MD5 9ee734dd73f882544ba40e94bc08290f
BLAKE2b-256 9a6aa8a9d75b06185af9d870846b43881d60154f6a9885501deff3df0aec930b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cuvis_il-3.3.2rc4-py39-none-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 462233208a7ef344becf4361a5ce1a5199e67c56880451d2690b4e5650e14363
MD5 d41031f582facb5cca3893e6143d54a7
BLAKE2b-256 ba89c5f690a310ed8b51ac9932380fd70fc02a453bbd198c8713e5cc37c60176

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