pydahua
DahuaAPI Python Library for Biometric and Access Control Devices
pydahua is a Python library designed to simplify interaction with Dahua biometric devices and access control systems. It provides a set of high-level methods for managing users, fetching attendance logs, configuring device settings, and handling network or system parameters via HTTP API.
Features
- Retrieve system information (serial number, hardware version, device type).
- Manage users:
- Add, delete, and fetch user information.
- Enroll new access control cards.
- Fetch attendance logs and offline records.
- Configure device settings:
- Network, language, general system configuration.
- Snapshot, record, and record mode configuration.
- Set system time and language.
- Reboot or shut down devices.
- Fully compatible with Python 3.10+.
- Lightweight and dependency minimal (
requestsonly).
Installation
Install via pip:
pip install pydahua
Usage
from pydahua import DahuaAPI
from datetime import datetime
# Initialize the Dahua API client
dahua = DahuaAPI(ip="http://192.168.1.100", username="admin", password="password")
# Get system information
system_info = dahua.get_system_info()
print(system_info)
# Fetch all users
users = dahua.get_user_info_all()
print(users)
# Enroll a new access control card
response = dahua.enroll_new_user(
card_name="John Doe",
card_no="123456",
user_id="JD1001",
password="Pass@123"
)
print(response)
# Fetch attendance records for a specific card
logs = dahua.get_control_card_rec(
card_no="123456",
start_time=datetime(2025, 1, 1, 0, 0, 0),
end_time=datetime(2025, 1, 18, 23, 59, 59)
)
print(logs)
# Set system time
dahua.set_system_time(date="2025-10-18", time="23:00:00")
Supported Devices
This library works with Dahua biometric and access control devices that support HTTP API endpoints. Confirm your device supports magicBox.cgi, configManager.cgi, userManager.cgi, and recordFinder.cgi endpoints.
Documentation
- System info:
get_system_info(),get_serial_number(),get_hardware_version(),get_device_type() - User management:
add_user(),delete_user(),get_user_info(),get_user_info_all() - Access cards:
enroll_new_user(),get_control_card_rec() - Logs:
fetch_attendance_logs(),get_logs() - Configuration:
get_general_config(),set_general_config(),get_basic_config(),set_basic_config(),get_record_config(),set_record_config() - Time & language:
get_system_time(),set_system_time(),get_language_config(),set_language_config() - Device operations:
reboot_device(),shutdown_device()
Dependencies
requests>=2.0
License
This project is licensed under the LGPL 3.0 License.
Author
Sreethul Krishna Email: sreethulkrishna24@gmail.com
Project Links
Metadata
Release files for pydahua 0.1.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 |
|---|---|---|---|---|
| pydahua-0.1.1.tar.gz | 8.5 kB | Without provenance | Details for pydahua-0.1.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| pydahua-0.1.1-py3-none-any.whl | Python 3 | none | any | Details for pydahua-0.1.1-py3-none-any.whl |
Total release size: 16.6 kB
Release files / pydahua-0.1.1.tar.gz
| Download URL | pydahua-0.1.1.tar.gz |
|---|---|
| Size | 8.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4c73891ade236af0a9accba265b7deb505b24c144bb68949fef5fd74d463da86
|
|
BLAKE2b-256 checksum How to use checksums |
9aac8352d3a84ef5c934c57b33415728693e97f901be954b7625032d004723fa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.0
|
Release files / pydahua-0.1.1-py3-none-any.whl
| Download URL | pydahua-0.1.1-py3-none-any.whl |
|---|---|
| Size | 8.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d5b42bf5e69226395214687b88b25e419a2bbd9afbe1bf1f39ff46ea1d156d02
|
|
BLAKE2b-256 checksum How to use checksums |
953a71c269875c4f1dac9155736bb58cdbcd0ff475438abdb4606b505a5ddec4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.0
|
Security for pydahua 0.1.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.