Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

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.
# A bare host or http:// URL gets :3009, https:// gets :311. An explicit port always wins.
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, cache_age, stale)
# cache_age is seconds since the node cached the value, or None when it was fetched live.
# Pass max_age=360 to the node: any result older than that is stale and falsy.
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_node.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.

Metadata

Release files for skale-watchdog-client 4.0.0.dev2

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 4.0.0.dev2
File Size Uploaded Provenance Actions
skale_watchdog_client-4.0.0.dev2.tar.gz 28.1 kB Without provenance Details for skale_watchdog_client-4.0.0.dev2.tar.gz

Built distribution (wheel)

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

Total release size: 56.4 kB

Release files / skale_watchdog_client-4.0.0.dev2.tar.gz

Download URL skale_watchdog_client-4.0.0.dev2.tar.gz
Size 28.1 kB
Tags Source
SHA-256 checksum
How to use checksums
cd254e69af965168515ffcf1c8248b0592581843c0cfa9c917ceac12d39fc7a8
BLAKE2b-256 checksum
How to use checksums
9cb0096fba10027696781ed232e35d4ac0966e407518bff182c82b3cc42743dc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.22 {"installer":{"name":"uv","version":"0.12.22","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}

Release files / skale_watchdog_client-4.0.0.dev2-py3-none-any.whl

Download URL skale_watchdog_client-4.0.0.dev2-py3-none-any.whl
Size 28.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8a9906485cf86ff61d4ed6eac823ff67c3f5214892c692f9fa5c48215b0ba596
BLAKE2b-256 checksum
How to use checksums
7147f04a762e9738456e15b386fbe202831aa9050832c80af2c2a9d71fdcbf23
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.22 {"installer":{"name":"uv","version":"0.12.22","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}

Security for skale-watchdog-client 4.0.0.dev2

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.

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