Releases: EZSCALE/virtfusion-api-library
Releases · EZSCALE/virtfusion-api-library
v1.1.0 — Python SDK
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
rawdict escape hatch - Context manager support
- PEP 561
py.typedmarker — 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
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
$rawarray escape hatch - Guzzle 7 HTTP client with automatic error mapping
- 95 unit tests, 286 assertions