A Python library for the (unofficial) Wyze Labs web APIs.
This project is used by the ha-wyzeapi project. Let me know if you are utilizing it so that I can feature your project here!
Getting logged in:
import asyncio
from wyzeapy import Wyzeapy
async def async_main():
client = await Wyzeapy.create()
await client.login("EMAIL", "PASSWORD")
if __name__ == "__main__":
loop = asyncio.get_event_loop()
loop.run_until_complete(async_main())- @shauntarves: for contributing the App ID and Signing Secret
- @yoinx: for considerable contributions to the project
Developed by Katie Mulliken (SecKatie)
This project uses Python's built-in unittest framework with coverage for code coverage reporting.
First, install the development dependencies:
uv sync --group devRun all tests:
.venv/bin/python -m unittest discover testsRun tests with verbose output:
.venv/bin/python -m unittest discover tests -vRun a specific test file:
.venv/bin/python -m unittest tests.test_camera_serviceRun a specific test method:
.venv/bin/python -m unittest tests.test_camera_service.TestCameraService.test_get_camerasRun tests with coverage:
.venv/bin/coverage run -m unittest discover testsView coverage report in terminal:
.venv/bin/coverage report -mGenerate HTML coverage report:
.venv/bin/coverage htmlThen open htmlcov/index.html in your web browser to view the detailed coverage report.
One-liner to run tests and view coverage:
.venv/bin/coverage run -m unittest discover tests && .venv/bin/coverage report -mDocs are generated using pdoc. To generate docs for this project, run:
# Install development dependencies
uv sync --group dev
# Generate docs
uv run pdoc --output-dir=docs src/wyzeapy