Skip to main content

Aussie Broadband API module

Project description

pyAussieBB

This is a very simple module for interacting with the Aussie Broadband APIs.

ruff mypy pytest Shellcheck

Usage

pip install --user pyaussiebb
python
>>> from aussiebb import AussieBB
>>> account = AussieBB(username, password)
>>> account.get_services()
[{allyourservicedetails}]

For more, check out the docs.

AsyncIO version

You can replace from aussiebb import AussieBB with from aussiebb.asyncio import AussieBB and you'll get an aiohttp-powered version. The only difference in this case is that you have to explicitly call login() for reasons.

If you hit the rate limit it'll raise a RateLimit exception. I haven't put that functionality into the blocking version yet, since ... that tends not to hit it. 🤣

Development

Example service tests I've seen

All the "endpoints" below should be tacked onto aussiebb.const.BASEURL['api'].

Warning: /nbn/{service_id}/connection seems to have both a GET and POST method endpoint - tests on other endpoints may be similar.

These can be run by using AussieBB.run_test() with the string after the last forward-slash as the "test" - ie, connection or linestate.

HFC

These are entirely untested so far.

Endpoint Method Name Description
/nbn/{service_id}/connection Probably GET Check Connection Check to see if your service is currently connected
/nbn/{service_id}/connection Probably POST Kick Connection Kick your current session and force your device to reauthenticate
/tests/{service_id}/loopback Probably POST Loopback Test This will test the connectivity between the point NBN’s network transitions to ours and to the closest point to your property. Usually either the Network Termination Device or Node.
/tests/{service_id}/ntdstatus Probably POST NTD Status An NTD Status will show you the operational state of the Network Termination Device (NTD). The test will also show if the NTD is detecting the wired connection from your router.

FTTC

Endpoint Method Name Description
/nbn/{service_id}/connection GET Check Connection Check to see if your service is currently connected
/nbn/{service_id}/connection Probably POST Kick Connection Kick your current session and force your device to reauthenticate
/tests/{service_id}/dpuportreset Probably POST DPU Port Reset Reset the Port on the DPU (Distribution Point Unit) along with clearing any errors that maybe causing issues with connectivity.
/tests/{service_id}/dpuportstatus POST DPU Port Status A DPU (Distribution Point Unit) port status will show if the NCD (Network Connection Device) is providing power to the DPU. It will also state if the NCD (Network Connection Device) is in sync.
/tests/{service_id}/dpustatus POST DPU Status This will provide if the DPU (Distribution Point Unit) is currently being powered.
/tests/{service_id}/loopback POST Loopback Test This will test the connectivity between the point NBN’s network transitions to ours and to the closest point to your property. Usually either the Network Termination Device or Node.
/tests/{service_id}/ncdportreset Probably POST NCD Port Reset Reset the gateway port on your NCD (Network Connection Device).
/tests/{service_id}/ncdreset Probably POST NCD Reset This will remotely restart your Network Termination Device.

FTTN

Endpoint Method Name Description
/nbn/{service_id}/connection GET Check Connection Check to see if your service is currently connected
/nbn/{service_id}/connection Probably POST Kick Connection Kick your current session and force your device to reauthenticate
/tests/{service_id}/linestate POST Line State A line state test will determine if you have “sync” (connection) to the node. If the service is in sync this test will also return your maximum and current attainable transfer rate.
/tests/{service_id}/loopback POST Loopback Test This will test the connectivity between the point NBN’s network transitions to ours and to the closest point to your property. Usually either the Network Termination Device or Node.
/tests/{service_id}/portreset Probably POST Port Reset This will reset the connection from the Node and also clear errors that may be causing issues with gaining sync.
/tests/{service_id}/stabilityprofile Probably POST Stability Profile This will apply changes to your FTTN service including allowing increased noise to occur before making the connection unstable. This will cause your speeds to degrade as a result, but in turn making the service more stable. For NBN to investigate a fault this profile needs to be applied and a minimum of 5 dropouts recorded over a 24hr period on NBN's systems before a dropout fault can be raised

FTTP

These are as-yet untested.

Endpoint Method Name Description
/nbn/{service_id}/connection Probably GET Check Connection Check to see if your service is currently connected
/nbn/{service_id}/connection Probably POST Kick Connection Kick your current session and force your device to reauthenticate
/tests/{service_id}/loopback Probably POST Loopback Test This will test the connectivity between the point NBN’s network transitions to ours and to the closest point to your property. Usually either the Network Termination Device or Node.
/tests/{service_id}/portreset Probably POST Port Reset This will reset the connection from the Node and also clear errors that may be causing issues with gaining sync.
/tests/{service_id}/unidstatus Probably POST UNI-D Status UNI-D Status will show if the UNI-D port you are currently using has a router connected to it. This will also provide the Link speed your router and UNI-D port are connected at Eg, 100mbit or 1gbit. You will also see the MAC address of the currently connected router.

Changelog

See CHANGELOG.md

Project details


Download files

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

Source Distribution

pyaussiebb-0.1.6.tar.gz (24.7 kB view details)

Uploaded Source

Built Distribution

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

pyaussiebb-0.1.6-py3-none-any.whl (22.5 kB view details)

Uploaded Python 3

File details

Details for the file pyaussiebb-0.1.6.tar.gz.

File metadata

  • Download URL: pyaussiebb-0.1.6.tar.gz
  • Upload date:
  • Size: 24.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.3

File hashes

Hashes for pyaussiebb-0.1.6.tar.gz
Algorithm Hash digest
SHA256 7771fe856d189f00a9e7de9614dffb74649cdf0b25d3422826b47eba07021bff
MD5 cd848f4c62d7ef6bef1986ba371f5950
BLAKE2b-256 bdef2b4a6ea33174e7b2ed47a9f54abffca7966d8ca09f41f00c63e60b6dc391

See more details on using hashes here.

File details

Details for the file pyaussiebb-0.1.6-py3-none-any.whl.

File metadata

  • Download URL: pyaussiebb-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 22.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.3

File hashes

Hashes for pyaussiebb-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 a8745d009f10dc4435208cfcf3fad629ec1c4fcdbb8f0d4a75e04163af6eb9f3
MD5 8fd0404b449b784ec9e9a05b852d1adb
BLAKE2b-256 18e3a23d20086dc09929be8cde1cdccd53a1c63b0256b771a6fcfdd330ef8d82

See more details on using hashes here.

Supported by

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