Skip to main content

A Python library for the EZVIZ OpenAPI platform, handling authentication and API requests.

Project description

EZVIZ OpenAPI Utils

简体中文 | English

A Python library designed to simplify interactions with the EZVIZ OpenAPI platform. It handles authentication, automatic token refreshing, and provides a clean, unified interface for all API endpoints.

✨ Key Features

  • Automatic Token Management: The client automatically handles Access Token expiration and renewal, requiring no manual intervention from the user.
  • Multi-Region Support: Fully supports all 8 global regions (cn, en, eu, us, sa, sg, in, ru), ensuring compatibility worldwide.
  • Type Safe: Uses TypedDict for API responses, providing excellent IDE support and code completion for developers.
  • Clean Architecture: Clearly separates concerns: Client handles authentication, and EZVIZOpenAPI handles API calls, resulting in a codebase that is easy to understand and maintain.

📦 Installation

First, install the core dependency requests.

pip install requests

(Note: This project uses pyproject.toml for dependency management. For a full development environment, use pip install -e .[dev].)

🚀 Getting Started

from ezviz_openapi_utils import Client, EZVIZOpenAPI

# 1. Create a client instance (automatically fetches the access token)
client = Client(
    app_key="YOUR_APP_KEY",
    app_secret="YOUR_APP_SECRET",
    region="cn"  # Specify your region
)

# 2. Create an API instance
api = EZVIZOpenAPI(client)

# Add a device
add_device_response = api.add_device(device_serial="427734888", validate_code="ABCDEF")
print(add_device_response)
# Output: {'code': '200', 'msg': 'Operation succeeded!'}

# Get device information
device_info_response = api.get_device_info(device_serial="427734888")
print(device_info_response)
# Output: {'data': {'deviceSerial': '427734888', 'deviceName': 'niuxiaoge device', 'model': 'CS-C1-11WPFR', 'status': 0, 'defence': 1, 'isEncrypt': 0}, 'code': '200', 'msg': 'Operating succeeded!'}

# Delete a device
delete_response = api.delete_device(device_serial="427734888")
print(delete_response)
# Output: {'code': '200', 'msg': 'Operation succeeded!'}

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

ezviz_openapi_utils-0.1.1.tar.gz (49.4 kB view details)

Uploaded Source

Built Distribution

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

ezviz_openapi_utils-0.1.1-py3-none-any.whl (35.0 kB view details)

Uploaded Python 3

File details

Details for the file ezviz_openapi_utils-0.1.1.tar.gz.

File metadata

  • Download URL: ezviz_openapi_utils-0.1.1.tar.gz
  • Upload date:
  • Size: 49.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ezviz_openapi_utils-0.1.1.tar.gz
Algorithm Hash digest
SHA256 cbff3fdbc2d1d1ea3274c2b33a4de4b99a493f7d008626c9a1af8295135c39de
MD5 bb0debbe8e036d52c4aedef2ca2ea8e1
BLAKE2b-256 b42c4aa3e46ccac9c5d944d941efbab9bf4480494de4ccc91945eae1e312101d

See more details on using hashes here.

Provenance

The following attestation bundles were made for ezviz_openapi_utils-0.1.1.tar.gz:

Publisher: python-publish.yml on sunbos/ezviz-openapi-utils

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ezviz_openapi_utils-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for ezviz_openapi_utils-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 192517507455f44566d59fac42cfc7b6850dabf0fa45c7b00574c82f8ee8d1fe
MD5 ad9cda48b00a05b387956513e942a9e4
BLAKE2b-256 eb2f690d830c8c5b9b49e82de3e8fc32198c036d50af7e843030eeeb53cd6901

See more details on using hashes here.

Provenance

The following attestation bundles were made for ezviz_openapi_utils-0.1.1-py3-none-any.whl:

Publisher: python-publish.yml on sunbos/ezviz-openapi-utils

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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