Proxmox Home Assistant Integration Service for Home Assistant.
Project description
Proxmox Home Assistant Integration Service
An asynchronous, type-safe Python client tailored for extracting raw performance telemetry out of Proxmox VE clusters, nodes, and guests.
The Backstory: Why "PHAIS"?
PHAISE stands for Proxmox Home Assistant Integration Service.
But there is an intentional double meaning here: it is hopefully just a PHASE.
This library was built out of necessity because existing ecosystem integrations and underlying client libraries have structural limitations—whether they are synchronous bottlenecks, missing granular unnested endpoint layouts, or lacking strict runtime type enforcement via tools like Mashumaro. PHAIS serves as our high-performance bridge today while we wait for mainstream upstream libraries to catch up, open up, or accept modern async paradigms. Once they do, this phase can comfortably conclude.
Features
- Strict Asynchronous Execution: Native
aiohttpimplementation designed never to block the event loop. - Unified REST Client: Centralized HTTP architecture managing internal auth tickets, cookie construction, and CSRF token propagation seamlessly.
- Granular Telemetry Models: Distinct dataclasses separating cluster maps from deep host (
NodeStatus), VM (QemuStatus), and container (LXCStatus) sensor profiles. - Smart Reconciliation: Automated cache pruning to instantly evict vanished or decommissioned resources from tracking tables using fast set operations.
Development Diagnostics
The repository provides a diagnostic CLI utility to verify authentication mechanics, cookie/ticket attachment, and data serialization against live systems.
Running the Live Test Script
Execute the script from the root directory by providing your targeted cluster parameters:
scripts/live_test.py <host-ip-or-fqdn> "<user@realm>" "<password>"
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file phais-0.0.1a3.tar.gz.
File metadata
- Download URL: phais-0.0.1a3.tar.gz
- Upload date:
- Size: 24.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e7a63f9f773c77dbbc511ee0fb3b22474e8260f8e53e1521390a61fe7b44cbc6
|
|
| MD5 |
51fd20e174e8f3ec86dfc5b30746af8f
|
|
| BLAKE2b-256 |
db9bc56a3143570aab58313e1cc9d956d12475a510a3d3ff40dd1dfde143eec4
|
Provenance
The following attestation bundles were made for phais-0.0.1a3.tar.gz:
Publisher:
release.yml on CoMPaTech/python-phais
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
phais-0.0.1a3.tar.gz -
Subject digest:
e7a63f9f773c77dbbc511ee0fb3b22474e8260f8e53e1521390a61fe7b44cbc6 - Sigstore transparency entry: 2192390914
- Sigstore integration time:
-
Permalink:
CoMPaTech/python-phais@46c0676c86e4d98c56dbb97095d6f9a8a6e7fdf1 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/CoMPaTech
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@46c0676c86e4d98c56dbb97095d6f9a8a6e7fdf1 -
Trigger Event:
push
-
Statement type:
File details
Details for the file phais-0.0.1a3-py3-none-any.whl.
File metadata
- Download URL: phais-0.0.1a3-py3-none-any.whl
- Upload date:
- Size: 11.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
242c1e5db49b9ebdbe0f9705ad14cc5822512afbc81850ec14dee152b87b4638
|
|
| MD5 |
4e2eb7965ae5ec2fc0663b84702c2fdc
|
|
| BLAKE2b-256 |
592ae06198c25bff2fb22061ea2a8a892c53984db0c1109d5ac28db22dd55b30
|
Provenance
The following attestation bundles were made for phais-0.0.1a3-py3-none-any.whl:
Publisher:
release.yml on CoMPaTech/python-phais
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
phais-0.0.1a3-py3-none-any.whl -
Subject digest:
242c1e5db49b9ebdbe0f9705ad14cc5822512afbc81850ec14dee152b87b4638 - Sigstore transparency entry: 2192390921
- Sigstore integration time:
-
Permalink:
CoMPaTech/python-phais@46c0676c86e4d98c56dbb97095d6f9a8a6e7fdf1 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/CoMPaTech
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@46c0676c86e4d98c56dbb97095d6f9a8a6e7fdf1 -
Trigger Event:
push
-
Statement type: