This release is a pre-release and may not be stable for production use.
drc-vantage
Thin HTTP client for the Vantage platform. Talks only to the Next.js API (VANTAGE_API_URL) with a developer account API key.
Install
pip install drc-vantage
# or
uv add drc-vantage
Configuration
| Variable | Description | Example |
|---|---|---|
VANTAGE_API_URL |
Next.js API base (includes /api) |
http://localhost:3000/api |
VANTAGE_API_KEY |
Developer account API key | vantage_… |
Quick start (100 % Client)
from vantage import Client
client = Client()
# Teams: read + create on the same namespace
team = client.teams.create(name="Sales", description="Revenue ops")
record = client.teams.find_by_name("Sales")
# Users: resolve profile or get a handle for actions
guest = client.users.resolve("guest@example.com") # .id, .email, .name
guest_handle = client.users.for_ref("guest@example.com")
user = client.users.create(
first_name="Ada",
last_name="Lovelace",
email="ada@example.com",
password="secure-password",
)
# KPI → chain governance on the returned handle
my_kpi = client.kpis.create(
name="Monthly revenue",
dataset_id="…",
definition_type="MANUAL",
manual_config={"valueField": "amount", "aggregation": "SUM"},
)
my_kpi.assign_to_team("analytics")
# Ingestion (flat — no client.ingestion.*)
client.storage_systems.create(
slug="wh-pg",
name="Warehouse PostgreSQL",
kind="POSTGRESQL",
credentials={
"host": "db.internal",
"user": "vantage",
"password": "...",
"database": "analytics",
},
)
category = client.data_source_categories.create(
slug="saas", name="SaaS", color="#3366FF"
)
client.data_sources.create(slug="hubspot", name="HubSpot", category=category)
dataset = client.datasets.create(
location={"schema": "marts", "table": "nps"},
name="NPS",
type="TABLE",
)
dataset.analyze_and_check_alerts()
# Dashboard → create then chain governance on the returned handle
dashboard = client.dashboards.create(
title="Sales metrics",
icon="layout-dashboard",
embed_url="https://dashboards.example.com/sales/metrics",
)
dashboard.assign_to_team("Sales")
dashboard.assign_owner("nathan.boulogne@gmail.com")
dashboard.link_datasets(["NPS"])
dashboard.assign_editors(["editor@example.com"])
Public exports
Client, catalogue exceptions (NotFoundError, AmbiguousLookupError), Page, orchestration helpers.
Advanced typing: from vantage.handles import User, Kpi, Dataset (not exported from top-level vantage).
This package ships py.typed — use Pylance basic or stricter for parameter hints on client.*.create / upsert.
Create / update / upsert payloads (storage systems, datasets, data sources, collections, KPIs, dashboards): see docs/register.md. That page maps SDK calls to the FastAPI Pydantic models and Next.js Zod schemas that actually validate the body. Document collections (create + ingest() / RAG): docs/document-collections.md.
Client namespaces
| Property | Read | Write |
|---|---|---|
client.datasets |
list, get, find_by_name | create, upsert, update, delete, for_id |
client.kpis |
list, get, find_by_name | create, upsert, update, delete, for_id |
client.figures |
catalogue | create, upsert, update, delete, for_id |
client.dashboards |
browse, get, find_by_title | create, upsert, update, delete, for_id, create_folder |
client.dashboard_folders |
browse, list, get, find_by_id, find_by_name | create, upsert, update, delete, for_id |
client.data_sources |
list, get | create, upsert, update, delete, for_id |
client.data_source_categories |
— | create, upsert, update, delete, for_id |
client.storage_systems |
— | create, upsert, update, delete, for_id |
client.document_collections |
— | create, upsert, update, delete, ingest, for_id |
client.teams |
list, find_by_name, find_by_slug | create, upsert, update, delete, for_id |
client.users |
— | create, upsert, update, resolve, for_ref, for_id |
client.organisations |
— | create, upsert, update, delete, for_id |
client.search |
global search | — |
Orchestration
from vantage import Client, vantage_flow
client = Client()
@vantage_flow(client)
def my_flow():
client.data_sources.create(...)
Release files for drc-vantage 1.7.1rc3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| drc_vantage-1.7.1rc3.tar.gz | 53.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| drc_vantage-1.7.1rc3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 118.7 kB
Release files / drc_vantage-1.7.1rc3.tar.gz
| Download URL | drc_vantage-1.7.1rc3.tar.gz |
|---|---|
| Size | 53.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
080503901267590bb2fb27df35e918e0acc30891e411b4d4899e4c309fa8f13d
|
|
BLAKE2b-256 checksum How to use checksums |
86859334bf366eee3e7f86f442eadb42ed6673e6dc8b0f46628a4c6b594c5103
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / drc_vantage-1.7.1rc3-py3-none-any.whl
| Download URL | drc_vantage-1.7.1rc3-py3-none-any.whl |
|---|---|
| Size | 65.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
02a74dcbaa619cd8794fb0fbb2e89d7c7c1de3adcbd89dcfd1a8ec4c1b9fcfd5
|
|
BLAKE2b-256 checksum How to use checksums |
2b178a03c314ca6cae0549a412bfd55f13e3cb0dbc391dd7e1d740058409c210
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|