The project is still maturing. We will make occasional breaking changes and add missing features on our way to v1.
cuvis.ai is a software toolkit designed to facilitate the development of artificial intelligence (AI) and machine learning applications for hyperspectral measurements.
- Website: https://www.cubert-hyperspectral.com/
- Source code: https://github.com/cubert-hyperspectral/
- Support: http://support.cubert-hyperspectral.com/
This toolkit enables the creation of a graph from a set of different preexisting supervised and unsupervised nodes. Furthermore, it provides data preprocessing and output postprocessing, thus offering a comprehensive package for the development of AI capabilities for hyperspectral images.
This repository is aimed at companies, universities and private enthusiasts alike. Its objective is to provide a foundation for the development of cutting-edge hyperspectral AI applications.
If you want to directly work with cubert session files (.cu3s), you need to install cuvis C SDK from here.
Local development now relies on uv for Python and dependency management.
If uv is not already available on your system you can install it with:
curl -LsSf https://astral.sh/uv/install.sh | shCreate or refresh a development environment at the repository root with:
uv syncThis installs the runtime dependencies declared in pyproject.toml. uv automatically provisions the Python version declared in the project metadata, so no manual interpreter management is required.
When you need the reproducible development toolchain (JupyterLab, TensorBoard, etc.) from the lock file, run:
uv sync --locked --extra devUse uv run to execute project tooling without manually activating virtual environments, for example:
uv run pytestCollect coverage details (the dev extra installs pytest-cov) with:
uv run pytest --cov=cuvis_ai --cov-report=term-missingRuff handles both formatting and linting. Format sources and check style with:
uv run ruff format .
uv run ruff check .The configuration enforces import ordering, newline hygiene, modern string formatting, safe exception chaining, and practical return type annotations while avoiding noisy Any policing.
Validate packaging metadata and build artifacts before publishing:
uv buildDetect lingering CamelCase module filenames with:
uv run python scripts/check_module_case.pyTo build the documentation, add the docs extra:
uv sync --locked --extra docs
uv run sphinx-build -M html docs docs/_buildCombine extras as needed (e.g. uv sync --locked --extra dev --extra docs). Whenever the pyproject.toml or uv.lock changes, rerun uv sync --locked with the extras you need to stay up to date.
If you wish to use cuvis.ai within another project, from within your project environment, run
pip install cuvis-ai
or add cuvis-ai to your project requirements.txt or setup.py.
See CHANGELOG.md for the consolidated refactor summary and upgrade guidance.
We provide an additional example repository here, covering some basic applications.
Further, we provide a set of example measurements to explore here. These measurements are also used by the examples mentioned above.
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.
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.
