Skip to content

Releases: EZSCALE/virtfusion-api-library

v1.1.0 — Python SDK

20 Mar 05:34

Choose a tag to compare

VirtFusion SDK v1.1.0

Adds the Python SDK to the monorepo, providing full API parity with the existing PHP SDK. Built for VirtFusion 6.2 (API v1).

Python SDK (ezscale-virtfusion)

Full coverage of all 84 documented VirtFusion API endpoints across 19 resource categories — same surface as the PHP SDK, with Pythonic conventions.

Quick Start

from virtfusion import VirtFusion

vf = VirtFusion("https://cp.domain.com", "your-api-token")

# Server operations
server = vf.server(69).get()
vf.server(69).boot()

# Firewall
vf.server(69).firewall("primary").enable()

# User management
user = vf.users().get_by_ext_relation("100")

# Context manager
with VirtFusion("https://cp.domain.com", "token") as vf:
    vf.server(69).boot()

Features

  • Python 3.10+ with frozen dataclasses (slots=True) and match expressions
  • Fluent builder pattern: vf.server(69).boot()
  • httpx-based HTTP client with status code → exception mapping
  • Typed exception hierarchy (401, 403, 404, 422, 429, 500+)
  • Forward-compatible DTOs with raw dict escape hatch
  • Context manager support
  • PEP 561 py.typed marker — mypy strict clean
  • 109 unit tests using httpx MockTransport

Endpoint Coverage

Servers, Hypervisors, Packages, Users, SSH Keys, IP Blocks, Backups, DNS, Media, Queue, Self Service — all endpoints covered with typed models and builder methods.

Other Changes

  • Added Python entries to root .gitignore

v1.0.0 — Initial Release

20 Mar 03:38

Choose a tag to compare

VirtFusion SDK v1.0.0

Initial release of the VirtFusion API SDK libraries. Built for VirtFusion 6.2 (API v1).

PHP SDK (ezscale/virtfusion-php)

Full coverage of all 84 documented VirtFusion API endpoints across 19 resource categories:

  • Servers — CRUD, power management, VNC, suspend/unsuspend, password reset, custom XML, network (whitelist, IPv4, firewall, traffic blocks), modification (name, CPU, memory, traffic, package, backup plan, owner)
  • Hypervisors — List, get, groups, group resources
  • Packages — List, get
  • Users — CRUD via external relation ID, password reset, authentication tokens
  • SSH Keys — CRUD by user
  • IP Blocks — List, get, add IPv4 ranges
  • Backups — List by server
  • DNS — Get service
  • Media — ISO details, templates from package spec
  • Queue — Get queue item status
  • Self Service — Credit, currencies, resource packs, hourly/resource group profiles, usage/stats/reports

Features

  • PHP 8.2+ with readonly DTOs, match expressions, constructor promotion
  • Fluent builder pattern: $vf->server(69)->boot()
  • Typed exception hierarchy (401, 403, 404, 422, 429, 500+)
  • Forward-compatible DTOs with $raw array escape hatch
  • Guzzle 7 HTTP client with automatic error mapping
  • 95 unit tests, 286 assertions