Skip to main content

Volant Via SDK

SDK and utilities for the Via API

Installation

Run pip install volant-via-sdk

Basic Usage

import volant_via_sdk

credentials = volant_via_sdk.Credentials(username="username", password="password")
client = volant_via_sdk.Client(credentials=credentials)

chart_georeference = client.cost_datasets.get_chart_georeference("bath")

Further Information

Auth

An authentication token is automatically retrieved when any request is made with the credentials provided when instantiating the client, no manual authentication is required.

Autogenerated Types

Autogenerated types are accessible through the top-level namespace as a convenience, they may not be the most ergonomic to use but provide a typed interface to access the underlying API.

from volant_via_sdk import types

Cost Datasets Examples

From GeoTiff

Creating a Cost Dataset using a DEM. This example will produce a cost field that favours flight in area of low terrain elevation.

import os

import rasterio

from volant_via_sdk import Client, Credentials
from volant_via_sdk.services.cost_datasets import Georeference

# Open a GeoTiff (Stored locally as "example.tif")
# An example tif could be obtained from services such as OpenTopography:
# https://portal.opentopography.org/API/globaldem?demtype=NASADEM&south=51.33&north=51.42&west=-2.45&east=-2.28&outputFormat=GTiff&API_Key=demoapikeyot2022
with rasterio.open("./example.tif") as src:
    example_raster_data = src.read(1)
    src_georeference = Georeference(crs=src.crs, shape=[src.height, src.width], affine_transform=src.transform)

# Setup the client using credentials
client = Client(credentials=Credentials(username=os.environ["USERNAME"], password=os.environ["PASSWORD"]))

# Get the georeference for the desired chart
chart_georeference = client.cost_datasets.get_chart_georeference("bath")

# Reproject the downloaded raster data to fit the chart bounds and projection
reprojected_example_raster = client.cost_datasets.reproject_to_chart(
    src_raster=example_raster_data, src_georeference=src_georeference, chart_georeference=chart_georeference
)

# Cost Datasets cannot contain any negative values!
reprojected_example_raster[reprojected_example_raster < 0] = 0

# Upload the raster as a Cost Dataset
persisted_cost_dataset = client.cost_datasets.create_cost_dataset_from_raster_data(
    raster=reprojected_example_raster, georeference=chart_georeference, name="Example Cost Dataset", chart_id="bath"
)

From Arbitrary Data

Creating a cost dataset from an arbitrary grid of data.

import os

import numpy as np

from volant_via_sdk import Client, Credentials

# Setup the client using credentials
client = Client(credentials=Credentials(username=os.environ["USERNAME"], password=os.environ["PASSWORD"]))

# Get the georeference for the desired chart
chart_georeference = client.cost_datasets.get_chart_georeference("bath")

# Build a grid of data from the chart's shape (no reprojection required as it will already match)
raster_grid = np.zeros(chart_georeference.shape, dtype=np.float32)
# Create a stripe across the north side and left side. Note that Cost Datasets expect a North-Down representation such
# that (0, 0) is the NW corner.
raster_grid[20:30, :] = 1
raster_grid[:, 20:30] = 2

client.cost_datasets.create_cost_dataset_from_raster_data(
    raster=raster_grid, georeference=chart_georeference, name="Example Cost Dataset", chart_id="bath"
)

Release files for volant-via-sdk 1.5789.1

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

Source distribution (sdist)

Source distribution for volant-via-sdk 1.5789.1
File Size Uploaded
volant_via_sdk-1.5789.1.tar.gz 29.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for volant-via-sdk 1.5789.1
File Interpreter ABI Platform
volant_via_sdk-1.5789.1-py3-none-any.whl Python 3 none any Details

Total release size: 60.5 kB

Release files / volant_via_sdk-1.5789.1.tar.gz

Download URL volant_via_sdk-1.5789.1.tar.gz
Size 29.3 kB
Tags Source
SHA-256 checksum
How to use checksums
02c722f12a990f096e87a06e3423831f082f43c478242f36acfd02ad2bf8704d
BLAKE2b-256 checksum
How to use checksums
ef2a5aa7ca9b503750e729c05a3ea3b05837e1fdd575cf0bc783c6ce7347fd43
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 17, 2026.

Transparency log

Release files / volant_via_sdk-1.5789.1-py3-none-any.whl

Download URL volant_via_sdk-1.5789.1-py3-none-any.whl
Size 31.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6cbd712728dc41d3aa348af31f2508624cee56bef6f00b81281b115d51dd1286
BLAKE2b-256 checksum
How to use checksums
7a4d8a28a42e4612ddf7af2a7916f155158fcd64bb21df9405d5bad1ed16d2c0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 17, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.5789.1 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