python-eufy-security
This is an experimental Python library for Eufy Security devices (cameras, doorbells, etc.).
Python Versions
The library is currently supported on
- Python 3.6
- Python 3.7
- Python 3.8
Installation
pip install python-eufy-security
Account Information
Because of the way the Eufy Security private API works, an email/password combo cannot work with both the Eufy Security mobile app and this library. It is recommended to use the mobile app to create a secondary "guest" account with a separate email address and use it with this library.
Usage
Everything starts with an:
aiohttp ClientSession:
import asyncio
from aiohttp import ClientSession
async def main() -> None:
"""Create the aiohttp session and run the example."""
async with ClientSession() as websession:
# YOUR CODE HERE
asyncio.get_event_loop().run_until_complete(main())
Login and get to work:
import asyncio
from aiohttp import ClientSession
from eufy_security import async_login
async def main() -> None:
"""Create the aiohttp session and run the example."""
async with ClientSession() as websession:
# Create an API client:
api = await async_login(EUFY_EMAIL, EUFY_PASSWORD, websession)
# Loop through the cameras associated with the account:
for camera in api.cameras.values():
print("------------------")
print("Camera Name: %s", camera.name)
print("Serial Number: %s", camera.serial)
print("Station Serial Number: %s", camera.station_serial)
print("Last Camera Image URL: %s", camera.last_camera_image_url)
print("Starting RTSP Stream")
stream_url = await camera.async_start_stream()
print("Stream URL: %s", stream_url)
print("Stopping RTSP Stream")
stream_url = await camera.async_stop_stream()
asyncio.get_event_loop().run_until_complete(main())
Check out example.py, the tests, and the source files themselves for method
signatures and more examples.
Contributing
- Check for open features/bugs or initiate a discussion on one.
- Fork the repository.
- Install the dev environment:
make init. - Enter the virtual environment:
source ./venv/bin/activate - Code your new feature or bug fix.
- Write a test that covers your new functionality.
- Update
README.mdwith any new documentation. - Run tests and ensure 100% code coverage:
make coverage - Ensure you have no linting errors:
make lint - Ensure you have typed your code correctly:
make typing - Submit a pull request!
Metadata
Release files for python-eufy-security 0.3.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| python-eufy-security-0.3.1.tar.gz | 7.5 kB | Without provenance | Details for python-eufy-security-0.3.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| python_eufy_security-0.3.1-py3-none-any.whl | Python 3 | none | any | Details for python_eufy_security-0.3.1-py3-none-any.whl |
Total release size: 15.4 kB
Release files / python-eufy-security-0.3.1.tar.gz
| Download URL | python-eufy-security-0.3.1.tar.gz |
|---|---|
| Size | 7.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
55074e6ac07be20cb97573d1667fe710ef38343368855d181ad17ec5e084ddbb
|
|
BLAKE2b-256 checksum How to use checksums |
1bbd5f06496684b9229c220c66ac3e4e851c3b31b2d5d0b4ff1fb36d12f45308
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.0.0b7 CPython/2.7.17 Darwin/19.3.0
|
Release files / python_eufy_security-0.3.1-py3-none-any.whl
| Download URL | python_eufy_security-0.3.1-py3-none-any.whl |
|---|---|
| Size | 8.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c2175fb2cdc3c8643599d6567de7ac2e7fb19a5739eb86cf766376734d59ea58
|
|
BLAKE2b-256 checksum How to use checksums |
9554bf36f1f0a18a4f75416832c6d63605335f65602b5ef912385e2e9c527992
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.0.0b7 CPython/2.7.17 Darwin/19.3.0
|
Security for python-eufy-security 0.3.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.