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 and 3.12 for Windows 64-bit.

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

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.

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.

This project will then generate the _cuvis_pyil.pyd and cuvis_il.py files needed for running the Cuvis Python SDK wrapper.

: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).

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

cuvis_il-3.3.0.post1-py312-none-win_amd64.whl (124.1 kB view details)

Uploaded Python 3.12 Windows x86-64

cuvis_il-3.3.0.post1-py311-none-win_amd64.whl (123.5 kB view details)

Uploaded Python 3.11 Windows x86-64

cuvis_il-3.3.0.post1-py310-none-win_amd64.whl (123.1 kB view details)

Uploaded Python 3.10 Windows x86-64

cuvis_il-3.3.0.post1-py39-none-win_amd64.whl (123.4 kB view details)

Uploaded Python 3.9 Windows x86-64

File details

Details for the file cuvis_il-3.3.0.post1-py312-none-win_amd64.whl.

File metadata

File hashes

Hashes for cuvis_il-3.3.0.post1-py312-none-win_amd64.whl
Algorithm Hash digest
SHA256 51dab7ab053d8ad089544b30a45318380fc37266688c2b55b40a3e8949dbeec8
MD5 bcc7f06b2dcf9df7958421a142133d95
BLAKE2b-256 a367915d4de342b28811fdb9fc4bf94c4aa2d314807b9b39e29274a1a7946eb5

See more details on using hashes here.

File details

Details for the file cuvis_il-3.3.0.post1-py311-none-win_amd64.whl.

File metadata

File hashes

Hashes for cuvis_il-3.3.0.post1-py311-none-win_amd64.whl
Algorithm Hash digest
SHA256 8fc850c2d44476ac2847630875f34b369593fbcdae9090bcaa4b33869c5d4ed4
MD5 672ec654f6eb4735543dfe7d0dcc5604
BLAKE2b-256 23f95bb6ef06e6779757d93b8e183b16d46ed25ba9b50d71e1dd80b601f3fdb0

See more details on using hashes here.

File details

Details for the file cuvis_il-3.3.0.post1-py310-none-win_amd64.whl.

File metadata

File hashes

Hashes for cuvis_il-3.3.0.post1-py310-none-win_amd64.whl
Algorithm Hash digest
SHA256 c18183a51833f48fb37a1600b40e91e80f7d207fcfbd4115bb98e91e229747a0
MD5 e2a20a0068262f26b8cc86444fd997a7
BLAKE2b-256 899f9190437cebd7c579fb21b1408da407857ce9a8465cbe84dbdcc138f993f3

See more details on using hashes here.

File details

Details for the file cuvis_il-3.3.0.post1-py39-none-win_amd64.whl.

File metadata

File hashes

Hashes for cuvis_il-3.3.0.post1-py39-none-win_amd64.whl
Algorithm Hash digest
SHA256 7ecdb9be7c5c7c935d716d315e9eda1a396caeaf02019f7b716be179bb07906b
MD5 8254a02f67420e257107a6eac418d92f
BLAKE2b-256 5efcf991db43fbf427f50d964b7c1b20c26df487ffd23a58484f0fd8d8be566c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page