Skip to main content

Cuvis.AI Core Framework

Project description

Cuvis.AI Core

image

PyPI CI codecov License

Overview

Cuvis.AI is an opensource and extensible framework for building AI powered processing pipelines for hyperspectral video data.

It allows you to process and structure spectral data, train and apply machine learning models, visualize and interpret results, and deploy applications in real time environments.

Pipelines are built from reusable modular nodes and can be extended with custom plugins or external integrations.

Cuvis.AI bridges the gap between hyperspectral hardware and real world applications and enables faster development, testing, and deployment of new solutions.

cuvis-ai-core is the foundational framework underneath Cuvis.AI. While the cuvis-ai repository contains the catalog of domain-specific nodes and pre-built models, cuvis-ai-core provides the essential infrastructure that makes those modular pipelines work:

  • Node System: Base classes for creating processing nodes with typed input/output ports
  • Pipeline Infrastructure: Graph-based pipeline orchestration, execution, and visualization
  • Plugin System: Dynamic node loading from Git repositories or local filesystem paths
  • Serialization & Restoration: Save and restore complete pipeline states and configurations
  • Type Safety: Strongly-typed port system with runtime validation
  • gRPC Services: Remote pipeline management, training, and inference APIs
  • Training Framework: Integration with PyTorch Lightning for model training workflows

This separation allows the core framework to evolve independently while the catalog of domain-specific nodes grows through a plugin architecture.

Installation

Prerequisites

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 following their installation instructions.

Install from PyPI (Recommended)

# Install cuvis-ai-core from PyPI
uv add cuvis-ai-core

PyTorch will be installed automatically with CUDA support if available on your system.

Local development with uv

Create or refresh a development environment at the repository root with:

uv sync --all-extras --dev

This 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.

Enable Git Hooks (Required)

After cloning the repository, enable the git hooks for code quality enforcement:

git config core.hooksPath .githooks

This configures Git to use the version-controlled hooks in .githooks/ which automatically enforce code formatting, linting, and testing standards before commits and pushes. See docs/development/git-hooks.md for details.

Advanced environment setup

When you need the reproducible development toolchain (JupyterLab, TensorBoard, etc.) from the lock file, run:

uv sync --locked --extra dev

Use uv run to execute project tooling without manually activating virtual environments, for example:

uv run pytest

Collect coverage details (the dev extra installs pytest-cov) with:

uv run pytest --cov=cuvis_ai --cov-report=term-missing

Ruff 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 build

To build the documentation, add the docs extra:

uv sync --locked --extra docs

Combine 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cuvis_ai_core-0.6.0.tar.gz (557.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cuvis_ai_core-0.6.0-py3-none-any.whl (147.8 kB view details)

Uploaded Python 3

File details

Details for the file cuvis_ai_core-0.6.0.tar.gz.

File metadata

  • Download URL: cuvis_ai_core-0.6.0.tar.gz
  • Upload date:
  • Size: 557.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for cuvis_ai_core-0.6.0.tar.gz
Algorithm Hash digest
SHA256 6d4fad3ed0a307ce1de483facae432e48a14e87af2e4c7a1b39e8e1d4bb3f36f
MD5 7a7e03fc68958d0379ae3fab05771abf
BLAKE2b-256 f8003d601b98b1b879e2c8aab06795a9ddf1b36e61e21caf8c529e017d3162a0

See more details on using hashes here.

Provenance

The following attestation bundles were made for cuvis_ai_core-0.6.0.tar.gz:

Publisher: pypi-release.yml on cubert-hyperspectral/cuvis-ai-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cuvis_ai_core-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: cuvis_ai_core-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 147.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for cuvis_ai_core-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 aa0e7e4469a79cb42048766c2eae44e5433557e06b05c0b11cbc525d67dccb6a
MD5 241fb3f73626dcc244c8d709345e4294
BLAKE2b-256 cf427577aebd63c17fb04a2c7836efd1ffcee8b634426943ee384f5eb354f3f8

See more details on using hashes here.

Provenance

The following attestation bundles were made for cuvis_ai_core-0.6.0-py3-none-any.whl:

Publisher: pypi-release.yml on cubert-hyperspectral/cuvis-ai-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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