certbot
ACME client
What it is and what it does
Certbot is an ACME client that automates the process of obtaining and deploying TLS certificates from Let's Encrypt, an open certificate authority. It runs on your web server and handles the full lifecycle: fetching domain-validated certificates, installing them on Apache, nginx, or other servers, and managing renewal. The tool is free and designed to eliminate the manual hassle of certificate management by automating validation, installation, and configuration changes.
The package depends on cryptographic libraries (cryptography, josepy), ACME protocol support (acme), and configuration tools (ConfigArgParse, configobj) to communicate with Let's Encrypt and manage server configuration. It supports multiple deployment modes including direct web server plugins, a standalone mode that runs its own validation server, and webroot mode for shared hosting. Configuration changes are logged and reversible, and the tool can optionally set up automatic HTTP-to-HTTPS redirects.
Use it for:
- Automate initial TLS certificate issuance and deployment on a Linux web server running Apache or nginx.
- Set up automatic certificate renewal to prevent expiration and downtime on production HTTPS sites.
- Obtain domain-validated certificates for multiple subdomains or domains in a single operation.
- Deploy certificates on shared hosting or restricted environments using webroot mode without direct server control.
- Revoke or replace certificates when needed as part of security incident response or certificate rotation.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Certbot is a command-line client that automatically obtains TLS certificates from Let's Encrypt and deploys them to web servers, handling certificate renewal and HTTPS configuration.
Yes. Certbot is production-stable, actively maintained, and widely used. It solves a critical operational need—automating TLS certificate lifecycle management—with no security vulnerabilities and permissive licensing. Install it if you operate a web server and need to manage HTTPS certificates.
Install
certbot on PyPI
pip
pip install certbotuv
uv add certbotpoetry
poetry add certbotInstalling certbot
Before you install
Low install friction with a pure Python wheel distribution. Actively maintained with a release 30 days ago and ongoing commits; the project has 33201 stars and supports current Python versions (3.10+).
License in practice
Licensed under Apache-2.0 (permissive), allowing use in commercial and private projects with minimal restrictions beyond attribution.
Quickstart
pip install certbot
certbot certonly --webroot -w /var/www/html -d example.com
Requires root or administrator access to the web server and direct command-line access; cannot be run from a personal computer to manage a hosted service.
Verify before relying
- Whether third-party plugins are included or must be installed separately.
- Performance characteristics when managing certificates for many domains.
- Exact compatibility scope beyond Apache 2.4+ and nginx/0.8.48+ mentioned in the description.
Package facts
| License | Apache-2.0 (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 10 — acme, ConfigArgParse, configobj, cryptography, distro, importlib_metadata, josepy, parsedatetime, pyrfc3339, pywin32 |
| Maintenance | actively maintained — 30 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 696,561/month — #5,303 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: certbot-5.7.0-py3-none-any.whl
Tags
More WWW/HTTP packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
h11h11 is a pure-Python HTTP/1.1 protocol…
permissive · top 100 on PyPI
httpxHTTPX is a fully featured HTTP client library…
permissive · top 100 on PyPI
httpcoreA minimal low-level HTTP client library that…
permissive · top 100 on PyPI
aiohttpaiohttp is an async HTTP client and server…
permissive · top 100 on PyPI
acmeImplements the ACME protocol to automate…
permissive · top 5,000 on PyPI
certbot-nginxCertbot-nginx is a plugin for Certbot that…
permissive · top 15,000 on PyPI
certbot-dns-cloudflareAutomates DNS validation for Let's Encrypt…
permissive · top 5,000 on PyPI
certbot-dns-route53A Certbot plugin that automates DNS validation…
permissive · top 15,000 on PyPI
certbot-dns-directadminA Certbot plugin that automates DNS-01…
unclear · top 15,000 on PyPI
certbot-dns-multiA Certbot DNS plugin that automates ACME DNS…
permissive · top 15,000 on PyPI
certbot-dns-duckdnsA certbot plugin that automates DNS-01…
permissive · top 15,000 on PyPI
secure-smtplibProvides secure SMTP subclasses with TLS/SSL…
unclear · top 15,000 on PyPI
certifiCertifi provides Mozilla's curated collection…
copyleft · top 100 on PyPI
pemParses and splits PEM files (Base64-encoded DER…
permissive · top 5,000 on PyPI