Skip to main content

A simple Django app to handle Let's Encrypt ACME challenges.

Project description

Let's Encrypt App for Django

django-letsencrypt will allow you to add, remove, and update any ACME challenge objects you may need through your Django admin interface. Simply add the ACME challenge and response for your app to serve up the necessary information for Let's Encrypt validation.

This project strives to make installation, configuration, and usage a snap! From high levels of code coverage, multiple compatible python versions, multiple versions of Django supported, even multiple databases too!

And of course all wrapped up and published to PyPI for standard installation!

Supported Configurations

django-letsencrypt is tested across a number of configurations, here's what's supported so far:

  • Python Versions Supported:
    • 3.14 (with Django 6.0, 5.2)
    • 3.13 (with Django 6.0, 5.2)
    • 3.12 (with Django 6.0, 5.2, 4.2)
    • 3.11 (with Django 5.2, 4.2)
    • 3.10 (with Django 5.2, 4.2)
  • Django Versions Supported:
    • 6.0 minimum version 6.0.2
    • 5.2 LTS minimum version 5.2.11
    • 4.2 LTS minimum version 4.2.28
  • Databases Supported:
    • mysql
    • postgres
    • sqlite

Recent Build Status Badges

  • Linting - Master
  • Testing Django 4.2 - Master
  • Testing Django 5.2 - Master
  • Testing Django 6.0 - Master
  • Codecov - Master

Installation & Configuration

  1. pip install django-letsencrypt

  2. Add letsencrypt to your INSTALLED_APPS

INSTALLED_APPS = [
   ... ,
   'letsencrypt',
   ... ,
]
  1. Include the letsencrypt in your project's urls.py, or where applicable (usually your root urls.py).
re_path(r'^\.well-known/', include('letsencrypt.urls'))
  1. Run manage.py migrate to create the required table for the letsencrypt model

  2. Create your ACME Challenge objects in your Django admin interface

  3. Test your ACME Challenge objects and their responses by visiting them:

{Django Site}/.well-known/acme-challenge/challenge_text
  1. Enjoy your easy to manage ACME Challenges inside your Django project!

Example Project

If you would like a demo of how to use this application simply clone this project's git repository from GitHub, take a moment to read the README.md file within the example_project directory, and follow the directions. That will spin up a small sample django application already configured for you to try out.

Development

  1. Make sure you have installed uv in your environment.
  2. Clone the repo to your development machine.
  3. Configure your git hooks with git config core.hooksPath .githooks for the project.
  4. Run uv sync to create the virtual environment and install required dependencies.
  5. Run make test for the full test suite.
  6. Run make test-tox to run the entire tox suite.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django_letsencrypt-6.0.1.tar.gz (14.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

django_letsencrypt-6.0.1-py3-none-any.whl (14.1 kB view details)

Uploaded Python 3

File details

Details for the file django_letsencrypt-6.0.1.tar.gz.

File metadata

  • Download URL: django_letsencrypt-6.0.1.tar.gz
  • Upload date:
  • Size: 14.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for django_letsencrypt-6.0.1.tar.gz
Algorithm Hash digest
SHA256 5a78c6062fa72c1e44592c96a62c1aec9782082a42098dc6355b5006552f5e11
MD5 6b85d5843473b1d171063e835d4dbc37
BLAKE2b-256 28def4bc2698fd8688e6edf5308ea08fbcd7e81df5052207362cf9445011eb27

See more details on using hashes here.

File details

Details for the file django_letsencrypt-6.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for django_letsencrypt-6.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 89c5c7e8f92d6cde77991a6920a8d17f9d59b3fde68ff3fe4e3eb864a0ac2fe6
MD5 7700d6ae40ece36da56b8356a38cbc20
BLAKE2b-256 2986c7e014a510bbe69f7d3284c015382c70df9e313d4bd95077ae6056ada043

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page