Skip to content
Go to file

Latest commit

Martin Maney

(from what I can make out in the bug tracker, they've been playing whack a
mole with this for a year or so.  All this to support what was apparently an
accidental (or in hindsight mistaken ?) "feature" in the 3.6 era parser that
accepted this crap?  nigri delenda est, indeed.)

Git stats


Failed to load latest commit information.
Latest commit message
Commit time


Codacy Badge CircleCI codecov Code style: black

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 for those who remember IRC. Don't ask to ask, but waiting is.



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.

Development setup

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.
You can’t perform that action at this time.