An open-source Vision AI stack for real-world applications
Project description
swatahVision
An open-source Vision AI stack for real-world applications
swatahVision is an open-source Vision AI stack that brings together models, runtimes, post-processing, tracking, and visualization into a clean, reusable Python package.
It’s built to make Vision AI practical: load a model, run inference, get structured outputs, visualize results, and ship pipelines faster — without reinventing glue-code every time.
Part of the VisionAI4Bhārat initiative.
What is swatahVision?
swatahVision provides a unified interface for:
- Inference across multiple runtimes (e.g., ONNX Runtime, OpenVINO)
- Vision tasks
- Object Detection
- Image Classification
- (Extensible for OCR / segmentation / multimodal pipelines)
- Post-processing adapters
- YOLO-style decoders + NMS
- SSD-style decoders
- RetinaNet-style decoders
- Tracking
- Integrated ByteTrack support to assign stable
tracker_idacross frames
- Integrated ByteTrack support to assign stable
- Visualization
- Built-in drawing utilities for boxes, labels, and overlays
- Video processing utilities
- Frame generators and pipeline helpers
Features
- ✅ Unified model wrapper: same API for different backends/runtimes
- ✅ Structured outputs:
Detections: boxes, confidence, class_id, tracker_id (and more)Classification: class_id, confidence, top-k
- ✅ Production-friendly utilities: FPS monitor, video readers/writers, batching-ready patterns
- ✅ Lightweight & composable: designed as a stack, not a monolith
- ✅ Real world examples and analytics
- ✅ **Built-in annotation utilities
- ✅ **Minimal and clean API
Core Components
Model
sv.Model(model, engine, hardware)
Handles model loading and inference execution.
Image API
image = sv.Image.load_from_file(path)
sv.Image.show(image)
Post Processing
sv.Classification.from_mobilenet(...)
sv.Detections.from_ssd(...)
Annotation
- Bounding boxes
- Labels
- Custom colors
- Text positioning
Design Philosophy
- Simplicity
- Lightweight deployment
- Fast prototyping
- Developer-friendly workflows
Install
From source
git clone https://github.com/VisionAI4Bharat/swatahVision.git
cd swatahVision
pip install -e .
Quickstart
Load a model and run inference
import swatahVision as sv
model = sv.Model(
model="path/to/model.onnx",
engine=sv.Engine.ONNX,
hardware=sv.Hardware.CPU
)
outputs = model(image, input_size=(640, 640))
Detection
Convert raw outputs to Detections
import swatahVision as sv
detections = sv.Detections.from_yolo(
outputs,
conf_threshold=0.3,
nms_threshold=0.5,
class_agnostic=False
)
print(len(detections))
print(detections.xyxy[:3])
Filter / slice detections
high_conf = detections[detections.confidence > 0.6]
persons = detections[detections.class_id == 0]
Draw boxes
import cv2
import swatahVision as sv
frame = cv2.imread("image.jpg")
annotated = sv.UI.draw_bboxes(
image=frame.copy(),
detections=detections,
conf=0.3
)
cv2.imwrite("out.jpg", annotated)
License
swatahVision is licensed under the GNU Lesser General Public License v3.0 (LGPL-3.0).
This repository is the community core of swatahVision and is intended to provide an open, reusable Vision AI framework for model loading, inference, post-processing, tracking, visualization, and related utilities.
Commercial and Enterprise Use
Separate commercial offerings are available from swatah.ai / NeuralSense AI Private Limited for organizations that require:
- enterprise-grade deployment tooling
- hardened runtime and advanced exception handling
- industrial or plant-system integrations
- packaged commercial distributions
- OEM / embedded / redistribution rights
- customer-specific extensions
- commercial support and maintenance
Open-source use of this repository remains governed by LGPL-3.0.
Commercial modules, enterprise extensions, and customer-specific deployments are licensed separately and are not part of this repository unless explicitly stated.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file swatahvision-26.3.1.tar.gz.
File metadata
- Download URL: swatahvision-26.3.1.tar.gz
- Upload date:
- Size: 92.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c2f994ce3356e30fcd8400b3a3aba76cc85669a2206386003eef50105fafe493
|
|
| MD5 |
a463ee3b4c1d01f6fc08e824f63cf1ef
|
|
| BLAKE2b-256 |
a1e0e6da3df2749cd963a7daaf38fc53243866842a1cfe8496ce74da78d86a0c
|
File details
Details for the file swatahvision-26.3.1-py3-none-any.whl.
File metadata
- Download URL: swatahvision-26.3.1-py3-none-any.whl
- Upload date:
- Size: 130.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
166fe67b31dc3097e60cc074f22b019076fa39d273ca5b15a5e5ab2a699003d4
|
|
| MD5 |
5d3f20cfa87082291f967fb8092d1b68
|
|
| BLAKE2b-256 |
bdcd55269f3d2de2638c48190e0cd04ec000fb3455bc11caf038318f3d69021e
|