Skip to main content

edge-provider-sdk

Status: pre-release scaffolding (v0.1.0 in progress). API surface is frozen per SPEC.md; patches and wrapper not yet implemented.

A single Python client for multiple Latitude-shaped compute providers. Wraps the upstream latitudesh-python-sdk (v3.0.5), removes client-side strict-enum validation for catalog fields (sites/plans/operating systems), and selects a backend provider at construction time.

Modeled on LiteLLM's "1 API, N providers" approach — adapted for stateful bare-metal compute.

Why this exists

  • The upstream SDK ships with (str, Enum) classes for site/plan/OS slugs. Any provider whose catalog differs from Latitude's (a self-hosted adapter, a fork, a regional reseller) gets rejected at the SDK layer before the request reaches the server.
  • We patch those seven enums to be permissive type aliases — any string passes through to the API, which is the only authority on what's actually valid.
  • Strict validation is preserved for provider="latitude" via runtime validation against the original enum values.

Installation

pip install edge-provider-sdk

Quickstart

from edge_provider_sdk import EdgeClient

# Latitude direct (strict enums enforced where upstream enforces them)
client = EdgeClient(provider="latitude", bearer="lt_...")

# Digital Frontier adapter (Latitude-shaped, any URL)
client = EdgeClient(
    provider="digital-frontier",
    base_url="https://df.example.com/api/v1",
    bearer="df_...",
)

# Operations are identical to upstream latitudesh-python-sdk
server = client.servers.create(...)

# Catalog accessor — new in this package
client.catalog.sites()   # list[str]
client.catalog.plans()   # list[str]
client.catalog.os()      # list[str]

See docs/quickstart.md for a full walkthrough.

Upstream version

This release wraps latitudesh-python-sdk==3.0.5. Wrapper versioning is independent of upstream — see SPEC.md §6.

import edge_provider_sdk
edge_provider_sdk.__version__         # "0.1.0"
edge_provider_sdk.upstream_version    # "3.0.5"

Migrating from latitudesh-python-sdk

The only API difference is the constructor. See docs/upgrading-from-latitudesh.md.

Development

The patched SDK lives in src/edge_provider_sdk/_generated/ (gitignored, built from patches/ against the pinned upstream tarball).

# One-time: build the patched _generated/ tree
./scripts/apply-patches.sh

# Standard workflow
uv sync
uv run pytest
uv run ruff check
uv run mypy src

See SPEC.md for the full design document.

License

Apache-2.0 — matches upstream.

Metadata

Release files for edge-provider-sdk 0.1.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 edge-provider-sdk 0.1.1
File Size Uploaded
edge_provider_sdk-0.1.1.tar.gz 24.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for edge-provider-sdk 0.1.1
File Interpreter ABI Platform
edge_provider_sdk-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 365.9 kB

Release files / edge_provider_sdk-0.1.1.tar.gz

Download URL edge_provider_sdk-0.1.1.tar.gz
Size 24.7 kB
Tags Source
SHA-256 checksum
How to use checksums
2be578ae69a6c0524d81f38033e7762031f819155ec0fb1b2f239a8aa54ec64d
BLAKE2b-256 checksum
How to use checksums
415ffe6b3a9c378c4b78a64fe3dd8275cfad76ad793b5f27c8b89b86d0aa0581
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 May 14, 2026.

Transparency log

Release files / edge_provider_sdk-0.1.1-py3-none-any.whl

Download URL edge_provider_sdk-0.1.1-py3-none-any.whl
Size 341.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9cb5026abff6ab3557b14af84803d25cc85c8f073605768df0b0c299a7c2eca7
BLAKE2b-256 checksum
How to use checksums
0cf3d3786143db7353089aa74e8872dc1a499a98cfe3adf64e757a97c8a4f895
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 May 14, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

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