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.0b1-py312-none-win_amd64.whl (155.3 kB view details)

Uploaded Python 3.12 Windows x86-64

cuvis_il-3.3.0b1-py311-none-win_amd64.whl (154.8 kB view details)

Uploaded Python 3.11 Windows x86-64

cuvis_il-3.3.0b1-py310-none-win_amd64.whl (154.7 kB view details)

Uploaded Python 3.10 Windows x86-64

cuvis_il-3.3.0b1-py39-none-win_amd64.whl (154.8 kB view details)

Uploaded Python 3.9 Windows x86-64

File details

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

File metadata

File hashes

Hashes for cuvis_il-3.3.0b1-py312-none-win_amd64.whl
Algorithm Hash digest
SHA256 a1ed3e1e25227a810cdd618973aebab2498d175664873b01eb7336d3bc216803
MD5 d3de327f24ad29d6c81e41db37f50731
BLAKE2b-256 436e1678bc5135246a1e1629101da82742067da35344a702e17357f776d5f74b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cuvis_il-3.3.0b1-py311-none-win_amd64.whl
Algorithm Hash digest
SHA256 da919bc0914dbb75ec8b7e7ff1797e9d5f98c42d6602f5e9cf76d79107fd31c5
MD5 f3b4bbcb80b53f289016983403117510
BLAKE2b-256 2616a089ac223e7e58c41346263b6b3205d36a708509881e351363cbb9513028

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cuvis_il-3.3.0b1-py310-none-win_amd64.whl
Algorithm Hash digest
SHA256 577d9c483e716e907828b92b6404fdc0ddfce2c09154701716769423269d600d
MD5 aa2196ce0bd16ac94edd458dec0b32da
BLAKE2b-256 7bcc3e8a9623209e24b274b594c96b940840b558f43b27aabd9ee857e9960576

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cuvis_il-3.3.0b1-py39-none-win_amd64.whl
Algorithm Hash digest
SHA256 357c9807463bd1654f44fe68dbdc11d99fef50ad70c3ce46eafd671ce858eb66
MD5 2a106e7cc7669c002e622f66456db3f8
BLAKE2b-256 48985cc467d4f048b02ff4c0bbc85fc6ea469dbe80fee1d9af0f0b701267342a

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