Skip to content

Nuki Web API Python Client

PyPI - Version GitHub Actions Workflow Status PyPI - License

A Python client for the Nuki Web API, providing convenient access to smartlock management, accounts, and related features.

Features

  • Full client for the Nuki Web API
  • Pythonic classes for Smartlock, Account, ApiKey, etc.
  • Async-friendly (compatible with httpx or aiohttp)
  • Typed for better IDE support
  • Integrated with mkdocstrings for auto-generated docs

Installation

pip install nukiwebapi

Usage

from nukiwebapi import NukiWebAPI

client = NukiWebAPI("YOUR_ACCESS_TOKEN")

for lock_id, lock in client.lock_instances:
    print(lock.name)
    print(lock.hex_id)

    print(lock.is_locked)
    print(lock.battery_charge)

Documentation

API Reference

Development

Clone the repository and install in editable mode:

git clone https://github.com/barghest89/nuki-web-api.git
cd nuki-web-api
pip install -e ".[dev]"

Run tests:

pytest

License

This project is licensed under the MIT license.