Skip to main content

Scadere

Scadere is a TLS certificate renewal reminder. It checks for certificates that are about to expire and provides an Atom feed for notification.

Installation

The recommended installation method is through your distribution. Installing from source should only be considered as a last resort; if you are capable of doing so, please also package scadere for your distribution.

Scadere requires Python 3.11 or later, and uses flit 3.12 or above as the PEP 517 build backend. Installation can be done with flit install or pip install ..

With scadere-check and scadere-listen under $prefix/bin, the manual pages can be built and installed using make(1p), GNU help2man and install(1):

cd doc
make PREFIX=$prefix
make install PREFIX=$prefix

(FYI, GNU make has an extension that allows specifying --directory=doc, which can save you from having to change the directory.)

Usage

Expiration checking

$ scadere-check --help
Usage: scadere-check [-h] [-v] [-d DAYS] [-o PATH] HOST[:PORT]...

Check TLS certificate expiration of HOST, where PORT defaults to 443.

Options:
  -h, --help            show this help message and exit
  -v, --version         show program's version number and exit
  -d DAYS, --days=DAYS  days before expiration (default to 7)
  -o PATH, --output=PATH
                        output file (default to stdout)

It is recommended to schedule scadere-check chronically. See contrib/scadere-check.* for an example systemd timer configuration.

Expiration notification

$ scadere-listen --help
Usage: scadere-listen [-h] [-v] [-t TITLE] PATH URL [[HOST][:PORT]]

Serve at URL Atom feeds for TLS certificate renewal reminder.
It is possible for clients to filter domains
using one or more "domain" URL queries.

The certificate information is read from the file at PATH,
which is generated by scadere-check(1).

The server listens for TCP connections coming to HOST:PORT,
where HOST defaults to localhost and PORT is selected randomly
if not specified.

Options:
  -h, --help            show this help message and exit
  -v, --version         show program's version number and exit
  -t TITLE, --title=TITLE
                        title of Atom feeds (default to PATH's filename)

A sample scadere-listen.service for systemd is also available under the contrib directory.

Hacking

Unit testing is done with pytest, pytest-asyncio, Hypothesis and trustme. Since scadere itself does not depend on any Python package, it is safe to be tested in-tree:

PYTHONPATH=src pytest

Contributing

Issues should be reported to chung@loa.loang.net.

The mailing list also welcomes patches. Please maintain a full branch coverage, keep the hobgoblins happy, and ensure the software is easy to reuse:

PYTHONPATH=src coverage run && coverage report
flake8
reuse lint

Patches should be sent using git send-email with the following configuration:

git config sendemail.to 'chung@loa.loang.net'
git config format.subjectPrefix 'PATCH scadere'

Copying

AGPLv3

Scadere is free software: you can redistribute and/or modify it under the terms of the GNU Affero General Public License version 3 or later.

Metadata

Release files for scadere 0.2.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for scadere 0.2.4
File Size Uploaded Provenance
scadere-0.2.4.tar.gz 31.1 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for scadere 0.2.4
File Interpreter ABI Platform
scadere-0.2.4-py3-none-any.whl Python 3 none any Details

Total release size: 58.6 kB

Release files / scadere-0.2.4.tar.gz

Download URL scadere-0.2.4.tar.gz
Size 31.1 kB
Tags Source
SHA-256 checksum
How to use checksums
6bf1833865b4ae632a283190207082b3ea4e6ceecb68186c852b2600f927fb8e
BLAKE2b-256 checksum
How to use checksums
0b360e35df0ce533ccaa117e21d17d305592f42725254d535ff18cfc70eb14e4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-requests/2.32.4

Release files / scadere-0.2.4-py3-none-any.whl

Download URL scadere-0.2.4-py3-none-any.whl
Size 27.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9f6a1ddc4ba3205bebe82680cbc6ba9851c7449062251d4a4bed525d1154e692
BLAKE2b-256 checksum
How to use checksums
6d279865f8f51b240fc8f03542ca685547fb070eca9b7c3d1c51477832690a27
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-requests/2.32.4

Security for scadere 0.2.4

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page