certmate-sdk
A thin, dependency-light Python client for the CertMate REST API.
from certmate import Client
with Client("https://certmate.example.com", token="...") as c:
job = c.create_certificate("app.example.com", dns_provider="cloudflare", wait=True)
for cert in c.list_certificates():
print(cert.domain, cert.days_until_expiry, cert.has_expired())
print(c.audit_verify()["ok"])
base_url/token fall back to CERTMATE_URL / CERTMATE_TOKEN. The only
runtime dependency is httpx — no server code, no certbot.
Asking whether a certificate has expired
Use cert.has_expired(), not cert.days_until_expiry <= 0.
days_until_expiry is a whole number of days and rounds down, so a
certificate with 23 hours of life left reports 0, and that comparison calls
it expired. CertMate's own dashboard did exactly that until server 2.32.2, and
on a private CA it was every certificate: step-ca issues 24-hour certificates
by default.
has_expired() returns the server's own answer on API contract 2.2 and later
(cert.expired, with cert.seconds_left beside it for the real remaining
life). Against an older server it returns what a day count can honestly
support: True below zero, False above it, and None on exactly zero,
which is the one day the number cannot tell apart. None also means the
server could not parse the certificate, which is neither expired nor fine.
Metadata
Release files for certmate-sdk 0.1.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| certmate_sdk-0.1.5.tar.gz | 9.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| certmate_sdk-0.1.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 20.6 kB
Release files / certmate_sdk-0.1.5.tar.gz
| Download URL | certmate_sdk-0.1.5.tar.gz |
|---|---|
| Size | 9.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
84940baa0869d42fc7ff9e1c74f3b42786f0eba27b25b045b3672e2aa11b34d7
|
|
BLAKE2b-256 checksum How to use checksums |
91ce51d3ab9bb09126c2da7a476e713a846a9e0adcd8693e4ce9df1fd3107876
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 16, 2026.
Transparency logRelease files / certmate_sdk-0.1.5-py3-none-any.whl
| Download URL | certmate_sdk-0.1.5-py3-none-any.whl |
|---|---|
| Size | 10.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c374c6f3c1479fddab17d09bc63228de2e6b2d2ad8bacebe591929ebef53453f
|
|
BLAKE2b-256 checksum How to use checksums |
6b4c976050ac92136bc4daf2e87ade93df2da1638f537804042f40568d8ea114
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 16, 2026.
Transparency log