No project description provided
Project description
UniFi API Client Python Port
A Python port of the Art_of_WiFi/Unifi_API_Client library for interacting with Ubiquiti UniFi controllers.
This project preserves the original PHP functionality via Pythons requests and offers:
- cURL_style options mirroring the PHP implementation
- Session management (login/logout)
- Controller_side backup generation & download
- Most REST/stat endpoints translated to Python
Note: User_management methods (create/update/delete) are currently non‑functional due to authorization/404 errors. Contributions welcome!
Features
- Login to UniFi OS & classic controllers
- Generate and download network backups
- Mirror PHPs cURL options for timeouts, headers, SSL, etc.
- All major API/stat endpoints converted
- CSRF handling for UniFi OS
Dependencies
- http
- sys
- requests
- From requests.exceptions import Timeout, RequestException
- time
- re
- json
- urllib.parse
- http.client
- logging
- base64
Example Usage
from client import Client
# Initialize (disable SSL verify if using self‑signed certs)
client = Client(
user="admin",
password="secret",
baseurl="https://your-controller-ip",
ssl_verify=False
)
# Login
client.login()
# List sites
sites = client.list_sites()
print(sites)
# Generate & download backup
bak = client.generate_backup(days=0) # returns [{'url': '/dl/backup/XYZ.unf'}]
content = client.download_backup(bak[0]['url'])
with open("backup.unf", "wb") as f:
f.write(content)
# Logout
client.logout()
Known Issues
- User management (create/update/delete) as well as some other admin required permissions return 404/unauthorized
- Some endpoints don't get met
License
- Same as the original github
- MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file python_unifi_client-1.2.5.tar.gz.
File metadata
- Download URL: python_unifi_client-1.2.5.tar.gz
- Upload date:
- Size: 22.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5f3151bd9d5d4792169b498a7ad94f2914b96b4704e2f8c4567a12aa257d3b28
|
|
| MD5 |
bdef137e1ba68e411257af8d1870bb93
|
|
| BLAKE2b-256 |
d1dc671f99f2579d8f80d6c2a79f0c25a0c0c3e2900e3f6c2cd8f2c0b820fa3a
|
File details
Details for the file python_unifi_client-1.2.5-py3-none-any.whl.
File metadata
- Download URL: python_unifi_client-1.2.5-py3-none-any.whl
- Upload date:
- Size: 21.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
186cf54a116f04cfda6ff2313c99b87f5139bc08d7f4d61989fab11f9b6f109c
|
|
| MD5 |
a5db58e4f03e5ea4f22d70e564e58da8
|
|
| BLAKE2b-256 |
1f92ad7cd0507264dcace1daa9c013544904959c1d74e155b0c46d03f5d93336
|