Skip to main content

cuvis-ai-schemas

Lightweight schema definitions for the cuvis-ai ecosystem.

PyPI version CI Status codecov License Python

Overview

cuvis-ai-schemas is a centralized, dependency-light package of schema definitions used across the cuvis-ai ecosystem. It enables type-safe communication between services without heavy runtime requirements.

Key points:

  • Minimal deps (pydantic + pyyaml)
  • Full Pydantic validation
  • Optional extras for proto, torch, numpy, lightning, testing

Installation

uv add cuvis-ai-schemas
uv add "cuvis-ai-schemas[proto]"
uv add "cuvis-ai-schemas[full]"

Extras:

  • proto: gRPC and protobuf support
  • torch: PyTorch dtype handling (validation only)
  • numpy: NumPy array support
  • lightning: PyTorch Lightning training configs
  • testing: Hypothesis strategies + round-trip assertions (cuvis_ai_schemas.testing)
  • full: All features
  • dev: Development dependencies

Usage

from cuvis_ai_schemas.pipeline import PipelineConfig, NodeConfig

pipeline = PipelineConfig(
    nodes=[NodeConfig(name="node_1", class_name="my_pkg.DataLoader", hparams={"batch_size": 32})],
    connections=[],
)

pipeline_json = pipeline.to_json()
pipeline = PipelineConfig.from_json(pipeline_json)

Development

uv sync --all-extras --dev
uv run pytest tests/ -v
uv run ruff check cuvis_ai_schemas/ tests/
uv run ruff format cuvis_ai_schemas/ tests/
uv run mypy cuvis_ai_schemas/

Contributing

Contributions are welcome. Please:

  1. Ensure tests pass
  2. Run ruff format and ruff check
  3. Keep type hints and update docs as needed

License

Licensed under the Apache License 2.0. See LICENSE for 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_schemas-0.8.0.tar.gz (248.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_schemas-0.8.0-py3-none-any.whl (76.5 kB view details)

Uploaded Python 3

File details

Details for the file cuvis_ai_schemas-0.8.0.tar.gz.

File metadata

  • Download URL: cuvis_ai_schemas-0.8.0.tar.gz
  • Upload date:
  • Size: 248.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_schemas-0.8.0.tar.gz
Algorithm Hash digest
SHA256 2d05e696610ddf23ce4e313b5434cd1a43ec5d58c999643d22dbcdb04efac4fc
MD5 f5748d78226cd664d756ccd19d5ec286
BLAKE2b-256 9a82d4ca62c7f288816ca551d62a443a709e9ced031194663f907ce459e2a7f2

See more details on using hashes here.

Provenance

The following attestation bundles were made for cuvis_ai_schemas-0.8.0.tar.gz:

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

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_schemas-0.8.0-py3-none-any.whl.

File metadata

File hashes

Hashes for cuvis_ai_schemas-0.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1a378c4663de79f7b102a101e663296f05f0f40b6305ce369517924b38ff9d4d
MD5 253f782d5b8776652df0620e497582d5
BLAKE2b-256 7027bf85fe21ce9dad1cd4649c611a2c16fa38f0a927b076e75b447d130b1c4c

See more details on using hashes here.

Provenance

The following attestation bundles were made for cuvis_ai_schemas-0.8.0-py3-none-any.whl:

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

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

Release history Release notifications | RSS feed

0.9.0

2 files

This release

0.8.0 This release

2 files

0.7.0

2 files

0.6.0

2 files

0.5.2

2 files

0.5.1

2 files

0.5.0

2 files

0.4.1

2 files

0.4.0

2 files

0.3.0

2 files

0.2.0

2 files

0.1.4

2 files

0.1.3

2 files

0.1.2

2 files

0.1.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page