Skip to main content

SatVision

docs-build docs-deploy docs-deploy-main pypi-publish static-checks

An opinionated framework for deploying computer vision models on remote sensing imagery.

🚀 Getting Started

The framework supports both local Python inference and scalable deployment via NVIDIA Triton Inference Server.

1. 💻 Local Inference

Best for development and direct integration into Python applications.

Installation:

pip install SatVision
# For TensorRT support (requires NVIDIA GPU and drivers):
pip install "SatVision[tensorrt-cu12]"

Usage Example:

import satvis
from pathlib import Path

# Initialize model (supports 'torch' or 'tensorrt' backends)
# Note: 'tensorrt' backend requires the optional dependency installed above.
model = satvis.get_inference_model(
    model_name="torchvision::resnet50", 
    # override_args={"backend_type": "tensorrt"} # Uncomment to use TensorRT
)

image_path = Path("path/to/your/image.jpg") # Replace with your image path

predictions = model.predict(
    image=image_path, 
    apply_transform=True
)

best_prediction = max(predictions.items(), key=lambda item: item[1])

print(f"Best prediction: {best_prediction}")

2. 🏗️ Server Deployment

Deploy models using NVIDIA Triton Inference Server for high-performance serving.

Setup:

  1. Clone the repository:

    git clone https://github.com/liopeer/SatVis.git
    cd SatVis
    
  2. Install just (Command Runner): Follow the instructions at Just Docs to install just for running predefined commands.

  3. Install Dependencies: This will install uv (package manager) and project dependencies.

    just install-uv
    just install-dev
    source .venv/bin/activate
    

    This installs tensorrt==10.9.0.34. This version is compatible with Nvidia Triton Server nvcr.io/nvidia/tritonserver:25.03-py3 and driver >=570.

  4. Generate Models: Create the optimized ONNX/TensorRT models for Triton Server.

    python server/generate_models.py
    
  5. Launch Triton Server: Requirements: NVIDIA Driver >= 570, Docker with CUDA Toolkit.

    docker compose -f server/docker-compose.yml up -d
    
  6. Run Inference Client: Send an inference request to the running server.

    uv run scripts/predict_resnet_http.py
    

🗺️ Roadmap

Q4 2025

  • Core PyTorch Framework with Inference and ONNX Export:
    • Classification
    • Image Embeddings
    • Language Embeddings
  • TensorRT Export
    • FP32/FP16 export
    • verification
  • Model Serving
    • Nvidia Triton server with kserver API
    • Model Zoo for classification and embeddings
  • Documentation of REST API
  • Basic CI/CD
    • Inference server to container registry
    • Unit tests with pytest and coverage

Q1 2026

  • Model Training
    • Panoptic Segmentation
    • CLIP-style training for image and language embeddings
  • Multi-Spectral / Hyperspectral support
    • I/O for various formats (GeoTIFF, HDF5, NetCDF)
    • Data Augmentation for multi-spectral data
    • Models
  • Documentation for Python API

Q2 2026

  • Model Quantization
    • Int8 PTQ (Post Training Quantization) with calibration

Small Projects

  • PostGIS sampler for PyTorch DataLoader

👤 Maintainers

Metadata

Release files for SatVision 0.0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for SatVision 0.0.3
File Size Uploaded
satvision-0.0.3.tar.gz 292.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for SatVision 0.0.3
File Interpreter ABI Platform
satvision-0.0.3-py3-none-any.whl Python 3 none any Details

Total release size: 369.6 kB

Release files / satvision-0.0.3.tar.gz

Download URL satvision-0.0.3.tar.gz
Size 292.4 kB
Tags Source
SHA-256 checksum
How to use checksums
48acf1dabfa1f954540e7c3a667c7592ca99b9871a2d41bf4137bfd359327540
BLAKE2b-256 checksum
How to use checksums
15ad560fa6c1a9131a313918bd0a2074fd6461449d58f2d54be053dab373f4f9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.10.11 {"installer":{"name":"uv","version":"0.10.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"20.04","id":"focal","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / satvision-0.0.3-py3-none-any.whl

Download URL satvision-0.0.3-py3-none-any.whl
Size 77.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cb0f20d92cd61d5625e8c7451520f848b59c97616a27fc8b25a06ca5dab0a405
BLAKE2b-256 checksum
How to use checksums
9da3fe17ff4fece546e14d63c5b8911873a3d6cbb57fda0024afa96a96a92bc2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.10.11 {"installer":{"name":"uv","version":"0.10.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"20.04","id":"focal","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

This release

0.0.3 This release

2 release files

0.0.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page