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) and 1.26 (Python 3.12 and 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.1-py313-none-win_amd64.whl (158.6 kB view details)

Uploaded Python 3.13Windows x86-64

cuvis_il-3.3.1-py313-none-manylinux_2_35_x86_64.whl (80.5 MB view details)

Uploaded Python 3.13manylinux: glibc 2.35+ x86-64

cuvis_il-3.3.1-py313-none-manylinux_2_31_x86_64.whl (83.9 MB view details)

Uploaded Python 3.13manylinux: glibc 2.31+ x86-64

cuvis_il-3.3.1-py312-none-win_amd64.whl (158.4 kB view details)

Uploaded Python 3.12Windows x86-64

cuvis_il-3.3.1-py312-none-manylinux_2_35_x86_64.whl (80.5 MB view details)

Uploaded Python 3.12manylinux: glibc 2.35+ x86-64

cuvis_il-3.3.1-py312-none-manylinux_2_31_x86_64.whl (83.9 MB view details)

Uploaded Python 3.12manylinux: glibc 2.31+ x86-64

cuvis_il-3.3.1-py311-none-win_amd64.whl (157.7 kB view details)

Uploaded Python 3.11Windows x86-64

cuvis_il-3.3.1-py311-none-manylinux_2_35_x86_64.whl (80.5 MB view details)

Uploaded Python 3.11manylinux: glibc 2.35+ x86-64

cuvis_il-3.3.1-py311-none-manylinux_2_31_x86_64.whl (83.9 MB view details)

Uploaded Python 3.11manylinux: glibc 2.31+ x86-64

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

Uploaded Python 3.10Windows x86-64

cuvis_il-3.3.1-py310-none-manylinux_2_35_x86_64.whl (80.5 MB view details)

Uploaded Python 3.10manylinux: glibc 2.35+ x86-64

cuvis_il-3.3.1-py310-none-manylinux_2_31_x86_64.whl (83.9 MB view details)

Uploaded Python 3.10manylinux: glibc 2.31+ x86-64

cuvis_il-3.3.1-py39-none-win_amd64.whl (157.3 kB view details)

Uploaded Python 3.9Windows x86-64

cuvis_il-3.3.1-py39-none-manylinux_2_35_x86_64.whl (80.5 MB view details)

Uploaded Python 3.9manylinux: glibc 2.35+ x86-64

cuvis_il-3.3.1-py39-none-manylinux_2_31_x86_64.whl (83.9 MB view details)

Uploaded Python 3.9manylinux: glibc 2.31+ x86-64

File details

Details for the file cuvis_il-3.3.1-py313-none-win_amd64.whl.

File metadata

  • Download URL: cuvis_il-3.3.1-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.1-py313-none-win_amd64.whl
Algorithm Hash digest
SHA256 e14e0e4e80b0ff401ecdf4606533de3c20e45b70b67b37e829d05a97749a950a
MD5 1ec4a8b8c4296bed38fe129af7816844
BLAKE2b-256 68162250a981e8bf7e52d2a27ec1cb8ff061b08279cbef5e556613ab8c717cc9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cuvis_il-3.3.1-py313-none-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 a1d8f54dfbbdb352431644a4632230f4305d3cfbeb814f3e695732ef2f0e9fc4
MD5 af3ea5cc89a7848e89b21f219bd91fda
BLAKE2b-256 a640fa719c0fe9ec822e8729ab78b68be8b9d762c765a19bba00bbcbd3acbf7a

See more details on using hashes here.

File details

Details for the file cuvis_il-3.3.1-py313-none-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for cuvis_il-3.3.1-py313-none-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 6516bccde1ca173422015a15ceec4fe2a4d257491f92b79437cb6dfe8ec2a35e
MD5 7e259469b3d5e2e508cf764a74a7114c
BLAKE2b-256 f3a460a9d3394014cfb5bc83716075c8362651f9563f96f45e2f4f51952ad41d

See more details on using hashes here.

File details

Details for the file cuvis_il-3.3.1-py312-none-win_amd64.whl.

File metadata

  • Download URL: cuvis_il-3.3.1-py312-none-win_amd64.whl
  • Upload date:
  • Size: 158.4 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.1-py312-none-win_amd64.whl
Algorithm Hash digest
SHA256 9ab9cd6e5734bd138a2c71e93da2e61e084b75803ea8688d08ffe9ca65292d52
MD5 5714fb81a6a133de5ffc6e1fac7d43f9
BLAKE2b-256 8ebd1b81d68831618ed078091238e7605dba79dfa8afa17c2e6a91e795c75035

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cuvis_il-3.3.1-py312-none-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 474de1d2a02915a713b019f6f495921d53ff8adb04e06e24adcdbc0d5c1a9111
MD5 a141beed22d51f95935fc2be6948af15
BLAKE2b-256 8b06064fc7268789c03c4fe3777c5ccd601efab480083aa5e3bd692410666bc9

See more details on using hashes here.

File details

Details for the file cuvis_il-3.3.1-py312-none-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for cuvis_il-3.3.1-py312-none-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 49537a80264bbb4dcc80cb7118d64aaea598001d7ab633cb4f1820bf1a7c540e
MD5 b5bbb079310cbad5a9d988f41a37765f
BLAKE2b-256 1dc6a784c0925d957477ea9a28403ad9fdee4ffddf7134fa0ea35a31bee211b7

See more details on using hashes here.

File details

Details for the file cuvis_il-3.3.1-py311-none-win_amd64.whl.

File metadata

  • Download URL: cuvis_il-3.3.1-py311-none-win_amd64.whl
  • Upload date:
  • Size: 157.7 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.1-py311-none-win_amd64.whl
Algorithm Hash digest
SHA256 eb12471ffb99032f2d0b248faf0815353fe951bd33ecc9439a474dd45124dd06
MD5 cbb53ad78c8fb7f7bf2b631dc50e87b0
BLAKE2b-256 cb5aee5d19db63937b2d289e3ec5b496f8ddd9cd93a72e0ab52ad086fe4b1671

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cuvis_il-3.3.1-py311-none-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 4deb81c8d126c5c7baa4f83f1e472b0bc5d2808ac9e6075e478d9ca2e90b8cc1
MD5 2d09818b70b0d1d2901597330df66198
BLAKE2b-256 f5445377330b33d09ec971b115229a86832c41001112668ba6f583a945ad8b0e

See more details on using hashes here.

File details

Details for the file cuvis_il-3.3.1-py311-none-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for cuvis_il-3.3.1-py311-none-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 cc5174afb4a268b26ac194f051a2c9d4005a78dd5f086ba5c3182b822a9ef812
MD5 b0d3cb6585896c1fcc91d1c5b02f6204
BLAKE2b-256 cad1f0ec51ebe47229094617c5d7403ef9f110548b7c44ed17c00734594a7ea6

See more details on using hashes here.

File details

Details for the file cuvis_il-3.3.1-py310-none-win_amd64.whl.

File metadata

  • Download URL: cuvis_il-3.3.1-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.1-py310-none-win_amd64.whl
Algorithm Hash digest
SHA256 62afed6440bedc0376c3f9d523a01668d8719afdf3775468fb19bca483cb9a37
MD5 3fcd4f290376140c59927cbd40e59ce8
BLAKE2b-256 39196661dd4f9961240799aaa9efbe2e6878bad6883ee8220bda9895c48dbeea

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cuvis_il-3.3.1-py310-none-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 d854c993a512e23a98e9fd430ee5c479050629c0b6e932f6238ecbaa96ece765
MD5 4132c34dad34b53000368f2ace68ef2b
BLAKE2b-256 0fde51b926d01ff313b794388526867fffb6b5649e12679912fb78e7c0ec635d

See more details on using hashes here.

File details

Details for the file cuvis_il-3.3.1-py310-none-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for cuvis_il-3.3.1-py310-none-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 0011e8168f2e417877874ad9c746116da1a330c57d0b7816fd1cf59be645f772
MD5 63c1616bb346e909c93d9d4c31175b61
BLAKE2b-256 4097072051968e6740557b0a3f57714afe8f5d33813aae14ac01cfd24f1a0f0e

See more details on using hashes here.

File details

Details for the file cuvis_il-3.3.1-py39-none-win_amd64.whl.

File metadata

  • Download URL: cuvis_il-3.3.1-py39-none-win_amd64.whl
  • Upload date:
  • Size: 157.3 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.1-py39-none-win_amd64.whl
Algorithm Hash digest
SHA256 64692152ca6208d6de5ee8736d585105b53047daac1915bb32188ae1ebf6a954
MD5 aca052641cdbf126717fb4a9d6865fdb
BLAKE2b-256 caf3a655e951630753291b172351ad5bdc78a7305cba2424746ab8df17f528e8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cuvis_il-3.3.1-py39-none-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 b7372a293c6e9b1c745dc43256502fb3ef857da55031766ef6f8d79219ce66e1
MD5 6c0699967d2eee5009bc313f4c3b212b
BLAKE2b-256 eeb80643f44bb75bf1985257588d53b65b1f1414808847f4e12064f7d8627f91

See more details on using hashes here.

File details

Details for the file cuvis_il-3.3.1-py39-none-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for cuvis_il-3.3.1-py39-none-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 9e35f3895faf57290411ce0ac0c959e6fc9aad38ea20ba925189071b4ef2e51b
MD5 af465dbe315716d5f175bfa9f9b6262c
BLAKE2b-256 6c5b06bf70e698c8814d1df3af98c78224d51747a131370ac7f59e8657df75ac

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