What's Changed
This release contains a rewrite, greatly reducing the total number of lines of code in the library, relying on pydantic for parsing. Older event media APIs are removed and fully replaced by the simpler `EventMediaManager` for accessing media related to events for a device.
* Update spelling in google_nest_subscriber.py by allenporter in https://github.com/allenporter/python-google-nest-sdm/pull/645
* pydantic v2 with shim for v1 by allenporter in https://github.com/allenporter/python-google-nest-sdm/pull/670
* Drop support for python 3.9 by allenporter in https://github.com/allenporter/python-google-nest-sdm/pull/671
* Use pydantic for parsing device traits by allenporter in https://github.com/allenporter/python-google-nest-sdm/pull/702
* Use pydantic for parsing thermostat traits by allenporter in https://github.com/allenporter/python-google-nest-sdm/pull/703
* Run tests with pydantic v1 in addition to v2 by allenporter in https://github.com/allenporter/python-google-nest-sdm/pull/704
* Use pydantic for camera traits by allenporter in https://github.com/allenporter/python-google-nest-sdm/pull/705
* Add workflow for generating pdoc by allenporter in https://github.com/allenporter/python-google-nest-sdm/pull/706
* Convert device to pydantic by allenporter in https://github.com/allenporter/python-google-nest-sdm/pull/708
* Update pydoc for the library by allenporter in https://github.com/allenporter/python-google-nest-sdm/pull/709
* Use pydantic for event messages by allenporter in https://github.com/allenporter/python-google-nest-sdm/pull/710
* Filter test warnings in google pubsub dependencies by allenporter in https://github.com/allenporter/python-google-nest-sdm/pull/711
* Cleanup use of optional, all, and list by allenporter in https://github.com/allenporter/python-google-nest-sdm/pull/712
* Remove older APIs for fetching media and building traits by allenporter in https://github.com/allenporter/python-google-nest-sdm/pull/713
* Streamline internal event media details by allenporter in https://github.com/allenporter/python-google-nest-sdm/pull/714
* Add example API usage to the documentation by allenporter in https://github.com/allenporter/python-google-nest-sdm/pull/715
* Overhaul event media tests by allenporter in https://github.com/allenporter/python-google-nest-sdm/pull/716
Developer updates
* Update dependency ruff to v0.0.272 by renovate in https://github.com/allenporter/python-google-nest-sdm/pull/639
* Update dependency pytest to v7.3.2 by renovate in https://github.com/allenporter/python-google-nest-sdm/pull/641
* Update pre-commit hook charliermarsh/ruff-pre-commit to v0.0.272 by renovate in https://github.com/allenporter/python-google-nest-sdm/pull/640
* Update dependency googleapis-common-protos to v1.59.1 by renovate in https://github.com/allenporter/python-google-nest-sdm/pull/642
* Update dependency google-auth to v2.20.0 by renovate in https://github.com/allenporter/python-google-nest-sdm/pull/644
* Update dependency pre-commit to v3.3.3 by renovate in https://github.com/allenporter/python-google-nest-sdm/pull/643
* Update dependency google-api-core to v2.11.1 by renovate in https://github.com/allenporter/python-google-nest-sdm/pull/646
* Update dependency protobuf to v4.23.3 by renovate in https://github.com/allenporter/python-google-nest-sdm/pull/647
* Update dependency pytest-mock to v3.11.1 by renovate in https://github.com/allenporter/python-google-nest-sdm/pull/648
* Update dependency ruff to v0.0.274 by renovate in https://github.com/allenporter/python-google-nest-sdm/pull/649
* Update pre-commit hook charliermarsh/ruff-pre-commit to v0.0.274 by renovate in https://github.com/allenporter/python-google-nest-sdm/pull/650
* Update dependency ruff to v0.0.275 by renovate in https://github.com/allenporter/python-google-nest-sdm/pull/651
* Update pre-commit hook charliermarsh/ruff-pre-commit to v0.0.275 by renovate in https://github.com/allenporter/python-google-nest-sdm/pull/652
* Update dependency grpcio to v1.56.0 by renovate in https://github.com/allenporter/python-google-nest-sdm/pull/653
* Update dependency grpcio-status to v1.56.0 by renovate in https://github.com/allenporter/python-google-nest-sdm/pull/654
* Update dependency pytest to v7.4.0 by renovate in https://github.com/allenporter/python-google-nest-sdm/pull/655
* Update dependency google-auth to v2.21.0 by renovate in https://github.com/allenporter/python-google-nest-sdm/pull/656
* Update dependency pydantic to v1.10.10 by renovate in https://github.com/allenporter/python-google-nest-sdm/pull/658
* Update dependency pydantic to v1.10.11 by renovate in https://github.com/allenporter/python-google-nest-sdm/pull/659
* Update dependency typed-ast to v1.5.5 by renovate in https://github.com/allenporter/python-google-nest-sdm/pull/660
* Update dependency ruff to v0.0.277 by renovate in https://github.com/allenporter/python-google-nest-sdm/pull/661
* Update pre-commit hook charliermarsh/ruff-pre-commit to v0.0.277 by renovate in https://github.com/allenporter/python-google-nest-sdm/pull/662
* Update dependency protobuf to v4.23.4 by renovate in https://github.com/allenporter/python-google-nest-sdm/pull/663
* Update group:mypy by renovate in https://github.com/allenporter/python-google-nest-sdm/pull/664
* Update dependency black to v23.7.0 by renovate in https://github.com/allenporter/python-google-nest-sdm/pull/665
* Update pre-commit hook psf/black to v23.7.0 by renovate in https://github.com/allenporter/python-google-nest-sdm/pull/666
* Update dependency google-auth to v2.22.0 by renovate in https://github.com/allenporter/python-google-nest-sdm/pull/667
* Update dependency pytest-asyncio to v0.21.1 by renovate in https://github.com/allenporter/python-google-nest-sdm/pull/668
* Update dependency ruff to v0.0.278 by renovate in https://github.com/allenporter/python-google-nest-sdm/pull/669
* Update pre-commit hook charliermarsh/ruff-pre-commit to v0.0.278 by renovate in https://github.com/allenporter/python-google-nest-sdm/pull/672
* Update dependency google-cloud-pubsub to v2.18.0 by renovate in https://github.com/allenporter/python-google-nest-sdm/pull/673
* Update dependency PyYAML to v6.0.1 by renovate in https://github.com/allenporter/python-google-nest-sdm/pull/674
* Update dependency aiohttp to v3.8.5 by renovate in https://github.com/allenporter/python-google-nest-sdm/pull/675
* Update dependency grpcio to v1.56.2 by renovate in https://github.com/allenporter/python-google-nest-sdm/pull/676
* Update dependency grpcio-status to v1.56.2 by renovate in https://github.com/allenporter/python-google-nest-sdm/pull/677
* Update dependency ruff to v0.0.280 by renovate in https://github.com/allenporter/python-google-nest-sdm/pull/678
* Update pre-commit hook charliermarsh/ruff-pre-commit to v0.0.280 by renovate in https://github.com/allenporter/python-google-nest-sdm/pull/679
* Update dependency pydantic to v2.1.1 by renovate in https://github.com/allenporter/python-google-nest-sdm/pull/680
* Update dependency google-cloud-pubsub to v2.18.1 by renovate in https://github.com/allenporter/python-google-nest-sdm/pull/681
* Update group:mypy by renovate in https://github.com/allenporter/python-google-nest-sdm/pull/682
* Update dependency googleapis-common-protos to v1.60.0 by renovate in https://github.com/allenporter/python-google-nest-sdm/pull/683
* Update dependency ruff to v0.0.282 by renovate in https://github.com/allenporter/python-google-nest-sdm/pull/684
* Update pre-commit hook charliermarsh/ruff-pre-commit to v0.0.282 by renovate in https://github.com/allenporter/python-google-nest-sdm/pull/685
* Update dependency google-cloud-pubsub to v2.18.2 by renovate in https://github.com/allenporter/python-google-nest-sdm/pull/686
* Update dependency protobuf to v4.24.0 by renovate in https://github.com/allenporter/python-google-nest-sdm/pull/687
* Update dependency ruff to v0.0.284 by renovate in https://github.com/allenporter/python-google-nest-sdm/pull/688
* Update pre-commit hook charliermarsh/ruff-pre-commit to v0.0.284 by renovate in https://github.com/allenporter/python-google-nest-sdm/pull/689
* Update dependency async-timeout to v4.0.3 by renovate in https://github.com/allenporter/python-google-nest-sdm/pull/690
* Update dependency grpcio to v1.57.0 - autoclosed by renovate in https://github.com/allenporter/python-google-nest-sdm/pull/691
* Update dependency coverage to v7.3.0 by renovate in https://github.com/allenporter/python-google-nest-sdm/pull/692
* Update dependency grpcio-status to v1.57.0 by renovate in https://github.com/allenporter/python-google-nest-sdm/pull/693
* Update group:mypy by renovate in https://github.com/allenporter/python-google-nest-sdm/pull/694
* Update dependency pydantic to v2.2.1 by renovate in https://github.com/allenporter/python-google-nest-sdm/pull/695
* Update dependency ruff to v0.0.285 by renovate in https://github.com/allenporter/python-google-nest-sdm/pull/696
* Update dependency google-cloud-pubsub to v2.18.3 by renovate in https://github.com/allenporter/python-google-nest-sdm/pull/697
* Update dependency protobuf to v4.24.1 by renovate in https://github.com/allenporter/python-google-nest-sdm/pull/698
* Update dependency mypy to v1.5.1 by renovate in https://github.com/allenporter/python-google-nest-sdm/pull/699
* Update pre-commit hook charliermarsh/ruff-pre-commit to v0.0.285 by renovate in https://github.com/allenporter/python-google-nest-sdm/pull/700
* Update dependency pydantic to v2.3.0 by renovate in https://github.com/allenporter/python-google-nest-sdm/pull/701
* Update dependency pdoc to v14 by renovate in https://github.com/allenporter/python-google-nest-sdm/pull/707
**Full Changelog**: https://github.com/allenporter/python-google-nest-sdm/compare/2.2.5...3.0.0