Metadata-Version: 2.4
Name: grandstream-home-api
Version: 0.1.6
Summary: Python API library for Grandstream GDS/GSC and GNS devices
Project-URL: Homepage, https://github.com/wtxu-gs/grandstream_home_api
Project-URL: Documentation, https://github.com/wtxu-gs/grandstream_home_api/blob/main/README.md
Author: Grandstream Team
License-Expression: Apache-2.0
License-File: LICENSE
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Python: >=3.12
Requires-Dist: cryptography>=42.0.0
Requires-Dist: requests>=2.31.0
Provides-Extra: dev
Requires-Dist: mypy>=1.8.0; extra == 'dev'
Requires-Dist: pytest-cov>=4.1.0; extra == 'dev'
Requires-Dist: pytest>=8.0.0; extra == 'dev'
Requires-Dist: ruff>=0.2.0; extra == 'dev'
Description-Content-Type: text/markdown

# Grandstream Home API

Python API library for Grandstream GDS372X/GSC356X (Door Access Devices) and GNS5004X (NAS) devices.

## Installation

```bash
pip install grandstream-home-api
```

## Usage

### GDS Door Access Devices

```python
from grandstream_home_api import GDSPhoneAPI

api = GDSPhoneAPI(
    host="192.168.1.100",
    username="admin",
    password="password",
    port=8443,
)

if api.login():
    # Get device status
    status = api.get_phone_status()

    # Unlock door
    api.unlock_door(door_id=1)

    # Get RTSP stream URL
    rtsp_url = api.get_rtsp_url()
```

### GNS NAS

```python
from grandstream_home_api import GNSNasAPI

api = GNSNasAPI(
    host="192.168.1.100",
    username="admin",
    password="password",
    port=5000,
)

if api.login():
    # Get system info
    info = api.get_system_info()

    # Reboot device
    api.reboot()
```

## Supported Devices

- **GDS372X/GSC356X Series**
- **GNS5004X Series**

## License

Apache License 2.0

