uptime-kuma-api-ng
Maintained fork of lucasheld/uptime-kuma-api, which appears abandoned (13 open PRs, 23 open issues, none merged/closed since 2023 as of this fork). Published as
uptime-kuma-api-ngon PyPI since the original name is taken; the importable module is stilluptime_kuma_api, so only yourpip installline changes. Fixesadd_monitor()/edit_monitor()against Uptime Kuma 2.x (missingconditionsfield) plus adelete_monitor()type bug. See MODERNIZATION_PLAN.md for deferred, larger-scope work (full 2.x audit, tests, CI, upstream PR/issue triage).Maintenance model: this fork is maintained primarily by an AI coding agent (Claude), under human supervision, not by a human reading every line. Changes are scoped, reviewed, and merged with that in mind. There is no warranty and no guarantee of correctness, security, or continued maintenance — use at your own risk, pin a version, and review the diff before upgrading. Issues and PRs are welcome and will be triaged and reviewed (by the human maintainer and/or AI) before merging, same as any other project — being AI-assisted doesn't mean auto-merged.
uptime-kuma-api
A wrapper for the Uptime Kuma Socket.IO API
uptime-kuma-api is a Python wrapper for the Uptime Kuma Socket.IO API.
This package was developed to configure Uptime Kuma with Ansible. The Ansible collection can be found at https://github.com/lucasheld/ansible-uptime-kuma.
Python version 3.7+ is required.
Supported Uptime Kuma versions:
| Uptime Kuma | uptime-kuma-api |
|---|---|
| 1.21.3 - 1.23.2 | 1.0.0 - 1.2.1 |
| 1.17.0 - 1.21.2 | 0.1.0 - 0.13.0 |
Security
This client never logs credentials (no print/logging calls anywhere in the library) and
sends your username/password/token only to the Uptime Kuma server URL you provide, over the
connection you configure. TLS verification is on by default.
Ongoing scanning, all free and running on every push/PR:
- CodeQL static analysis (GitHub's own SAST).
- Bandit for Python-specific security anti-patterns.
- pip-audit checking dependencies against the OSV vulnerability database, plus Dependabot opening PRs when a dependency has a fix available.
- OpenSSF Scorecard for overall repo security posture (branch protection, pinned dependencies, SAST coverage, etc.) — this one reports a 0-10 score, not a pass/fail; click the badge for the live breakdown.
Found a real security issue? Please open a GitHub issue — there's no dedicated security contact for this fork.
Installation
This fork is published on the Python Package Index (PyPI)
as uptime-kuma-api-ng (the original uptime-kuma-api name is taken by the unmaintained upstream
project). The importable module is still uptime_kuma_api — only your pip install line changes.
You can install it using pip:
pip install uptime-kuma-api-ng
Documentation
The API Reference is available at rozsasarpi.github.io/uptime-kuma-api.
Example
Once you have installed the python package, you can use it to communicate with an Uptime Kuma instance.
To do so, import UptimeKumaApi from the library and specify the Uptime Kuma server url (e.g. 'http://127.0.0.1:3001'), username and password to initialize the connection.
>>> from uptime_kuma_api import UptimeKumaApi, MonitorType
>>> api = UptimeKumaApi('INSERT_URL')
>>> api.login('INSERT_USERNAME', 'INSERT_PASSWORD')
Now you can call one of the existing methods of the instance. For example create a new monitor:
>>> result = api.add_monitor(type=MonitorType.HTTP, name="Google", url="https://google.com")
>>> print(result)
{'msg': 'Added Successfully.', 'monitorID': 1}
At the end, the connection to the API must be disconnected so that the program does not block.
>>> api.disconnect()
With a context manager, the disconnect method is called automatically:
from uptime_kuma_api import UptimeKumaApi, MonitorType
with UptimeKumaApi('INSERT_URL') as api:
api.login('INSERT_USERNAME', 'INSERT_PASSWORD')
api.add_monitor(
type=MonitorType.HTTP,
name="Google",
url="https://google.com"
)
Release files for uptime-kuma-api-ng 1.4.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 | |
|---|---|---|---|
| uptime_kuma_api_ng-1.4.1.tar.gz | 56.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| uptime_kuma_api_ng-1.4.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 104.3 kB
Release files / uptime_kuma_api_ng-1.4.1.tar.gz
| Download URL | uptime_kuma_api_ng-1.4.1.tar.gz |
|---|---|
| Size | 56.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2ab0c90459036978c42b0c0c57eb4caf6937be42a6fb5430e758de6134da24e9
|
|
BLAKE2b-256 checksum How to use checksums |
bd92ddd08c33710732f79aacf33c04270383f274311d95addbebc71f52376b28
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.14
|
Release files / uptime_kuma_api_ng-1.4.1-py3-none-any.whl
| Download URL | uptime_kuma_api_ng-1.4.1-py3-none-any.whl |
|---|---|
| Size | 48.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f6e70436c710dfef264f11a506f8e5524a258d5cc701707223293da1e7d974d6
|
|
BLAKE2b-256 checksum How to use checksums |
3e827599fd00ce1524a3d6a33805184d6fe63776cc1d1bc54ad3814c3706f09f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.14
|