Skip to main content

SKALE Watchdog Client

Discord

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

GitHub

All contributions are made under the GNU Affero General Public License v3. See LICENSE.

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)

Source distribution for skale-watchdog-client 3.2.0
File Size Uploaded
skale_watchdog_client-3.2.0.tar.gz 30.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for skale-watchdog-client 3.2.0
File Interpreter ABI Platform
skale_watchdog_client-3.2.0-py3-none-any.whl Python 3 none any Details

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
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page