- Added
py.typedto signal that the files are typed. - Moved from
poetrytouvfor packaging.
Allowed the password argument to take a string.
The get_services function now has a "drop_unknown_types" flag which means you won't get a list of things we don't know about, hopefully that'll help some folks when AussieBB adds random things.
It also uses a central "handle response" thing so I can remove some duplicate code.
Added some more consts.
Bumped the minimum pydantic version to 2.0 - v0.1.1 had >v1.9 as a requirement and it looks like that might have allowed folks without poetry.lock files to catch old-pydantic.
Also using SecretStr for passwords now to avoid having them turn up in logs.
Stopped throwing errors on service type "Hardware" per home-assistant/core#95665.
Update to Pydantic 2.x and a load of changes to support that.
Updating aiohttp dependency for CVE-2023-37276.
... don't use this, the Pydantic update broke things.
Added MFA support, example works with SMS, un-deprecated service_plans.
Adding download invoice functionality and handlers in asyncio module.
- Deprecated
service_plansas it requires MFA or another auth method. types.APIResponseMetanow has optionalfromandtofields because the Aussie API was replying with them.
- Moved the
pydanticdependency from dev to main, which shouldn't ever have been in dev...
- Moved the filtering by servicetypes in
get_services()to its own function - Added a new service type "Fetchtv"
- Added a way to drop types of services in
get_services()so Home Assistant can ignoreFETCH_TYPES - Added some handling for FETCHTV types.
-
Added service type of
FETCHTVtoNBN_TYPES- Fixed test for this handler.
- Updated logging for error when it happens.
Turns out this was the wrong way to handle it, so this version got yanked.
- Added
pydanticas a dependency, which allows for better type checking. - Rewrote a bunch of the tests because the bike shed needed to be green and driven by JSON.
- Added first run of handling for folks with more than 10 services - paginated calls
- Some things will return nicer pydantic-ish objects, typing is starting to be enforced on output
account_contactsis one, for example
- Added service type of
OpticommtoNBN_TYPES
- Added
aussiebb.exceptions.UnrecognisedServiceTypeand some quick validation when you runget_usageso it doesn't break. - Added some more testing around this.
- Fixed it so you can pass a session object to the non-asyncio AussieBB
- Added "use_cached" to get_services calls
- Added some mock data in
aussiebb.const.TEST_MOCKDATA
- re-defined the API Classes as children of a base class (aussiebb.baseclass.BaseClass).
- added significantly better typing to inputs/responses.
- removed all the usage of
inspect. - moved from setup.py to Poetry for build/packaging.
- removed loguru dependency, class init now takes a logger as an option or uses python default logging if not. Also removed _debug_print from async version.
- added NBN_TYPES and PHONE_TYPES to aussiebb.const, to allow one to check if the service matches a known identifier for "phone" (mobile/VOIP) or "NBN" (internet) types - this matters when parsing the resulting service info.
- added test and fixed result of the asyncio get_service_tests function
- renamed serviceid to service_id to match the api
- added request_get_json to the sync class
- added telephony_usage
- added get_appointment which gets service appointments
- updated get_usage so it checks the service list and will return telephony data if it's a PhoneMobile service
- abstracted how URLS are generated so I don't have to keep adding them twice
- added a filter on get_services which allows you to filter by type
- Added the following new functions:
account_transactions,billing_invoice,service_outages,service_boltons,service_datablocks,support_tickets,account contacts. Renamedget_service_planstoservice_plans
- Fixed rate limiting
- Fixing rate limiting
- Didn't actually fix it...
- Added
asynciosubmodule, split constants and exceptions out into their own files/modules.
- Added
get_service_plansso the gigabit-desperate crowd can check for their new hotness.