django-letsencrypt 4.1.0__tar.gz → 6.0.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {django-letsencrypt-4.1.0 → django_letsencrypt-6.0.0}/CHANGELOG.md +50 -0
- {django-letsencrypt-4.1.0/django_letsencrypt.egg-info → django_letsencrypt-6.0.0}/PKG-INFO +50 -30
- {django-letsencrypt-4.1.0 → django_letsencrypt-6.0.0}/README.md +25 -14
- {django-letsencrypt-4.1.0 → django_letsencrypt-6.0.0/django_letsencrypt.egg-info}/PKG-INFO +50 -30
- {django-letsencrypt-4.1.0 → django_letsencrypt-6.0.0}/django_letsencrypt.egg-info/SOURCES.txt +1 -2
- django_letsencrypt-6.0.0/django_letsencrypt.egg-info/requires.txt +2 -0
- {django-letsencrypt-4.1.0 → django_letsencrypt-6.0.0}/letsencrypt/__init__.py +2 -2
- django_letsencrypt-6.0.0/pyproject.toml +85 -0
- {django-letsencrypt-4.1.0 → django_letsencrypt-6.0.0}/setup.cfg +0 -3
- django-letsencrypt-4.1.0/django_letsencrypt.egg-info/requires.txt +0 -2
- django-letsencrypt-4.1.0/setup.py +0 -64
- {django-letsencrypt-4.1.0 → django_letsencrypt-6.0.0}/LICENSE +0 -0
- {django-letsencrypt-4.1.0 → django_letsencrypt-6.0.0}/MANIFEST.in +0 -0
- {django-letsencrypt-4.1.0 → django_letsencrypt-6.0.0}/django_letsencrypt.egg-info/dependency_links.txt +0 -0
- {django-letsencrypt-4.1.0 → django_letsencrypt-6.0.0}/django_letsencrypt.egg-info/top_level.txt +0 -0
- {django-letsencrypt-4.1.0 → django_letsencrypt-6.0.0}/letsencrypt/admin.py +0 -0
- {django-letsencrypt-4.1.0 → django_letsencrypt-6.0.0}/letsencrypt/apps.py +0 -0
- {django-letsencrypt-4.1.0 → django_letsencrypt-6.0.0}/letsencrypt/migrations/0001_squashed_0004_squash_for_mysql_support.py +0 -0
- {django-letsencrypt-4.1.0 → django_letsencrypt-6.0.0}/letsencrypt/migrations/__init__.py +0 -0
- {django-letsencrypt-4.1.0 → django_letsencrypt-6.0.0}/letsencrypt/models.py +0 -0
- {django-letsencrypt-4.1.0 → django_letsencrypt-6.0.0}/letsencrypt/tests.py +0 -0
- {django-letsencrypt-4.1.0 → django_letsencrypt-6.0.0}/letsencrypt/urls.py +0 -0
- {django-letsencrypt-4.1.0 → django_letsencrypt-6.0.0}/letsencrypt/views.py +0 -0
|
@@ -1,5 +1,55 @@
|
|
|
1
1
|
# django-letsencrypt CHANGELOG
|
|
2
2
|
|
|
3
|
+
## v6.0.0
|
|
4
|
+
|
|
5
|
+
This release aligns with recent Django releases and Python releases.
|
|
6
|
+
|
|
7
|
+
- Breaking Changes:
|
|
8
|
+
- Dropped support for Python `3.8` and `3.9`.
|
|
9
|
+
- Dropped support for Django `5.0` and `5.1`.
|
|
10
|
+
- New Support:
|
|
11
|
+
- Added support for Django `6.0` (minimum version `6.0.1`).
|
|
12
|
+
- Added support for Django `5.2 LTS` (minimum version `5.2.10`).
|
|
13
|
+
- Updated Django `4.2 LTS` minimum version to `4.2.27`.
|
|
14
|
+
- Added support for Python `3.13` and `3.14`.
|
|
15
|
+
- Internal Updates:
|
|
16
|
+
- Migrated the project to use `uv` throughout.
|
|
17
|
+
- Replaced `setup.py`, `setup.cfg`, and `requirements.txt` with `pyproject.toml`.
|
|
18
|
+
- Removed `.python-version` file.
|
|
19
|
+
- Added `uv.lock` for pinned dependency resolution.
|
|
20
|
+
- Removed legacy `requirements.txt` files from the root and `example_project`.
|
|
21
|
+
- Updated the `example_project` Makefile and local integration script to use `uv`.
|
|
22
|
+
- Added `.githooks/pre-commit` to run `make test`.
|
|
23
|
+
- Build system now uses `uv build` instead of `python setup.py`.
|
|
24
|
+
- Updated `actions/checkout@v2` references to `actions/checkout@v6`.
|
|
25
|
+
- Renamed GitHub Actions workflows to match supported Django versions (`testing-42.yaml`, `testing-52.yaml`, `testing-60.yaml`).
|
|
26
|
+
- Updated `tox.ini` to test against Django `4.2`, `5.2`, and `6.0`.
|
|
27
|
+
- General `Makefile` refactoring.
|
|
28
|
+
- Added `scripts/testpypi_integration.sh` for testing deployed Test PyPI packages.
|
|
29
|
+
- Added Test PyPI integration test matrix to `tox.ini` with parallel execution support.
|
|
30
|
+
- Migrated unit tests to `pytest` with `pytest-django` and `pytest-cov`.
|
|
31
|
+
- Added Codecov test results integration via JUnit XML output.
|
|
32
|
+
- Fixed Codecov coverage upload by generating `coverage.xml` during test runs.
|
|
33
|
+
- General Updates:
|
|
34
|
+
- Added `Development` section to `README` with `uv` setup instructions.
|
|
35
|
+
- Updated `pyproject.toml` to include missing classifiers.
|
|
36
|
+
- Updated link in `README` to point to actual [RFC 8555](https://datatracker.ietf.org/doc/html/rfc8555).
|
|
37
|
+
|
|
38
|
+
## v5.1.0
|
|
39
|
+
|
|
40
|
+
There are no major project changes or code updates. This release aligns with
|
|
41
|
+
recent Django releases and Python releases.
|
|
42
|
+
|
|
43
|
+
- Internal Updates:
|
|
44
|
+
- Brought `tox` up-to-date with the current supported Django+Python versions.
|
|
45
|
+
- Brought GitHub actions up-to-date with the current supported Django+Python versions.
|
|
46
|
+
- This project will no longer use the "sign" feature of PyPi.
|
|
47
|
+
- See also: https://blog.pypi.org/posts/2023-05-23-removing-pgp/
|
|
48
|
+
- Dependency Updates:
|
|
49
|
+
- `pytz` version `2025.2` or greater now required.
|
|
50
|
+
- General Updates:
|
|
51
|
+
- Updated `README` with supported version information.
|
|
52
|
+
|
|
3
53
|
## v4.1.0
|
|
4
54
|
|
|
5
55
|
There are no major project changes or code updates. This release aligns with
|
|
@@ -1,40 +1,51 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: django-letsencrypt
|
|
3
|
-
Version:
|
|
3
|
+
Version: 6.0.0
|
|
4
4
|
Summary: A simple Django app to handle Let's Encrypt ACME challenges.
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
Platform: UNKNOWN
|
|
10
|
-
Classifier: Development Status :: 5 - Production/Stable
|
|
5
|
+
Author-email: Peter Urda <foss@urda.engineering>
|
|
6
|
+
License-Expression: Apache-2.0
|
|
7
|
+
Project-URL: Homepage, https://github.com/urda/django-letsencrypt
|
|
8
|
+
Classifier: Development Status :: 6 - Mature
|
|
11
9
|
Classifier: Environment :: Web Environment
|
|
12
10
|
Classifier: Framework :: Django
|
|
13
|
-
Classifier: Framework :: Django ::
|
|
14
|
-
Classifier: Framework :: Django ::
|
|
15
|
-
Classifier: Framework :: Django ::
|
|
11
|
+
Classifier: Framework :: Django :: 4
|
|
12
|
+
Classifier: Framework :: Django :: 4.2
|
|
13
|
+
Classifier: Framework :: Django :: 5
|
|
14
|
+
Classifier: Framework :: Django :: 5.2
|
|
15
|
+
Classifier: Framework :: Django :: 6
|
|
16
|
+
Classifier: Framework :: Django :: 6.0
|
|
17
|
+
Classifier: Framework :: Flake8
|
|
18
|
+
Classifier: Framework :: Pytest
|
|
19
|
+
Classifier: Framework :: tox
|
|
16
20
|
Classifier: Intended Audience :: Developers
|
|
17
|
-
Classifier:
|
|
21
|
+
Classifier: Intended Audience :: Information Technology
|
|
22
|
+
Classifier: Intended Audience :: System Administrators
|
|
18
23
|
Classifier: Natural Language :: English
|
|
19
24
|
Classifier: Operating System :: OS Independent
|
|
20
25
|
Classifier: Programming Language :: Python
|
|
21
26
|
Classifier: Programming Language :: Python :: 3
|
|
22
|
-
Classifier: Programming Language :: Python :: 3.7
|
|
23
|
-
Classifier: Programming Language :: Python :: 3.8
|
|
24
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
25
27
|
Classifier: Programming Language :: Python :: 3.10
|
|
28
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
29
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
30
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
31
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
26
32
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
27
33
|
Classifier: Topic :: Internet
|
|
28
34
|
Classifier: Topic :: Internet :: WWW/HTTP
|
|
29
35
|
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
|
|
30
|
-
|
|
36
|
+
Classifier: Topic :: Internet :: WWW/HTTP :: Site Management
|
|
37
|
+
Classifier: Topic :: Security
|
|
38
|
+
Requires-Python: <4,>=3.10
|
|
31
39
|
Description-Content-Type: text/markdown
|
|
32
40
|
License-File: LICENSE
|
|
41
|
+
Requires-Dist: Django>=4.2.27
|
|
42
|
+
Requires-Dist: pytz>=2025.2
|
|
43
|
+
Dynamic: license-file
|
|
33
44
|
|
|
34
45
|
# Let's Encrypt App for Django
|
|
35
46
|
|
|
36
47
|
`django-letsencrypt` will allow you to add, remove, and update any
|
|
37
|
-
[ACME challenge](https://
|
|
48
|
+
[ACME challenge](https://datatracker.ietf.org/doc/html/rfc8555) objects you may
|
|
38
49
|
need through your Django admin interface. Simply add the `ACME challenge`
|
|
39
50
|
and `response` for your app to serve up the necessary information for
|
|
40
51
|
[Let's Encrypt](https://letsencrypt.org/how-it-works/) validation.
|
|
@@ -46,33 +57,35 @@ versions of Django supported, even multiple databases too!
|
|
|
46
57
|
And of course all wrapped up and published to
|
|
47
58
|
[PyPI](https://pypi.org/project/django-letsencrypt/) for standard installation!
|
|
48
59
|
|
|
49
|
-
|
|
60
|
+
## Supported Configurations
|
|
50
61
|
|
|
51
62
|
`django-letsencrypt` is tested across a number of configurations, here's what's
|
|
52
63
|
supported so far:
|
|
53
64
|
|
|
54
65
|
- Python Versions Supported:
|
|
55
|
-
- `3.
|
|
56
|
-
- `3.
|
|
57
|
-
- `3.
|
|
66
|
+
- `3.14` (with Django `6.0`, `5.2`)
|
|
67
|
+
- `3.13` (with Django `6.0`, `5.2`)
|
|
68
|
+
- `3.12` (with Django `6.0`, `5.2`, `4.2`)
|
|
69
|
+
- `3.11` (with Django `5.2`, `4.2`)
|
|
70
|
+
- `3.10` (with Django `5.2`, `4.2`)
|
|
58
71
|
- Django Versions Supported:
|
|
59
|
-
- `
|
|
60
|
-
- `
|
|
61
|
-
- `
|
|
72
|
+
- `6.0` minimum version `6.0.1`
|
|
73
|
+
- `5.2 LTS` minimum version `5.2.10`
|
|
74
|
+
- `4.2 LTS` minimum version `4.2.27`
|
|
62
75
|
- Databases Supported:
|
|
63
76
|
- `mysql`
|
|
64
77
|
- `postgres`
|
|
65
78
|
- `sqlite`
|
|
66
79
|
|
|
67
|
-
|
|
80
|
+
## Recent Build Status Badges
|
|
68
81
|
|
|
69
82
|
- [](https://github.com/urda/django-letsencrypt/actions/workflows/linting.yaml)
|
|
70
|
-
- [](https://github.com/urda/django-letsencrypt/actions/workflows/testing-42.yaml)
|
|
84
|
+
- [](https://github.com/urda/django-letsencrypt/actions/workflows/testing-52.yaml)
|
|
85
|
+
- [](https://github.com/urda/django-letsencrypt/actions/workflows/testing-60.yaml)
|
|
73
86
|
- [](https://codecov.io/gh/urda/django-letsencrypt)
|
|
74
87
|
|
|
75
|
-
|
|
88
|
+
## Installation & Configuration
|
|
76
89
|
|
|
77
90
|
1. `pip install django-letsencrypt`
|
|
78
91
|
|
|
@@ -107,7 +120,7 @@ re_path(r'^\.well-known/', include('letsencrypt.urls'))
|
|
|
107
120
|
|
|
108
121
|
7. Enjoy your easy to manage `ACME Challenges` inside your Django project!
|
|
109
122
|
|
|
110
|
-
|
|
123
|
+
## Example Project
|
|
111
124
|
|
|
112
125
|
If you would like a demo of how to use this application simply clone this project's
|
|
113
126
|
`git` repository from [GitHub](https://github.com/urda/django-letsencrypt),
|
|
@@ -116,4 +129,11 @@ take a moment to read the `README.md` file within the
|
|
|
116
129
|
directory, and follow the directions. That will spin up a small sample django
|
|
117
130
|
application already configured for you to try out.
|
|
118
131
|
|
|
132
|
+
## Development
|
|
119
133
|
|
|
134
|
+
1. Make sure you have installed [uv](https://docs.astral.sh/uv/) in your environment.
|
|
135
|
+
2. Clone the repo to your development machine.
|
|
136
|
+
3. Configure your `git` hooks with `git config core.hooksPath .githooks` for the project.
|
|
137
|
+
4. Run `uv sync` to create the virtual environment and install required dependencies.
|
|
138
|
+
5. Run `make test` for a singular test run.
|
|
139
|
+
6. Run `make run-tox` to run the entire `tox` suite.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Let's Encrypt App for Django
|
|
2
2
|
|
|
3
3
|
`django-letsencrypt` will allow you to add, remove, and update any
|
|
4
|
-
[ACME challenge](https://
|
|
4
|
+
[ACME challenge](https://datatracker.ietf.org/doc/html/rfc8555) objects you may
|
|
5
5
|
need through your Django admin interface. Simply add the `ACME challenge`
|
|
6
6
|
and `response` for your app to serve up the necessary information for
|
|
7
7
|
[Let's Encrypt](https://letsencrypt.org/how-it-works/) validation.
|
|
@@ -13,33 +13,35 @@ versions of Django supported, even multiple databases too!
|
|
|
13
13
|
And of course all wrapped up and published to
|
|
14
14
|
[PyPI](https://pypi.org/project/django-letsencrypt/) for standard installation!
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
## Supported Configurations
|
|
17
17
|
|
|
18
18
|
`django-letsencrypt` is tested across a number of configurations, here's what's
|
|
19
19
|
supported so far:
|
|
20
20
|
|
|
21
21
|
- Python Versions Supported:
|
|
22
|
-
- `3.
|
|
23
|
-
- `3.
|
|
24
|
-
- `3.
|
|
22
|
+
- `3.14` (with Django `6.0`, `5.2`)
|
|
23
|
+
- `3.13` (with Django `6.0`, `5.2`)
|
|
24
|
+
- `3.12` (with Django `6.0`, `5.2`, `4.2`)
|
|
25
|
+
- `3.11` (with Django `5.2`, `4.2`)
|
|
26
|
+
- `3.10` (with Django `5.2`, `4.2`)
|
|
25
27
|
- Django Versions Supported:
|
|
26
|
-
- `
|
|
27
|
-
- `
|
|
28
|
-
- `
|
|
28
|
+
- `6.0` minimum version `6.0.1`
|
|
29
|
+
- `5.2 LTS` minimum version `5.2.10`
|
|
30
|
+
- `4.2 LTS` minimum version `4.2.27`
|
|
29
31
|
- Databases Supported:
|
|
30
32
|
- `mysql`
|
|
31
33
|
- `postgres`
|
|
32
34
|
- `sqlite`
|
|
33
35
|
|
|
34
|
-
|
|
36
|
+
## Recent Build Status Badges
|
|
35
37
|
|
|
36
38
|
- [](https://github.com/urda/django-letsencrypt/actions/workflows/linting.yaml)
|
|
37
|
-
- [](https://github.com/urda/django-letsencrypt/actions/workflows/testing-42.yaml)
|
|
40
|
+
- [](https://github.com/urda/django-letsencrypt/actions/workflows/testing-52.yaml)
|
|
41
|
+
- [](https://github.com/urda/django-letsencrypt/actions/workflows/testing-60.yaml)
|
|
40
42
|
- [](https://codecov.io/gh/urda/django-letsencrypt)
|
|
41
43
|
|
|
42
|
-
|
|
44
|
+
## Installation & Configuration
|
|
43
45
|
|
|
44
46
|
1. `pip install django-letsencrypt`
|
|
45
47
|
|
|
@@ -74,7 +76,7 @@ re_path(r'^\.well-known/', include('letsencrypt.urls'))
|
|
|
74
76
|
|
|
75
77
|
7. Enjoy your easy to manage `ACME Challenges` inside your Django project!
|
|
76
78
|
|
|
77
|
-
|
|
79
|
+
## Example Project
|
|
78
80
|
|
|
79
81
|
If you would like a demo of how to use this application simply clone this project's
|
|
80
82
|
`git` repository from [GitHub](https://github.com/urda/django-letsencrypt),
|
|
@@ -82,3 +84,12 @@ take a moment to read the `README.md` file within the
|
|
|
82
84
|
[`example_project`](https://github.com/urda/django-letsencrypt/tree/master/example_project)
|
|
83
85
|
directory, and follow the directions. That will spin up a small sample django
|
|
84
86
|
application already configured for you to try out.
|
|
87
|
+
|
|
88
|
+
## Development
|
|
89
|
+
|
|
90
|
+
1. Make sure you have installed [uv](https://docs.astral.sh/uv/) in your environment.
|
|
91
|
+
2. Clone the repo to your development machine.
|
|
92
|
+
3. Configure your `git` hooks with `git config core.hooksPath .githooks` for the project.
|
|
93
|
+
4. Run `uv sync` to create the virtual environment and install required dependencies.
|
|
94
|
+
5. Run `make test` for a singular test run.
|
|
95
|
+
6. Run `make run-tox` to run the entire `tox` suite.
|
|
@@ -1,40 +1,51 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: django-letsencrypt
|
|
3
|
-
Version:
|
|
3
|
+
Version: 6.0.0
|
|
4
4
|
Summary: A simple Django app to handle Let's Encrypt ACME challenges.
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
Platform: UNKNOWN
|
|
10
|
-
Classifier: Development Status :: 5 - Production/Stable
|
|
5
|
+
Author-email: Peter Urda <foss@urda.engineering>
|
|
6
|
+
License-Expression: Apache-2.0
|
|
7
|
+
Project-URL: Homepage, https://github.com/urda/django-letsencrypt
|
|
8
|
+
Classifier: Development Status :: 6 - Mature
|
|
11
9
|
Classifier: Environment :: Web Environment
|
|
12
10
|
Classifier: Framework :: Django
|
|
13
|
-
Classifier: Framework :: Django ::
|
|
14
|
-
Classifier: Framework :: Django ::
|
|
15
|
-
Classifier: Framework :: Django ::
|
|
11
|
+
Classifier: Framework :: Django :: 4
|
|
12
|
+
Classifier: Framework :: Django :: 4.2
|
|
13
|
+
Classifier: Framework :: Django :: 5
|
|
14
|
+
Classifier: Framework :: Django :: 5.2
|
|
15
|
+
Classifier: Framework :: Django :: 6
|
|
16
|
+
Classifier: Framework :: Django :: 6.0
|
|
17
|
+
Classifier: Framework :: Flake8
|
|
18
|
+
Classifier: Framework :: Pytest
|
|
19
|
+
Classifier: Framework :: tox
|
|
16
20
|
Classifier: Intended Audience :: Developers
|
|
17
|
-
Classifier:
|
|
21
|
+
Classifier: Intended Audience :: Information Technology
|
|
22
|
+
Classifier: Intended Audience :: System Administrators
|
|
18
23
|
Classifier: Natural Language :: English
|
|
19
24
|
Classifier: Operating System :: OS Independent
|
|
20
25
|
Classifier: Programming Language :: Python
|
|
21
26
|
Classifier: Programming Language :: Python :: 3
|
|
22
|
-
Classifier: Programming Language :: Python :: 3.7
|
|
23
|
-
Classifier: Programming Language :: Python :: 3.8
|
|
24
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
25
27
|
Classifier: Programming Language :: Python :: 3.10
|
|
28
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
29
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
30
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
31
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
26
32
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
27
33
|
Classifier: Topic :: Internet
|
|
28
34
|
Classifier: Topic :: Internet :: WWW/HTTP
|
|
29
35
|
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
|
|
30
|
-
|
|
36
|
+
Classifier: Topic :: Internet :: WWW/HTTP :: Site Management
|
|
37
|
+
Classifier: Topic :: Security
|
|
38
|
+
Requires-Python: <4,>=3.10
|
|
31
39
|
Description-Content-Type: text/markdown
|
|
32
40
|
License-File: LICENSE
|
|
41
|
+
Requires-Dist: Django>=4.2.27
|
|
42
|
+
Requires-Dist: pytz>=2025.2
|
|
43
|
+
Dynamic: license-file
|
|
33
44
|
|
|
34
45
|
# Let's Encrypt App for Django
|
|
35
46
|
|
|
36
47
|
`django-letsencrypt` will allow you to add, remove, and update any
|
|
37
|
-
[ACME challenge](https://
|
|
48
|
+
[ACME challenge](https://datatracker.ietf.org/doc/html/rfc8555) objects you may
|
|
38
49
|
need through your Django admin interface. Simply add the `ACME challenge`
|
|
39
50
|
and `response` for your app to serve up the necessary information for
|
|
40
51
|
[Let's Encrypt](https://letsencrypt.org/how-it-works/) validation.
|
|
@@ -46,33 +57,35 @@ versions of Django supported, even multiple databases too!
|
|
|
46
57
|
And of course all wrapped up and published to
|
|
47
58
|
[PyPI](https://pypi.org/project/django-letsencrypt/) for standard installation!
|
|
48
59
|
|
|
49
|
-
|
|
60
|
+
## Supported Configurations
|
|
50
61
|
|
|
51
62
|
`django-letsencrypt` is tested across a number of configurations, here's what's
|
|
52
63
|
supported so far:
|
|
53
64
|
|
|
54
65
|
- Python Versions Supported:
|
|
55
|
-
- `3.
|
|
56
|
-
- `3.
|
|
57
|
-
- `3.
|
|
66
|
+
- `3.14` (with Django `6.0`, `5.2`)
|
|
67
|
+
- `3.13` (with Django `6.0`, `5.2`)
|
|
68
|
+
- `3.12` (with Django `6.0`, `5.2`, `4.2`)
|
|
69
|
+
- `3.11` (with Django `5.2`, `4.2`)
|
|
70
|
+
- `3.10` (with Django `5.2`, `4.2`)
|
|
58
71
|
- Django Versions Supported:
|
|
59
|
-
- `
|
|
60
|
-
- `
|
|
61
|
-
- `
|
|
72
|
+
- `6.0` minimum version `6.0.1`
|
|
73
|
+
- `5.2 LTS` minimum version `5.2.10`
|
|
74
|
+
- `4.2 LTS` minimum version `4.2.27`
|
|
62
75
|
- Databases Supported:
|
|
63
76
|
- `mysql`
|
|
64
77
|
- `postgres`
|
|
65
78
|
- `sqlite`
|
|
66
79
|
|
|
67
|
-
|
|
80
|
+
## Recent Build Status Badges
|
|
68
81
|
|
|
69
82
|
- [](https://github.com/urda/django-letsencrypt/actions/workflows/linting.yaml)
|
|
70
|
-
- [](https://github.com/urda/django-letsencrypt/actions/workflows/testing-42.yaml)
|
|
84
|
+
- [](https://github.com/urda/django-letsencrypt/actions/workflows/testing-52.yaml)
|
|
85
|
+
- [](https://github.com/urda/django-letsencrypt/actions/workflows/testing-60.yaml)
|
|
73
86
|
- [](https://codecov.io/gh/urda/django-letsencrypt)
|
|
74
87
|
|
|
75
|
-
|
|
88
|
+
## Installation & Configuration
|
|
76
89
|
|
|
77
90
|
1. `pip install django-letsencrypt`
|
|
78
91
|
|
|
@@ -107,7 +120,7 @@ re_path(r'^\.well-known/', include('letsencrypt.urls'))
|
|
|
107
120
|
|
|
108
121
|
7. Enjoy your easy to manage `ACME Challenges` inside your Django project!
|
|
109
122
|
|
|
110
|
-
|
|
123
|
+
## Example Project
|
|
111
124
|
|
|
112
125
|
If you would like a demo of how to use this application simply clone this project's
|
|
113
126
|
`git` repository from [GitHub](https://github.com/urda/django-letsencrypt),
|
|
@@ -116,4 +129,11 @@ take a moment to read the `README.md` file within the
|
|
|
116
129
|
directory, and follow the directions. That will spin up a small sample django
|
|
117
130
|
application already configured for you to try out.
|
|
118
131
|
|
|
132
|
+
## Development
|
|
119
133
|
|
|
134
|
+
1. Make sure you have installed [uv](https://docs.astral.sh/uv/) in your environment.
|
|
135
|
+
2. Clone the repo to your development machine.
|
|
136
|
+
3. Configure your `git` hooks with `git config core.hooksPath .githooks` for the project.
|
|
137
|
+
4. Run `uv sync` to create the virtual environment and install required dependencies.
|
|
138
|
+
5. Run `make test` for a singular test run.
|
|
139
|
+
6. Run `make run-tox` to run the entire `tox` suite.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"""
|
|
2
|
-
Copyright 2016-
|
|
2
|
+
Copyright 2016-2026 Peter Urda
|
|
3
3
|
|
|
4
4
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
5
|
you may not use this file except in compliance with the License.
|
|
@@ -14,6 +14,6 @@ See the License for the specific language governing permissions and
|
|
|
14
14
|
limitations under the License.
|
|
15
15
|
"""
|
|
16
16
|
|
|
17
|
-
__version__ = '
|
|
17
|
+
__version__ = '6.0.0'
|
|
18
18
|
|
|
19
19
|
default_app_config = 'letsencrypt.apps.LetsEncryptConfig'
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=61.0", "wheel"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name='django-letsencrypt'
|
|
7
|
+
version='6.0.0'
|
|
8
|
+
description="A simple Django app to handle Let's Encrypt ACME challenges."
|
|
9
|
+
readme = 'README.md'
|
|
10
|
+
license = 'Apache-2.0'
|
|
11
|
+
license-files = ['LICENSE']
|
|
12
|
+
requires-python = '>=3.10,<4'
|
|
13
|
+
authors = [{ name = 'Peter Urda', email = 'foss@urda.engineering' }]
|
|
14
|
+
classifiers = [
|
|
15
|
+
'Development Status :: 6 - Mature',
|
|
16
|
+
'Environment :: Web Environment',
|
|
17
|
+
'Framework :: Django',
|
|
18
|
+
'Framework :: Django :: 4',
|
|
19
|
+
'Framework :: Django :: 4.2',
|
|
20
|
+
'Framework :: Django :: 5',
|
|
21
|
+
'Framework :: Django :: 5.2',
|
|
22
|
+
'Framework :: Django :: 6',
|
|
23
|
+
'Framework :: Django :: 6.0',
|
|
24
|
+
'Framework :: Flake8',
|
|
25
|
+
'Framework :: Pytest',
|
|
26
|
+
'Framework :: tox',
|
|
27
|
+
'Intended Audience :: Developers',
|
|
28
|
+
'Intended Audience :: Information Technology',
|
|
29
|
+
'Intended Audience :: System Administrators',
|
|
30
|
+
'Natural Language :: English',
|
|
31
|
+
'Operating System :: OS Independent',
|
|
32
|
+
'Programming Language :: Python',
|
|
33
|
+
'Programming Language :: Python :: 3',
|
|
34
|
+
'Programming Language :: Python :: 3.10',
|
|
35
|
+
'Programming Language :: Python :: 3.11',
|
|
36
|
+
'Programming Language :: Python :: 3.12',
|
|
37
|
+
'Programming Language :: Python :: 3.13',
|
|
38
|
+
'Programming Language :: Python :: 3.14',
|
|
39
|
+
'Programming Language :: Python :: 3 :: Only',
|
|
40
|
+
'Topic :: Internet',
|
|
41
|
+
'Topic :: Internet :: WWW/HTTP',
|
|
42
|
+
'Topic :: Internet :: WWW/HTTP :: Dynamic Content',
|
|
43
|
+
'Topic :: Internet :: WWW/HTTP :: Site Management',
|
|
44
|
+
'Topic :: Security',
|
|
45
|
+
]
|
|
46
|
+
dependencies = [
|
|
47
|
+
'Django>=4.2.27',
|
|
48
|
+
'pytz>=2025.2',
|
|
49
|
+
]
|
|
50
|
+
|
|
51
|
+
[project.urls]
|
|
52
|
+
Homepage = 'https://github.com/urda/django-letsencrypt'
|
|
53
|
+
|
|
54
|
+
[dependency-groups]
|
|
55
|
+
dev = [
|
|
56
|
+
'coverage',
|
|
57
|
+
'flake8',
|
|
58
|
+
'pytest',
|
|
59
|
+
'pytest-cov',
|
|
60
|
+
'pytest-django',
|
|
61
|
+
'setuptools',
|
|
62
|
+
'tox',
|
|
63
|
+
'tox-uv',
|
|
64
|
+
'twine',
|
|
65
|
+
]
|
|
66
|
+
|
|
67
|
+
[tool.pytest.ini_options]
|
|
68
|
+
DJANGO_SETTINGS_MODULE = "example_project.settings_test"
|
|
69
|
+
pythonpath = [".", "example_project"]
|
|
70
|
+
python_files = ["tests.py", "test_*.py", "*_test.py"]
|
|
71
|
+
testpaths = ["letsencrypt", "tests"]
|
|
72
|
+
addopts = "-v"
|
|
73
|
+
|
|
74
|
+
[tool.coverage.run]
|
|
75
|
+
source = ["letsencrypt"]
|
|
76
|
+
omit = [
|
|
77
|
+
"letsencrypt/migrations/*",
|
|
78
|
+
"letsencrypt/admin.py",
|
|
79
|
+
"letsencrypt/apps.py",
|
|
80
|
+
"letsencrypt/tests.py",
|
|
81
|
+
"letsencrypt/urls.py",
|
|
82
|
+
]
|
|
83
|
+
|
|
84
|
+
[tool.setuptools.packages.find]
|
|
85
|
+
include = ['letsencrypt*']
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
"""
|
|
2
|
-
Copyright 2016-2021 Peter Urda
|
|
3
|
-
|
|
4
|
-
Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
you may not use this file except in compliance with the License.
|
|
6
|
-
You may obtain a copy of the License at
|
|
7
|
-
|
|
8
|
-
http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
|
|
10
|
-
Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
See the License for the specific language governing permissions and
|
|
14
|
-
limitations under the License.
|
|
15
|
-
"""
|
|
16
|
-
|
|
17
|
-
import os
|
|
18
|
-
from setuptools import setup
|
|
19
|
-
|
|
20
|
-
with open(os.path.join(os.path.dirname(__file__), 'README.md')) as readme:
|
|
21
|
-
README = readme.read()
|
|
22
|
-
|
|
23
|
-
os.chdir(os.path.normpath(os.path.join(os.path.abspath(__file__), os.pardir)))
|
|
24
|
-
|
|
25
|
-
setup(
|
|
26
|
-
name='django-letsencrypt',
|
|
27
|
-
version='4.1.0',
|
|
28
|
-
python_requires=">=3.7, <4",
|
|
29
|
-
packages=['letsencrypt'],
|
|
30
|
-
include_package_data=True,
|
|
31
|
-
license='Apache License, Version 2.0',
|
|
32
|
-
description="A simple Django app to handle Let's Encrypt ACME challenges.",
|
|
33
|
-
long_description=README,
|
|
34
|
-
long_description_content_type='text/markdown',
|
|
35
|
-
url='https://github.com/urda/django-letsencrypt',
|
|
36
|
-
author='Peter Urda',
|
|
37
|
-
author_email='foss@urda.engineering',
|
|
38
|
-
install_requires=[
|
|
39
|
-
"Django>=2.2.25",
|
|
40
|
-
"pytz>=2021.3",
|
|
41
|
-
],
|
|
42
|
-
classifiers=[
|
|
43
|
-
'Development Status :: 5 - Production/Stable',
|
|
44
|
-
'Environment :: Web Environment',
|
|
45
|
-
'Framework :: Django',
|
|
46
|
-
'Framework :: Django :: 2.2',
|
|
47
|
-
'Framework :: Django :: 3.2',
|
|
48
|
-
'Framework :: Django :: 4.0',
|
|
49
|
-
'Intended Audience :: Developers',
|
|
50
|
-
'License :: OSI Approved :: Apache Software License',
|
|
51
|
-
'Natural Language :: English',
|
|
52
|
-
'Operating System :: OS Independent',
|
|
53
|
-
'Programming Language :: Python',
|
|
54
|
-
'Programming Language :: Python :: 3',
|
|
55
|
-
'Programming Language :: Python :: 3.7',
|
|
56
|
-
'Programming Language :: Python :: 3.8',
|
|
57
|
-
'Programming Language :: Python :: 3.9',
|
|
58
|
-
'Programming Language :: Python :: 3.10',
|
|
59
|
-
'Programming Language :: Python :: 3 :: Only',
|
|
60
|
-
'Topic :: Internet',
|
|
61
|
-
'Topic :: Internet :: WWW/HTTP',
|
|
62
|
-
'Topic :: Internet :: WWW/HTTP :: Dynamic Content',
|
|
63
|
-
],
|
|
64
|
-
)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django-letsencrypt-4.1.0 → django_letsencrypt-6.0.0}/django_letsencrypt.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|