Skip to main content

aiopnsense

GitHub Release GitHub Release Date GitHub Activity Coverage Documentation License

PyPI

aiopnsense is an async Python client library for OPNsense.

What this library does

aiopnsense wraps supported OPNsense REST endpoints behind a single async client, OPNsenseClient. It is designed for applications that need to query router state or trigger supported OPNsense actions without manually building HTTP requests.

The client currently includes helpers for:

  • system information, notices, certificates, CARP, Wake-on-LAN, reboot, and interface reloads
  • firmware version checks, update status, and upgrade actions
  • interface, gateway, CPU, memory, filesystem, and temperature telemetry
  • diagnostics traffic snapshots and live interface traffic stream samples
  • DHCP lease and ARP table access
  • firewall rules, NAT rules, alias toggling, and state killing
  • service status lookup and service start/stop/restart operations
  • SMART device listing and per-device SMART detail queries
  • Unbound blocklist management
  • OpenVPN and WireGuard status plus VPN instance toggling
  • vnStat metrics, captive portal vouchers, and speed test data

Requirements

  • Requires OPNsense Firmware >= 25.1

  • Recommended OPNsense Firmware >= 26.1.1

    • For firmware < 26.1.1, the Firewall and NAT methods will return empty data.

Documentation

Live test scripts

The scripts/ directory includes live diagnostic helpers for maintainers:

  • aiopnsense_dump.py runs supported aiopnsense client endpoints and prints the raw data returned by the library.
  • opnsense_api_call.py calls an arbitrary OPNsense API endpoint with a specified method and optional POST payload.

Both scripts read credentials from scripts/aiopnsense.env by default. Copy scripts/aiopnsense.env.example to create your local env file; it is ignored by git. Full CLI reference is generated in the Read the Docs script documentation.

Origin and Purpose

aiopnsense was initially extracted from the hass-opnsense integration. It is primarily for use as an external dependency by Home Assistant for its OPNsense Integration.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aiopnsense-1.1.0.tar.gz (135.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aiopnsense-1.1.0-py3-none-any.whl (72.8 kB view details)

Uploaded Python 3

File details

Details for the file aiopnsense-1.1.0.tar.gz.

File metadata

  • Download URL: aiopnsense-1.1.0.tar.gz
  • Upload date:
  • Size: 135.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for aiopnsense-1.1.0.tar.gz
Algorithm Hash digest
SHA256 221b4217a284487e0ced4763065acec2f5030517ab4115d2ad914763855eff66
MD5 187dc61d3b41bcb5c2408aed05bd1dbc
BLAKE2b-256 6aba380caed0c4ff3ff9b27234a1d93c3318b7527115585e7e8c7ec1baad56a5

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiopnsense-1.1.0.tar.gz:

Publisher: release.yml on Snuffy2/aiopnsense

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aiopnsense-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: aiopnsense-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 72.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for aiopnsense-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3e6cd963bd25cbbd364e2312fd25da10912c68ce29e358ccf7d36fe68d27096c
MD5 2b8642a637782a592f983868d2de2f42
BLAKE2b-256 f84910c75ca29f57324a44c36c213ef396a9f7f1b81d51d50d8b1578fa9ab976

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiopnsense-1.1.0-py3-none-any.whl:

Publisher: release.yml on Snuffy2/aiopnsense

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page