Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

python_unifi_client-1.2.5.tar.gz (22.5 kB view details)

Uploaded Source

Built Distribution

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

python_unifi_client-1.2.5-py3-none-any.whl (21.8 kB view details)

Uploaded Python 3

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

Hashes for python_unifi_client-1.2.5.tar.gz
Algorithm Hash digest
SHA256 5f3151bd9d5d4792169b498a7ad94f2914b96b4704e2f8c4567a12aa257d3b28
MD5 bdef137e1ba68e411257af8d1870bb93
BLAKE2b-256 d1dc671f99f2579d8f80d6c2a79f0c25a0c0c3e2900e3f6c2cd8f2c0b820fa3a

See more details on using hashes here.

File details

Details for the file python_unifi_client-1.2.5-py3-none-any.whl.

File metadata

File hashes

Hashes for python_unifi_client-1.2.5-py3-none-any.whl
Algorithm Hash digest
SHA256 186cf54a116f04cfda6ff2313c99b87f5139bc08d7f4d61989fab11f9b6f109c
MD5 a5db58e4f03e5ea4f22d70e564e58da8
BLAKE2b-256 1f92ad7cd0507264dcace1daa9c013544904959c1d74e155b0c46d03f5d93336

See more details on using hashes here.

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