--- id: acme version: "5.7.0" license: Apache-2.0 license_treatment: permissive maintenance: active --- # acme — ACME protocol implementation in Python License: permissive · Maintenance: active · Downloads: 6.4M/mo ## What it is and what it does ACME is a Python implementation of the ACME protocol (RFC 8555), the standard used by Let's Encrypt and other certificate authorities to automate the issuance and renewal of TLS certificates. It handles the cryptographic handshake and domain validation flow required to prove control of a domain and obtain a certificate from an ACME-compliant CA. The package is primarily used as the backend for Certbot, the EFF's command-line tool, but can also be imported and used programmatically by applications that need to automate certificate provisioning. It manages the full lifecycle of certificate requests, including challenge responses, certificate retrieval, and revocation. It depends on cryptography for cryptographic operations, PyOpenSSL for certificate handling, requests for HTTP communication, and josepy and pyrfc3339 for ACME-specific protocol details. Use it for: - Automate TLS certificate provisioning and renewal for web servers without manual intervention. - Build custom certificate management tools that integrate with Let's Encrypt or other ACME CAs. - Implement domain validation workflows in applications that need to prove control of domains. - Revoke or manage certificates programmatically as part of infrastructure automation. - Support multi-domain and wildcard certificate issuance through ACME challenge automation. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Implements the ACME protocol to automate certificate provisioning and renewal from Let's Encrypt and other ACME-compliant certificate authorities. Yes. This is a production-stable (Development Status 5), actively maintained package with no known vulnerabilities, low install friction, and permissive licensing. Install it if you need to automate certificate provisioning from Let's Encrypt or other ACME services, either as part of Certbot or as a library for custom certificate management workflows. The only caveat is that it requires Python 3.10+ and is designed for server-side use, not client machines. ## Install pip install acme uv add acme poetry add acme ## Installing acme Before you install: Low friction installation with a pure-Python wheel. Actively maintained with a release within 30 days and last commit on 2026-08-12. Depends on five well-established runtime packages: cryptography, josepy, PyOpenSSL, pyrfc3339, and requests. License in practice: Licensed under Apache-2.0 (permissive), allowing use in commercial and private projects with minimal restrictions beyond attribution and liability disclaimers. Quickstart: pip install acme from acme import client from acme import messages # Instantiate a client and interact with an ACME server my_client = client.ClientV2(directory_url, net=net_obj) Requires Python 3.10 or later. Typically run on a web server with direct access to domain control; not designed for personal computers or hosted environments without certificate upload capability. Verify before relying: - Whether the package is suitable for programmatic use in applications versus command-line-only operation (description emphasizes Certbot CLI tool). - Specific ACME server compatibility beyond Let's Encrypt (description mentions 'other ACME compliant services' but does not detail which ones). - Whether certificate installation/deployment is handled by this package or delegated to separate plugins. ## Package facts - License: Apache-2.0 (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 6.4M/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags ACME protocol client, Let's Encrypt certificate automation, TLS certificate provisioning, automated certificate renewal, ACME certificate management, domain validation automation, certificate authority integration, certificate-automation, acme-protocol, lets-encrypt [View on SkillFed](https://skillfed.io/packages/acme) · [View on PyPI](https://pypi.org/project/acme/)