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.5402.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| volant_via_sdk-1.5402.1.tar.gz | 29.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| volant_via_sdk-1.5402.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 60.2 kB
Release files / volant_via_sdk-1.5402.1.tar.gz
| Download URL | volant_via_sdk-1.5402.1.tar.gz |
|---|---|
| Size | 29.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a1cc7309085888f4be1e68d4551073aeef27c52a84bbc217a4e44ec0a44cda64
|
|
BLAKE2b-256 checksum How to use checksums |
d709a1a99ec518857cbf312f179f542d21a05ba8ee825eb2ba5ddbfc560c6d44
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.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 Jul 27, 2026.
Transparency logRelease files / volant_via_sdk-1.5402.1-py3-none-any.whl
| Download URL | volant_via_sdk-1.5402.1-py3-none-any.whl |
|---|---|
| Size | 31.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
479ea79bc36c9f7382e9f0d182eca4e7cff76742b51253fee417b33eeb200676
|
|
BLAKE2b-256 checksum How to use checksums |
d665dc60cf1c8590a840d047d3d0a48592da80ed86f39f92affe89f1f89ef532
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.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 Jul 27, 2026.
Transparency log