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

Uploaded Python 3.13Windows x86-64

cuvis_il-3.3.2-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.2-py313-none-manylinux_2_31_x86_64.whl (161.1 kB view details)

Uploaded Python 3.13manylinux: glibc 2.31+ x86-64

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

Uploaded Python 3.12Windows x86-64

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

Uploaded Python 3.12manylinux: glibc 2.35+ x86-64

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

Uploaded Python 3.12manylinux: glibc 2.31+ x86-64

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

Uploaded Python 3.11Windows x86-64

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

Uploaded Python 3.11manylinux: glibc 2.35+ x86-64

cuvis_il-3.3.2-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.2-py310-none-win_amd64.whl (157.8 kB view details)

Uploaded Python 3.10Windows x86-64

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

Uploaded Python 3.10manylinux: glibc 2.35+ x86-64

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

Uploaded Python 3.10manylinux: glibc 2.31+ x86-64

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

Uploaded Python 3.9Windows x86-64

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

Uploaded Python 3.9manylinux: glibc 2.35+ x86-64

cuvis_il-3.3.2-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.2-py313-none-win_amd64.whl.

File metadata

  • Download URL: cuvis_il-3.3.2-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.2-py313-none-win_amd64.whl
Algorithm Hash digest
SHA256 2c9034edb1f5d682a103979d7216b565f8b0e2b76cb4eafddc33e3644eb7c21d
MD5 76babeff414154d91aceb517ee12959a
BLAKE2b-256 9afc1b433c744e2529b9d024a101e69755e9f695f6afdfa1e12436868595b446

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cuvis_il-3.3.2-py313-none-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 b59db41999012eed6681b27932ec7e6b3acca181b43f478471e8fa9e26791f6c
MD5 ee599355b94955d4e8903f2783af7ec2
BLAKE2b-256 ecab9d9bc0e7db89d62a2383ef2d7b9e7d6fb44e0e7aeefa5def5a8dda542409

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cuvis_il-3.3.2-py313-none-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 20c9db4c479a87cd3fdfd60b0fc2df4e8bfd2417936e3d552ef5d28f65cb4b45
MD5 3366c4fd2e0b834331f68efe86864f0f
BLAKE2b-256 8935fa4989ef24a54a15bf43be242a9f21bdeec965827824e1b0c6a6492ca6f1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cuvis_il-3.3.2-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.2-py312-none-win_amd64.whl
Algorithm Hash digest
SHA256 6228023648c15118c72df54c5037f4387383bb59ec304b531de6d16e1c5a2e0b
MD5 ce35adb2dc6c7672fe10e871942f070f
BLAKE2b-256 b1ce18ba099122db6906006b477be8bfccdc20f1e9a2050a293ec842d53df661

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cuvis_il-3.3.2-py312-none-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 98651c6896b5d69892f5c5d1ec728fc725bb8068ee010f1add309c87a5fc8047
MD5 accf6586d567a57cb478c2afa934178a
BLAKE2b-256 0edf8530951182ca4d8fb2495e4352f87fe74b3a8a3864964a6061f1895d90cf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cuvis_il-3.3.2-py312-none-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 0658ed704617d96eb40da9713ff68494f4aafa4e6e04bb2894f3f8ed4cac9a65
MD5 b0c171717e02c2b1b9b781ce3d91281a
BLAKE2b-256 736ceabeb0106802babb7994f047ddbc51c12bd449a6e42afc2f2fa38ed9f0d1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cuvis_il-3.3.2-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.2-py311-none-win_amd64.whl
Algorithm Hash digest
SHA256 9e936f861eeb8ea353903e77bec6920740fc480f91034284ebf0815a023a317a
MD5 86d93de4db8144df1733f4bdffcc6d7e
BLAKE2b-256 49f5f24fb5f65706c7b9b039be5b462d63dfb2d9af437f1f80dc4530f56bdf30

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cuvis_il-3.3.2-py311-none-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 4cbfeb70696731df9dfa38fa395982ad71a9f298818175e0ba752d4de330f8ca
MD5 4c9e9c62b072c5f6a5760025e1d89650
BLAKE2b-256 3baf78e5becf6ebcfc11809e6cf3d0246f1f9a6f62b9b87231d99df47ac03717

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cuvis_il-3.3.2-py311-none-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 9e77c0d5c5fc5e1fab8f5a4275c1f3471e1d22b478ccddac2d4762127bf6446e
MD5 a7cc2d6054dda8949e11e96e541c139a
BLAKE2b-256 945f5c0f4375efac0f1c62f92002a54a05a9c3bdf1270ccdb48ccdd8de951511

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cuvis_il-3.3.2-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.2-py310-none-win_amd64.whl
Algorithm Hash digest
SHA256 869b22ad6b15b27dce7e1af61f198dd9f5409b2ce537f2a2091f4199dba37b22
MD5 689ee9a1367f2814a0b437e3dc17f274
BLAKE2b-256 dedaf95053f966e2bba4aea5471bf82e3ed41e15978d5c3b4c6e79b5bdbca9fa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cuvis_il-3.3.2-py310-none-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 ebc76299ee7c043ec1cfe6cd1ce6d1d7b82a4875c3daca6a0cd8e99935a4f0c3
MD5 a0c34a1438fb98175d2fe6e2958e6f23
BLAKE2b-256 28255176d11a03aa99f388190079e6d451b369747d74d70827e993257b615daa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cuvis_il-3.3.2-py310-none-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 51db61b103243be689a9b8a31ecac5151297002b33a09847de97476b39d264fc
MD5 a1532aacaf8446f9e1080c09384d21b9
BLAKE2b-256 c82572d844f91ae3366c962e1728d71de6d3c647bdfd20f9521529ae3fd9835c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cuvis_il-3.3.2-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.2-py39-none-win_amd64.whl
Algorithm Hash digest
SHA256 dfe965e861af87114cbeb239676f6cf70bf4e7a21e47cc9cf6243f09f293388f
MD5 1bcb8fd364adeb56975766f0034fe2a2
BLAKE2b-256 1553cd64274d30e2860bc3d4f2e62eb6ca303d44e378e720f85de2664f70760b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cuvis_il-3.3.2-py39-none-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 b3305824bdc8b39829818295ae37e1007203b7ead43ed4259b860e366e0ccd0b
MD5 4ea43994706d55f831a6c731c840b75b
BLAKE2b-256 6945eef3925d607cc028828ba0446e185f873c9594e8df828644b8c2e62d480a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cuvis_il-3.3.2-py39-none-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 248f24a3997f4f0bca309ba46940a29ce8a9e40cd339d9817324f2ad72b6d048
MD5 623f507850ae8435705e4c2c8235368c
BLAKE2b-256 27d2fb3cd8cd8a9bf396d7d2c1d9d1500799f339d5f06fc96a1a27374d77b420

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