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 Python’s 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 PHP’s 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.0.0.tar.gz (21.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.0.0-py3-none-any.whl (21.8 kB view details)

Uploaded Python 3

File details

Details for the file python_unifi_client-1.0.0.tar.gz.

File metadata

  • Download URL: python_unifi_client-1.0.0.tar.gz
  • Upload date:
  • Size: 21.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.0.0.tar.gz
Algorithm Hash digest
SHA256 f72a994a70e3aecbec40a348cf83173fb6105c600a4ef1dc899445c8d0e3cad4
MD5 0bede69247757cc72d3654ed1d47cd6f
BLAKE2b-256 749c7d9bcde93abaa413ea9d72c1bf2f2be2c7d18d957907df9a28c7508608e0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for python_unifi_client-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7637b706ecc780131ec0bbdc6f30c61b4c92acd93c5dd0db7e49cf56d8565e14
MD5 9ab9e73cf6079d54eb9a70079f540b3e
BLAKE2b-256 e551d6a9fa6c002b86375072909385312082519623ded992a9b54401044f1af0

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