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.
Metadata
Release files for skale-watchdog-client 3.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| skale_watchdog_client-3.2.0.tar.gz | 30.2 kB | Without provenance | Details for skale_watchdog_client-3.2.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| skale_watchdog_client-3.2.0-py3-none-any.whl | Python 3 | none | any | Details for skale_watchdog_client-3.2.0-py3-none-any.whl |
Total release size: 58.2 kB
Release files / skale_watchdog_client-3.2.0.tar.gz
| Download URL | skale_watchdog_client-3.2.0.tar.gz |
|---|---|
| Size | 30.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c285363847562a9f778e84583a75709443dab58ae8fe92d2f6b5fe2f3c64081a
|
|
BLAKE2b-256 checksum How to use checksums |
d60a91b04c7a238dfabd48e7216f73de47daa9d3b324cc51d4f91d51c67aaf97
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.13
|
Release files / skale_watchdog_client-3.2.0-py3-none-any.whl
| Download URL | skale_watchdog_client-3.2.0-py3-none-any.whl |
|---|---|
| Size | 28.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6fa5271e3fe3da7871df3970a49e99fb77aa942d89f22d629977071d55ba20ca
|
|
BLAKE2b-256 checksum How to use checksums |
389add4f79d035f912a702b1f18be27ff4fe3c678f886a25ff41f96716b5c728
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.13
|
Security for skale-watchdog-client 3.2.0
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.