Sewer is a Let's Encrypt(ACME) client.
It's name is derived from Kenyan hip hop artiste, Kitu Sewer.
PYTHON compatibility: 3.5 is nominally still supported, and with assistance from Github's multi-version Python linting I've repaired some issues. Even with the GH multi-version testing, there are parts of the drivers, especially, which I simply can't test (with 3.5) because the actual service provider interaction has to be mocked. Such issues will be fixed on a best-effort basis when reported for the life of 0.8.
I (maintainer @mmaney) loiter in channel ##sewer (on irc.freenode.net) for those who remember IRC. Don't ask to ask, but waiting is.
- Obtain or renew SSL/TLS certificates from Let's Encrypt
- Supports acme version 2 (current RFC including post-as-get).
- Support for SAN certificates.
- Supports wildcard certificates.
- Bundling certificates.
- Support for both RSA and ECDSA for account and certificate keys.
- Supports DNS and HTTP challenges
- sewer is both a command-line program and a Python library for custom use
- Well written(if I have to say so myself):
pip3 install sewer # with All DNS Provider support, include aliyun, Hurricane Electric, Aurora, ACME ... # pip3 install sewer[alldns] # with Cloudflare support # pip3 install sewer[cloudflare] # with Aliyun support # pip3 install sewer[aliyun] # with HE DNS(Hurricane Electric DNS) support # pip3 install sewer[hurricane] # with Aurora DNS Support # pip3 install sewer[aurora] # with ACME DNS Support # pip3 install sewer[acmedns] # with Rackspace DNS Support # pip3 install sewer[rackspace] # with DNSPod DNS Support # pip3 install sewer[dnspod] # with DuckDNS DNS Support # pip3 install sewer[duckdns] # with ClouDNS DNS Support # pip3 install sewer[cloudns] # with AWS Route 53 DNS Support # pip3 install sewer[route53] # with PowerDNS DNS Support # pip3 install sewer[powerdns]
sewer(since version 0.5.0) is now python3 only. To install the (now unsupported) python2 version:
pip install sewer==0.3.0
Sewer is in active development and it's API will change in backward incompatible ways. https://pypi.python.org/pypi/sewer
See the how to contribute documentation
- Why another ACME client?
I wanted an ACME client that I could use to programmatically(as a library) acquire/get certificates. However I could not find anything satisfactory for use in Python code.
- Why is it called Sewer? I really like the Kenyan hip hop artiste going by the name of Kitu Sewer.