Sewer is a programmatic Lets Encrypt(ACME) client
Project description
Sewer
Sewer is a Let's Encrypt(ACME) client.
It's name is derived from Kenyan hip hop artiste, Kitu Sewer.
NB: sewer is mostly compatible with CPython back to 3.5, but f-strings in particular keep trying to creep in. As of 0.8.3 none of the core code nor included drivers require f-strings, but they've been showing up in recent contributions and are already in a fair bit of test code. Expect to need at least 3.6+ for sewer 0.9. I would prefer to maintain 3.5 compatibility until then, but it's not currently tested in CI. I will be happy to accept patches for any issues that show up. — @mmaney
Features
- 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.
- Supports DNS and HTTP challenges
- List of currently supported DNS services and BYO-service notes
- HTTP challenges are a new feature, no operational drivers in the tree yet. See usage and BYO-service notes
- sewer is both a command-line program and a Python library for custom use
- Well written(if I have to say so myself):
- Good test coverage
- Passing continuous integration
- High grade statically analyzed code
- type hinting to support mypy verification is a recently begun WIP
Installation
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, run;
pip install sewer==0.3.0
Sewer is in active development and it's API may will change in backward incompatible ways.
https://pypi.python.org/pypi/sewer
Development setup
See the how to contribute documentation
FAQ
- 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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file sewer-0.8.3b1.tar.gz
.
File metadata
- Download URL: sewer-0.8.3b1.tar.gz
- Upload date:
- Size: 34.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5f60593b170980805fae5646d2aee27debe3c5dbb24bda1142f9ad5166d5880a |
|
MD5 | 56bf67265ef1df467f1e9a45eed7c4af |
|
BLAKE2b-256 | ddb830ff0ef0c1f33e37f8a04875451ce44d7682b6ed18c2c92b1a5f7a7a2743 |
File details
Details for the file sewer-0.8.3b1-py3-none-any.whl
.
File metadata
- Download URL: sewer-0.8.3b1-py3-none-any.whl
- Upload date:
- Size: 43.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | de45647e7ef6c28d21aabbbc174a39fa074081558a8e93addc69277db103eaa5 |
|
MD5 | ac3ae5da2f4f4c59b5340fe4f7e074a1 |
|
BLAKE2b-256 | 157efa098187e723592a4dcafd6ab67e60bb69298ee59cdf8186fc3874b43eed |