This release is a pre-release and may not be stable for production use.
SKALE Watchdog Client
Minimal Python client for interacting with SKALE Watchdog node APIs (SKALE + FAIR).
Install
pip install skale-watchdog-client
Supports Python 3.13+.
Quick Start
from watchdog_client import SkaleNode, SkalePassiveNode, FairNode, FairPassiveNode
# Base URL can be domain name or IP address of the node.
skale_node = SkaleNode('my-skale-node.example.com')
# Use SkalePassiveNode for SKALE nodes running in passive mode
skale_passive = SkalePassiveNode('my-passive-skale-node.example.com')
fair_node = FairNode('my-fair-node.example.com')
# Use FairPassiveNode for FAIR nodes running in passive mode (no SGX endpoint)
fair_passive = FairPassiveNode('my-passive-fair-node.example.com')
# Call any endpoint – each returns ApiResult (fields: data, error, status_code)
r = skale_node.public_ip()
if r:
print('Public IP:', r.data)
else:
print('Error:', r.error)
# Execute every available check on a node
results = skale_node.all_checks()
for name, res in results.items():
print(name, 'OK' if res else f'ERR: {res.error}')
API
Common (available on both SkaleNode and FairNode)
- containers
- sgx (not available on FAIR passive nodes; see FairPassiveNode)
- hardware
- endpoint
- meta_info (maps to /meta-info)
- btrfs
- ssl
- check_report (maps to /check-report)
SKALE-specific (SkaleNode)
- schains
- ima
- schain_containers_versions (maps to /schain-containers-versions)
- public_ip (maps to /public-ip)
- validator_nodes (maps to /validator-nodes)
SKALE Passive (SkalePassiveNode)
Same as SkaleNode, except the following checks return an error (404), because they are not available on SKALE passive nodes:
- sgx
- schains
- ima
- validator_nodes
FAIR-specific (FairNode)
- chain_checks (maps to /chain-checks)
- chain_record (maps to /chain-record)
FAIR Passive (FairPassiveNode)
Same as FairNode, except:
- sgx — returns an error ApiResult: "SGX check is not available on FAIR passive nodes"
Batch execution
Call all_checks() on any node instance to execute each public check method (no params) and get a dict mapping method name to its ApiResult. One failing check does not stop others.
Result Object
res = fair.chain_checks()
if res:
print(res.data)
else:
raise RuntimeError(res.error)
License
All contributions are made under the GNU Affero General Public License v3. See LICENSE.
Release files for skale-watchdog-client 3.2.0.dev2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| skale_watchdog_client-3.2.0.dev2.tar.gz | 30.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| skale_watchdog_client-3.2.0.dev2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 58.3 kB
Release files / skale_watchdog_client-3.2.0.dev2.tar.gz
| Download URL | skale_watchdog_client-3.2.0.dev2.tar.gz |
|---|---|
| Size | 30.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
cec1f5a698614f8e0321fc5f8ac1bdf959b6108a81ffcd8779d403311f768352
|
|
BLAKE2b-256 checksum How to use checksums |
173c0d7d50f1002c7a92f6c48d9eefa77dedfaa76d81417996344277995b4955
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.14
|
Release files / skale_watchdog_client-3.2.0.dev2-py3-none-any.whl
| Download URL | skale_watchdog_client-3.2.0.dev2-py3-none-any.whl |
|---|---|
| Size | 28.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
727ffaf0358b26ce7bb84f998c8fd594bea9f4e84a573f6c7c388bb17a830686
|
|
BLAKE2b-256 checksum How to use checksums |
a0707c5060e1737d5b60817ab6bc878a90dbbe3182276d4fcd76804e00e17baa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.14
|