edify 0.2.2__tar.gz → 0.3.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.
- {edify-0.2.2 → edify-0.3.0}/.bumpversion.cfg +1 -1
- {edify-0.2.2 → edify-0.3.0}/.github/workflows/github-actions.yml +75 -48
- {edify-0.2.2 → edify-0.3.0}/.pre-commit-config.yaml +8 -8
- {edify-0.2.2 → edify-0.3.0}/.readthedocs.yml +4 -1
- edify-0.3.0/AUTHORS.rst +6 -0
- edify-0.3.0/CHANGELOG.rst +85 -0
- {edify-0.2.2 → edify-0.3.0}/MANIFEST.in +0 -1
- {edify-0.2.2 → edify-0.3.0}/PKG-INFO +60 -7
- {edify-0.2.2 → edify-0.3.0}/README.rst +3 -3
- edify-0.3.0/ci/requirements.txt +5 -0
- {edify-0.2.2 → edify-0.3.0}/docs/conf.py +11 -4
- {edify-0.2.2 → edify-0.3.0}/docs/requirements.txt +1 -1
- {edify-0.2.2 → edify-0.3.0}/pyproject.toml +2 -2
- {edify-0.2.2 → edify-0.3.0}/setup.cfg +2 -2
- {edify-0.2.2 → edify-0.3.0}/setup.py +5 -3
- {edify-0.2.2 → edify-0.3.0}/src/edify/__init__.py +1 -1
- {edify-0.2.2 → edify-0.3.0}/src/edify/builder/helpers/core.py +3 -3
- {edify-0.2.2 → edify-0.3.0}/src/edify.egg-info/PKG-INFO +60 -7
- {edify-0.2.2 → edify-0.3.0}/src/edify.egg-info/SOURCES.txt +0 -4
- edify-0.3.0/tests.local.sh +26 -0
- {edify-0.2.2 → edify-0.3.0}/tox.ini +7 -14
- edify-0.2.2/.cookiecutterrc +0 -74
- edify-0.2.2/AUTHORS.rst +0 -5
- edify-0.2.2/CHANGELOG.rst +0 -44
- edify-0.2.2/ci/bootstrap.py +0 -93
- edify-0.2.2/ci/requirements.txt +0 -5
- edify-0.2.2/ci/templates/.appveyor.yml +0 -46
- edify-0.2.2/ci/templates/.github/workflows/github-actions.yml +0 -65
- edify-0.2.2/tests.local.sh +0 -40
- {edify-0.2.2 → edify-0.3.0}/.coveragerc +0 -0
- {edify-0.2.2 → edify-0.3.0}/.editorconfig +0 -0
- {edify-0.2.2 → edify-0.3.0}/CONTRIBUTING.rst +0 -0
- {edify-0.2.2 → edify-0.3.0}/LICENSE +0 -0
- {edify-0.2.2 → edify-0.3.0}/docs/authors.rst +0 -0
- {edify-0.2.2 → edify-0.3.0}/docs/built-in/index.rst +0 -0
- {edify-0.2.2 → edify-0.3.0}/docs/changelog.rst +0 -0
- {edify-0.2.2 → edify-0.3.0}/docs/contributing.rst +0 -0
- {edify-0.2.2 → edify-0.3.0}/docs/index.rst +0 -0
- {edify-0.2.2 → edify-0.3.0}/docs/readme.rst +0 -0
- {edify-0.2.2 → edify-0.3.0}/docs/regex-builder/builder/index.rst +0 -0
- {edify-0.2.2 → edify-0.3.0}/docs/regex-builder/flags/index.rst +0 -0
- {edify-0.2.2 → edify-0.3.0}/docs/regex-builder/index.rst +0 -0
- {edify-0.2.2 → edify-0.3.0}/docs/spelling_wordlist.txt +0 -0
- {edify-0.2.2 → edify-0.3.0}/images/cover.png +0 -0
- {edify-0.2.2 → edify-0.3.0}/images/logo_1500px.png +0 -0
- {edify-0.2.2 → edify-0.3.0}/images/logo_500px.png +0 -0
- {edify-0.2.2 → edify-0.3.0}/images/logo_no_text_1500px.png +0 -0
- {edify-0.2.2 → edify-0.3.0}/images/logo_no_text_500px.png +0 -0
- {edify-0.2.2 → edify-0.3.0}/images/logo_no_text_black_1500px.png +0 -0
- {edify-0.2.2 → edify-0.3.0}/images/logo_no_text_black_500px.png +0 -0
- {edify-0.2.2 → edify-0.3.0}/images/logo_no_text_t_1500px.png +0 -0
- {edify-0.2.2 → edify-0.3.0}/images/logo_no_text_t_500px.png +0 -0
- {edify-0.2.2 → edify-0.3.0}/images/logo_no_text_t_black_1500px.png +0 -0
- {edify-0.2.2 → edify-0.3.0}/images/logo_no_text_t_black_500px.png +0 -0
- {edify-0.2.2 → edify-0.3.0}/images/logo_t_1500px.png +0 -0
- {edify-0.2.2 → edify-0.3.0}/images/logo_t_500px.png +0 -0
- {edify-0.2.2 → edify-0.3.0}/images/logo_t_black_1500px.png +0 -0
- {edify-0.2.2 → edify-0.3.0}/images/logo_t_black_500px.png +0 -0
- {edify-0.2.2 → edify-0.3.0}/images/logo_wob_1500px.png +0 -0
- {edify-0.2.2 → edify-0.3.0}/images/logo_wob_500px.png +0 -0
- {edify-0.2.2 → edify-0.3.0}/pytest.ini +0 -0
- {edify-0.2.2 → edify-0.3.0}/src/edify/builder/builder.py +0 -0
- {edify-0.2.2 → edify-0.3.0}/src/edify/builder/errors.py +0 -0
- {edify-0.2.2 → edify-0.3.0}/src/edify/builder/helpers/quantifiers.py +0 -0
- {edify-0.2.2 → edify-0.3.0}/src/edify/builder/helpers/regex_vars.py +0 -0
- {edify-0.2.2 → edify-0.3.0}/src/edify/builder/helpers/t.py +0 -0
- {edify-0.2.2 → edify-0.3.0}/src/edify/library/__init__.py +0 -0
- {edify-0.2.2 → edify-0.3.0}/src/edify/library/date.py +0 -0
- {edify-0.2.2 → edify-0.3.0}/src/edify/library/guid.py +0 -0
- {edify-0.2.2 → edify-0.3.0}/src/edify/library/ip.py +0 -0
- {edify-0.2.2 → edify-0.3.0}/src/edify/library/mac.py +0 -0
- {edify-0.2.2 → edify-0.3.0}/src/edify/library/mail.py +0 -0
- {edify-0.2.2 → edify-0.3.0}/src/edify/library/password.py +0 -0
- {edify-0.2.2 → edify-0.3.0}/src/edify/library/phone.py +0 -0
- {edify-0.2.2 → edify-0.3.0}/src/edify/library/ssn.py +0 -0
- {edify-0.2.2 → edify-0.3.0}/src/edify/library/support/zip.py +0 -0
- {edify-0.2.2 → edify-0.3.0}/src/edify/library/url.py +0 -0
- {edify-0.2.2 → edify-0.3.0}/src/edify/library/uuid.py +0 -0
- {edify-0.2.2 → edify-0.3.0}/src/edify/library/zip.py +0 -0
- {edify-0.2.2 → edify-0.3.0}/src/edify.egg-info/dependency_links.txt +0 -0
- {edify-0.2.2 → edify-0.3.0}/src/edify.egg-info/not-zip-safe +0 -0
- {edify-0.2.2 → edify-0.3.0}/src/edify.egg-info/top_level.txt +0 -0
- {edify-0.2.2 → edify-0.3.0}/tests/ssn_test.py +0 -0
- {edify-0.2.2 → edify-0.3.0}/tests/test_builder.py +0 -0
- {edify-0.2.2 → edify-0.3.0}/tests/test_date.py +0 -0
- {edify-0.2.2 → edify-0.3.0}/tests/test_email.py +0 -0
- {edify-0.2.2 → edify-0.3.0}/tests/test_guid.py +0 -0
- {edify-0.2.2 → edify-0.3.0}/tests/test_ip.py +0 -0
- {edify-0.2.2 → edify-0.3.0}/tests/test_mac.py +0 -0
- {edify-0.2.2 → edify-0.3.0}/tests/test_password.py +0 -0
- {edify-0.2.2 → edify-0.3.0}/tests/test_phone.py +0 -0
- {edify-0.2.2 → edify-0.3.0}/tests/test_url.py +0 -0
- {edify-0.2.2 → edify-0.3.0}/tests/test_uuid.py +0 -0
- {edify-0.2.2 → edify-0.3.0}/tests/test_zip.py +0 -0
|
@@ -19,24 +19,6 @@ jobs:
|
|
|
19
19
|
toxpython: 'python3.9'
|
|
20
20
|
tox_env: 'docs'
|
|
21
21
|
os: 'ubuntu-latest'
|
|
22
|
-
- name: 'py37 (ubuntu)'
|
|
23
|
-
python: '3.7'
|
|
24
|
-
toxpython: 'python3.7'
|
|
25
|
-
python_arch: 'x64'
|
|
26
|
-
tox_env: 'py37'
|
|
27
|
-
os: 'ubuntu-latest'
|
|
28
|
-
- name: 'py37 (windows)'
|
|
29
|
-
python: '3.7'
|
|
30
|
-
toxpython: 'python3.7'
|
|
31
|
-
python_arch: 'x64'
|
|
32
|
-
tox_env: 'py37'
|
|
33
|
-
os: 'windows-latest'
|
|
34
|
-
- name: 'py37 (macos)'
|
|
35
|
-
python: '3.7'
|
|
36
|
-
toxpython: 'python3.7'
|
|
37
|
-
python_arch: 'x64'
|
|
38
|
-
tox_env: 'py37'
|
|
39
|
-
os: 'macos-latest'
|
|
40
22
|
- name: 'py38 (ubuntu)'
|
|
41
23
|
python: '3.8'
|
|
42
24
|
toxpython: 'python3.8'
|
|
@@ -52,7 +34,6 @@ jobs:
|
|
|
52
34
|
- name: 'py38 (macos)'
|
|
53
35
|
python: '3.8'
|
|
54
36
|
toxpython: 'python3.8'
|
|
55
|
-
python_arch: 'x64'
|
|
56
37
|
tox_env: 'py38'
|
|
57
38
|
os: 'macos-latest'
|
|
58
39
|
- name: 'py39 (ubuntu)'
|
|
@@ -70,7 +51,6 @@ jobs:
|
|
|
70
51
|
- name: 'py39 (macos)'
|
|
71
52
|
python: '3.9'
|
|
72
53
|
toxpython: 'python3.9'
|
|
73
|
-
python_arch: 'x64'
|
|
74
54
|
tox_env: 'py39'
|
|
75
55
|
os: 'macos-latest'
|
|
76
56
|
- name: 'py310 (ubuntu)'
|
|
@@ -88,7 +68,6 @@ jobs:
|
|
|
88
68
|
- name: 'py310 (macos)'
|
|
89
69
|
python: '3.10'
|
|
90
70
|
toxpython: 'python3.10'
|
|
91
|
-
python_arch: 'x64'
|
|
92
71
|
tox_env: 'py310'
|
|
93
72
|
os: 'macos-latest'
|
|
94
73
|
- name: 'py311 (ubuntu)'
|
|
@@ -106,50 +85,98 @@ jobs:
|
|
|
106
85
|
- name: 'py311 (macos)'
|
|
107
86
|
python: '3.11'
|
|
108
87
|
toxpython: 'python3.11'
|
|
109
|
-
python_arch: 'x64'
|
|
110
88
|
tox_env: 'py311'
|
|
111
89
|
os: 'macos-latest'
|
|
112
|
-
- name: '
|
|
113
|
-
python: 'pypy-3.
|
|
114
|
-
toxpython: 'pypy3.
|
|
90
|
+
- name: 'pypy310 (ubuntu)'
|
|
91
|
+
python: 'pypy-3.10'
|
|
92
|
+
toxpython: 'pypy3.10'
|
|
115
93
|
python_arch: 'x64'
|
|
116
|
-
tox_env: '
|
|
94
|
+
tox_env: 'pypy310'
|
|
117
95
|
os: 'ubuntu-latest'
|
|
118
|
-
- name: '
|
|
119
|
-
python: 'pypy-3.
|
|
120
|
-
toxpython: 'pypy3.
|
|
96
|
+
- name: 'pypy310 (windows)'
|
|
97
|
+
python: 'pypy-3.10'
|
|
98
|
+
toxpython: 'pypy3.10'
|
|
121
99
|
python_arch: 'x64'
|
|
122
|
-
tox_env: '
|
|
100
|
+
tox_env: 'pypy310'
|
|
123
101
|
os: 'windows-latest'
|
|
124
|
-
- name: '
|
|
125
|
-
python: 'pypy-3.
|
|
126
|
-
toxpython: 'pypy3.
|
|
102
|
+
- name: 'pypy310 (macos)'
|
|
103
|
+
python: 'pypy-3.10'
|
|
104
|
+
toxpython: 'pypy3.10'
|
|
105
|
+
tox_env: 'pypy310'
|
|
106
|
+
os: 'macos-latest'
|
|
107
|
+
- name: 'pypy311 (ubuntu)'
|
|
108
|
+
python: 'pypy-3.11'
|
|
109
|
+
toxpython: 'pypy3.11'
|
|
127
110
|
python_arch: 'x64'
|
|
128
|
-
tox_env: '
|
|
111
|
+
tox_env: 'pypy311'
|
|
112
|
+
os: 'ubuntu-latest'
|
|
113
|
+
- name: 'pypy311 (windows)'
|
|
114
|
+
python: 'pypy-3.11'
|
|
115
|
+
toxpython: 'pypy3.11'
|
|
116
|
+
python_arch: 'x64'
|
|
117
|
+
tox_env: 'pypy311'
|
|
118
|
+
os: 'windows-latest'
|
|
119
|
+
- name: 'pypy311 (macos)'
|
|
120
|
+
python: 'pypy-3.11'
|
|
121
|
+
toxpython: 'pypy3.11'
|
|
122
|
+
tox_env: 'pypy311'
|
|
129
123
|
os: 'macos-latest'
|
|
130
|
-
- name: '
|
|
131
|
-
python: '
|
|
132
|
-
toxpython: '
|
|
124
|
+
- name: 'py312 (ubuntu)'
|
|
125
|
+
python: '3.12'
|
|
126
|
+
toxpython: 'python3.12'
|
|
133
127
|
python_arch: 'x64'
|
|
134
|
-
tox_env: '
|
|
128
|
+
tox_env: 'py312'
|
|
135
129
|
os: 'ubuntu-latest'
|
|
136
|
-
- name: '
|
|
137
|
-
python: '
|
|
138
|
-
toxpython: '
|
|
130
|
+
- name: 'py312 (windows)'
|
|
131
|
+
python: '3.12'
|
|
132
|
+
toxpython: 'python3.12'
|
|
139
133
|
python_arch: 'x64'
|
|
140
|
-
tox_env: '
|
|
134
|
+
tox_env: 'py312'
|
|
141
135
|
os: 'windows-latest'
|
|
142
|
-
- name: '
|
|
143
|
-
python: '
|
|
144
|
-
toxpython: '
|
|
136
|
+
- name: 'py312 (macos)'
|
|
137
|
+
python: '3.12'
|
|
138
|
+
toxpython: 'python3.12'
|
|
139
|
+
tox_env: 'py312'
|
|
140
|
+
os: 'macos-latest'
|
|
141
|
+
- name: 'py313 (ubuntu)'
|
|
142
|
+
python: '3.13'
|
|
143
|
+
toxpython: 'python3.13'
|
|
145
144
|
python_arch: 'x64'
|
|
146
|
-
tox_env: '
|
|
145
|
+
tox_env: 'py313'
|
|
146
|
+
os: 'ubuntu-latest'
|
|
147
|
+
- name: 'py313 (windows)'
|
|
148
|
+
python: '3.13'
|
|
149
|
+
toxpython: 'python3.13'
|
|
150
|
+
python_arch: 'x64'
|
|
151
|
+
tox_env: 'py313'
|
|
152
|
+
os: 'windows-latest'
|
|
153
|
+
- name: 'py313 (macos)'
|
|
154
|
+
python: '3.13'
|
|
155
|
+
toxpython: 'python3.13'
|
|
156
|
+
tox_env: 'py313'
|
|
157
|
+
os: 'macos-latest'
|
|
158
|
+
- name: 'py314 (ubuntu)'
|
|
159
|
+
python: '3.14'
|
|
160
|
+
toxpython: 'python3.14'
|
|
161
|
+
python_arch: 'x64'
|
|
162
|
+
tox_env: 'py314'
|
|
163
|
+
os: 'ubuntu-latest'
|
|
164
|
+
- name: 'py314 (windows)'
|
|
165
|
+
python: '3.14'
|
|
166
|
+
toxpython: 'python3.14'
|
|
167
|
+
python_arch: 'x64'
|
|
168
|
+
tox_env: 'py314'
|
|
169
|
+
os: 'windows-latest'
|
|
170
|
+
- name: 'py314 (macos)'
|
|
171
|
+
python: '3.14'
|
|
172
|
+
toxpython: 'python3.14'
|
|
173
|
+
tox_env: 'py314'
|
|
147
174
|
os: 'macos-latest'
|
|
148
175
|
steps:
|
|
149
|
-
- uses: actions/checkout@
|
|
176
|
+
- uses: actions/checkout@v5
|
|
150
177
|
with:
|
|
151
178
|
fetch-depth: 0
|
|
152
|
-
- uses: actions/setup-python@
|
|
179
|
+
- uses: actions/setup-python@v5
|
|
153
180
|
with:
|
|
154
181
|
python-version: ${{ matrix.python }}
|
|
155
182
|
architecture: ${{ matrix.python_arch }}
|
|
@@ -2,23 +2,23 @@
|
|
|
2
2
|
# pre-commit install
|
|
3
3
|
# To update the pre-commit hooks run:
|
|
4
4
|
# pre-commit install-hooks
|
|
5
|
-
exclude: '^(\.tox
|
|
5
|
+
exclude: '^(\.tox|\.bumpversion\.cfg)(/|$)'
|
|
6
6
|
repos:
|
|
7
7
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
8
|
-
rev:
|
|
8
|
+
rev: v6.0.0
|
|
9
9
|
hooks:
|
|
10
10
|
- id: trailing-whitespace
|
|
11
11
|
- id: end-of-file-fixer
|
|
12
12
|
- id: debug-statements
|
|
13
|
-
- repo: https://github.com/
|
|
14
|
-
rev:
|
|
13
|
+
- repo: https://github.com/PyCQA/isort
|
|
14
|
+
rev: 8.0.1
|
|
15
15
|
hooks:
|
|
16
16
|
- id: isort
|
|
17
|
-
- repo: https://github.com/psf/black
|
|
18
|
-
rev:
|
|
17
|
+
- repo: https://github.com/psf/black-pre-commit-mirror
|
|
18
|
+
rev: 26.3.1
|
|
19
19
|
hooks:
|
|
20
20
|
- id: black
|
|
21
|
-
- repo: https://
|
|
22
|
-
rev:
|
|
21
|
+
- repo: https://github.com/PyCQA/flake8
|
|
22
|
+
rev: 7.3.0
|
|
23
23
|
hooks:
|
|
24
24
|
- id: flake8
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
|
|
2
2
|
version: 2
|
|
3
|
+
build:
|
|
4
|
+
os: ubuntu-22.04
|
|
5
|
+
tools:
|
|
6
|
+
python: "3.14"
|
|
3
7
|
sphinx:
|
|
4
8
|
configuration: docs/conf.py
|
|
5
|
-
formats: all
|
|
6
9
|
python:
|
|
7
10
|
install:
|
|
8
11
|
- requirements: docs/requirements.txt
|
edify-0.3.0/AUTHORS.rst
ADDED
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
|
|
2
|
+
Changelog
|
|
3
|
+
=========
|
|
4
|
+
0.3.0 (2026-04-29)
|
|
5
|
+
------------------
|
|
6
|
+
|
|
7
|
+
A maintenance release: Edify is dragged out of 2022 and back into modern shape. No new patterns or builder API. The minimum supported Python rises to 3.8.
|
|
8
|
+
|
|
9
|
+
Breaking
|
|
10
|
+
~~~~~~~~
|
|
11
|
+
|
|
12
|
+
* Dropped support for Python 3.7. Edify now requires Python 3.8 or newer (:pr:`32`).
|
|
13
|
+
|
|
14
|
+
Added
|
|
15
|
+
~~~~~
|
|
16
|
+
|
|
17
|
+
* Support for Python 3.12, 3.13, and 3.14, with the matrix and Read the Docs build configuration updated to match (:pr:`31`).
|
|
18
|
+
|
|
19
|
+
Tooling and CI
|
|
20
|
+
~~~~~~~~~~~~~~
|
|
21
|
+
|
|
22
|
+
* Bumped GitHub Actions to current major versions: ``actions/checkout@v5``, ``actions/setup-python@v5``, ``github/codeql-action@v3``. All workflow jobs now run on the Node 20 runtime instead of the deprecated Node 16. ``pypa/gh-action-pypi-publish`` SHA refreshed to ``v1.14.0`` (:pr:`35`).
|
|
23
|
+
* PyPy CI matrix moved off the EOL ``pypy-3.8`` line to the maintained ``pypy-3.10`` and ``pypy-3.11`` (:pr:`37`).
|
|
24
|
+
* ``.pre-commit-config.yaml`` modernised: every hook pinned to an immutable tag instead of a floating branch ref, dead repo URLs corrected (``gitlab.com/pycqa/flake8`` → ``github.com/PyCQA/flake8``, ``timothycrosley/isort`` → ``PyCQA/isort``), and ``psf/black`` swapped for the upstream-recommended ``psf/black-pre-commit-mirror`` (:pr:`33`).
|
|
25
|
+
|
|
26
|
+
Dependencies
|
|
27
|
+
~~~~~~~~~~~~
|
|
28
|
+
|
|
29
|
+
* Bumped minimum versions: ``setuptools >=75.0``, ``pip >=26.0.1``, ``virtualenv >=21.3.0``, ``six >=1.17.0``, ``sphinx >=7.4.7`` (:pr:`25`, :pr:`26`, :pr:`27`, :pr:`28`, :pr:`29`).
|
|
30
|
+
|
|
31
|
+
Repository infrastructure
|
|
32
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
33
|
+
|
|
34
|
+
* Added ``.github/CODEOWNERS`` and ``natsuoto`` to ``AUTHORS.rst`` for the new agent-driven contribution flow (:pr:`39`).
|
|
35
|
+
* Locked ``main``: 1 approving code-owner review required, 31 status-check contexts required (the full matrix), linear history enforced, no force pushes or deletions, applies to administrators.
|
|
36
|
+
* Repo-level ``allow_auto_merge`` enabled — PRs auto-merge once review and CI gates pass.
|
|
37
|
+
|
|
38
|
+
Housekeeping
|
|
39
|
+
~~~~~~~~~~~~
|
|
40
|
+
|
|
41
|
+
* Dropped a dead ``py37``/``pypy37`` exclusion from the cookiecutter Jinja template and refreshed the docs copyright year (:pr:`43`).
|
|
42
|
+
* Updated author website URL in ``AUTHORS.rst`` and ``.cookiecutterrc`` (:pr:`41`).
|
|
43
|
+
* Removed all cookiecutter regeneration scaffolding — ``.cookiecutterrc``, ``ci/bootstrap.py``, and ``ci/templates/`` (containing dead AppVeyor config and a workflow template that lagged the live one) — along with the ``[testenv:bootstrap]`` env, related ``MANIFEST.in`` / ``setup.cfg`` / ``.pre-commit-config.yaml`` exclusions, and the dead Python 3.7 branch in ``tests.local.sh``. The local-test script's per-version ``if/elif`` chain is now a single programmatic ``tox -e py$VERSION`` lookup, which adapts automatically when Python versions are added or removed from the matrix (:pr:`47`).
|
|
44
|
+
|
|
45
|
+
0.2.2 (2022-12-22)
|
|
46
|
+
------------------
|
|
47
|
+
* Added Support for Python 3.11
|
|
48
|
+
* Added more RegexBuilder Examples
|
|
49
|
+
* Fixed Documentation Typos
|
|
50
|
+
|
|
51
|
+
0.2.1 (2022-11-27)
|
|
52
|
+
------------------
|
|
53
|
+
|
|
54
|
+
* This is a Quick Fix Release to fix the incomplete release of 0.2.0. The release was intended to drop support for 3.6, but the metadata was not updated to reflect this. This release fixes that. v0.2.0 remains available on PyPI, but is incompatible with Python 3.6. Using it with other versions of Python is not a problem. Other than the metadata, the two releases are identical.
|
|
55
|
+
|
|
56
|
+
0.2.0 (2022-11-27)
|
|
57
|
+
------------------
|
|
58
|
+
This is a minor release with a few new built-in validators along with some small changes and bug fixes.
|
|
59
|
+
|
|
60
|
+
Validators added:
|
|
61
|
+
~~~~~~~~~~~~~~~~~
|
|
62
|
+
* URL Validator
|
|
63
|
+
* UUID Validator
|
|
64
|
+
* GUID Validator
|
|
65
|
+
* SSN Validator
|
|
66
|
+
* Mac Address (IEEE 802) Validator
|
|
67
|
+
* Zip Code Validator
|
|
68
|
+
* Password Validator
|
|
69
|
+
|
|
70
|
+
Documentation:
|
|
71
|
+
~~~~~~~~~~~~~~
|
|
72
|
+
|
|
73
|
+
* Added documentation for new validators
|
|
74
|
+
* Add warning for trade-offs in email regex validation
|
|
75
|
+
|
|
76
|
+
Bug Fixes:
|
|
77
|
+
~~~~~~~~~~
|
|
78
|
+
|
|
79
|
+
* Fixed Phone pattern failing for service numbers and 4 digit numbers (See `#16 <https://github.com/luciferreeves/edify/issues/16>`_ for more information)
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
0.1.0 (2022-09-10)
|
|
83
|
+
------------------
|
|
84
|
+
|
|
85
|
+
* First release on PyPI.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: edify
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.3.0
|
|
4
4
|
Summary: Regular Expressions Made Simple
|
|
5
5
|
Home-page: https://github.com/luciferreeves/edify
|
|
6
6
|
Author: Bobby
|
|
@@ -18,17 +18,29 @@ Classifier: Operating System :: Microsoft :: Windows
|
|
|
18
18
|
Classifier: Programming Language :: Python
|
|
19
19
|
Classifier: Programming Language :: Python :: 3
|
|
20
20
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
21
|
-
Classifier: Programming Language :: Python :: 3.7
|
|
22
21
|
Classifier: Programming Language :: Python :: 3.8
|
|
23
22
|
Classifier: Programming Language :: Python :: 3.9
|
|
24
23
|
Classifier: Programming Language :: Python :: 3.10
|
|
25
24
|
Classifier: Programming Language :: Python :: 3.11
|
|
25
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
26
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
27
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
26
28
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
27
29
|
Classifier: Programming Language :: Python :: Implementation :: PyPy
|
|
28
30
|
Classifier: Topic :: Utilities
|
|
29
|
-
Requires-Python: >=3.
|
|
31
|
+
Requires-Python: >=3.8
|
|
30
32
|
License-File: LICENSE
|
|
31
33
|
License-File: AUTHORS.rst
|
|
34
|
+
Dynamic: author
|
|
35
|
+
Dynamic: author-email
|
|
36
|
+
Dynamic: classifier
|
|
37
|
+
Dynamic: description
|
|
38
|
+
Dynamic: home-page
|
|
39
|
+
Dynamic: license
|
|
40
|
+
Dynamic: license-file
|
|
41
|
+
Dynamic: project-url
|
|
42
|
+
Dynamic: requires-python
|
|
43
|
+
Dynamic: summary
|
|
32
44
|
|
|
33
45
|
========
|
|
34
46
|
Edify
|
|
@@ -68,9 +80,9 @@ Edify
|
|
|
68
80
|
:alt: Supported implementations
|
|
69
81
|
:target: https://pypi.org/project/edify
|
|
70
82
|
|
|
71
|
-
.. image:: https://img.shields.io/github/commits-since/luciferreeves/edify/v0.
|
|
83
|
+
.. image:: https://img.shields.io/github/commits-since/luciferreeves/edify/v0.3.0.svg
|
|
72
84
|
:alt: Commits since latest release
|
|
73
|
-
:target: https://github.com/luciferreeves/edify/compare/v0.
|
|
85
|
+
:target: https://github.com/luciferreeves/edify/compare/v0.3.0...main
|
|
74
86
|
|
|
75
87
|
|
|
76
88
|
|
|
@@ -85,7 +97,7 @@ It also allows you to verify a string quickly by providing commonly used regex p
|
|
|
85
97
|
Quick Start
|
|
86
98
|
=============
|
|
87
99
|
|
|
88
|
-
To get started make sure you have
|
|
100
|
+
To get started make sure you have Python 3.8-3.14 installed and then, install Edify from ``pip``:
|
|
89
101
|
|
|
90
102
|
.. code-block:: bash
|
|
91
103
|
|
|
@@ -303,6 +315,47 @@ Contributors
|
|
|
303
315
|
|
|
304
316
|
Changelog
|
|
305
317
|
=========
|
|
318
|
+
0.3.0 (2026-04-29)
|
|
319
|
+
------------------
|
|
320
|
+
|
|
321
|
+
A maintenance release: Edify is dragged out of 2022 and back into modern shape. No new patterns or builder API. The minimum supported Python rises to 3.8.
|
|
322
|
+
|
|
323
|
+
Breaking
|
|
324
|
+
~~~~~~~~
|
|
325
|
+
|
|
326
|
+
* Dropped support for Python 3.7. Edify now requires Python 3.8 or newer (``32``).
|
|
327
|
+
|
|
328
|
+
Added
|
|
329
|
+
~~~~~
|
|
330
|
+
|
|
331
|
+
* Support for Python 3.12, 3.13, and 3.14, with the matrix and Read the Docs build configuration updated to match (``31``).
|
|
332
|
+
|
|
333
|
+
Tooling and CI
|
|
334
|
+
~~~~~~~~~~~~~~
|
|
335
|
+
|
|
336
|
+
* Bumped GitHub Actions to current major versions: ``actions/checkout@v5``, ``actions/setup-python@v5``, ``github/codeql-action@v3``. All workflow jobs now run on the Node 20 runtime instead of the deprecated Node 16. ``pypa/gh-action-pypi-publish`` SHA refreshed to ``v1.14.0`` (``35``).
|
|
337
|
+
* PyPy CI matrix moved off the EOL ``pypy-3.8`` line to the maintained ``pypy-3.10`` and ``pypy-3.11`` (``37``).
|
|
338
|
+
* ``.pre-commit-config.yaml`` modernised: every hook pinned to an immutable tag instead of a floating branch ref, dead repo URLs corrected (``gitlab.com/pycqa/flake8`` → ``github.com/PyCQA/flake8``, ``timothycrosley/isort`` → ``PyCQA/isort``), and ``psf/black`` swapped for the upstream-recommended ``psf/black-pre-commit-mirror`` (``33``).
|
|
339
|
+
|
|
340
|
+
Dependencies
|
|
341
|
+
~~~~~~~~~~~~
|
|
342
|
+
|
|
343
|
+
* Bumped minimum versions: ``setuptools >=75.0``, ``pip >=26.0.1``, ``virtualenv >=21.3.0``, ``six >=1.17.0``, ``sphinx >=7.4.7`` (``25``, ``26``, ``27``, ``28``, ``29``).
|
|
344
|
+
|
|
345
|
+
Repository infrastructure
|
|
346
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
347
|
+
|
|
348
|
+
* Added ``.github/CODEOWNERS`` and ``natsuoto`` to ``AUTHORS.rst`` for the new agent-driven contribution flow (``39``).
|
|
349
|
+
* Locked ``main``: 1 approving code-owner review required, 31 status-check contexts required (the full matrix), linear history enforced, no force pushes or deletions, applies to administrators.
|
|
350
|
+
* Repo-level ``allow_auto_merge`` enabled — PRs auto-merge once review and CI gates pass.
|
|
351
|
+
|
|
352
|
+
Housekeeping
|
|
353
|
+
~~~~~~~~~~~~
|
|
354
|
+
|
|
355
|
+
* Dropped a dead ``py37``/``pypy37`` exclusion from the cookiecutter Jinja template and refreshed the docs copyright year (``43``).
|
|
356
|
+
* Updated author website URL in ``AUTHORS.rst`` and ``.cookiecutterrc`` (``41``).
|
|
357
|
+
* Removed all cookiecutter regeneration scaffolding — ``.cookiecutterrc``, ``ci/bootstrap.py``, and ``ci/templates/`` (containing dead AppVeyor config and a workflow template that lagged the live one) — along with the ``[testenv:bootstrap]`` env, related ``MANIFEST.in`` / ``setup.cfg`` / ``.pre-commit-config.yaml`` exclusions, and the dead Python 3.7 branch in ``tests.local.sh``. The local-test script's per-version ``if/elif`` chain is now a single programmatic ``tox -e py$VERSION`` lookup, which adapts automatically when Python versions are added or removed from the matrix (``47``).
|
|
358
|
+
|
|
306
359
|
0.2.2 (2022-12-22)
|
|
307
360
|
------------------
|
|
308
361
|
* Added Support for Python 3.11
|
|
@@ -36,9 +36,9 @@ Edify
|
|
|
36
36
|
:alt: Supported implementations
|
|
37
37
|
:target: https://pypi.org/project/edify
|
|
38
38
|
|
|
39
|
-
.. image:: https://img.shields.io/github/commits-since/luciferreeves/edify/v0.
|
|
39
|
+
.. image:: https://img.shields.io/github/commits-since/luciferreeves/edify/v0.3.0.svg
|
|
40
40
|
:alt: Commits since latest release
|
|
41
|
-
:target: https://github.com/luciferreeves/edify/compare/v0.
|
|
41
|
+
:target: https://github.com/luciferreeves/edify/compare/v0.3.0...main
|
|
42
42
|
|
|
43
43
|
|
|
44
44
|
|
|
@@ -53,7 +53,7 @@ It also allows you to verify a string quickly by providing commonly used regex p
|
|
|
53
53
|
Quick Start
|
|
54
54
|
=============
|
|
55
55
|
|
|
56
|
-
To get started make sure you have
|
|
56
|
+
To get started make sure you have Python 3.8-3.14 installed and then, install Edify from ``pip``:
|
|
57
57
|
|
|
58
58
|
.. code-block:: bash
|
|
59
59
|
|
|
@@ -17,17 +17,24 @@ extensions = [
|
|
|
17
17
|
source_suffix = '.rst'
|
|
18
18
|
master_doc = 'index'
|
|
19
19
|
project = 'Edify'
|
|
20
|
-
year = '2022'
|
|
20
|
+
year = '2022-2026'
|
|
21
21
|
author = 'Bobby'
|
|
22
22
|
copyright = '{0}, {1}'.format(year, author)
|
|
23
|
-
version = release = '0.
|
|
23
|
+
version = release = '0.3.0'
|
|
24
24
|
|
|
25
25
|
pygments_style = 'trac'
|
|
26
26
|
templates_path = ['.']
|
|
27
27
|
extlinks = {
|
|
28
|
-
'issue': ('https://github.com/luciferreeves/edify/issues/%s', '
|
|
29
|
-
'pr': ('https://github.com/luciferreeves/edify/pull/%s', 'PR
|
|
28
|
+
'issue': ('https://github.com/luciferreeves/edify/issues/%s', '#%s'),
|
|
29
|
+
'pr': ('https://github.com/luciferreeves/edify/pull/%s', 'PR #%s'),
|
|
30
30
|
}
|
|
31
|
+
# The "commits since latest release" shield in README.rst targets a
|
|
32
|
+
# `compare/vX.Y.Z...main` URL, which 404s during the window between
|
|
33
|
+
# bumping the version and tagging the release. Skip it in linkcheck
|
|
34
|
+
# rather than letting docs CI fail every time we bump.
|
|
35
|
+
linkcheck_ignore = [
|
|
36
|
+
r'https://github\.com/luciferreeves/edify/compare/v\d+\.\d+\.\d+\.\.\.main',
|
|
37
|
+
]
|
|
31
38
|
# on_rtd is whether we are on readthedocs.org
|
|
32
39
|
on_rtd = os.environ.get('READTHEDOCS', None) == 'True'
|
|
33
40
|
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
sphinx>=
|
|
1
|
+
sphinx>=7.4.7
|
|
2
2
|
sphinx-rtd-theme
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[flake8]
|
|
2
2
|
max-line-length = 140
|
|
3
|
-
exclude = .tox,.eggs,
|
|
3
|
+
exclude = .tox,.eggs,build,dist
|
|
4
4
|
|
|
5
5
|
[tool:isort]
|
|
6
6
|
force_single_line = True
|
|
@@ -8,7 +8,7 @@ line_length = 120
|
|
|
8
8
|
known_first_party = edify
|
|
9
9
|
default_section = THIRDPARTY
|
|
10
10
|
forced_separate = test_edify
|
|
11
|
-
skip = .tox,.eggs,
|
|
11
|
+
skip = .tox,.eggs,build,dist
|
|
12
12
|
|
|
13
13
|
[egg_info]
|
|
14
14
|
tag_build =
|
|
@@ -20,7 +20,7 @@ def read(*names, **kwargs):
|
|
|
20
20
|
|
|
21
21
|
setup(
|
|
22
22
|
name='edify',
|
|
23
|
-
version='0.
|
|
23
|
+
version='0.3.0',
|
|
24
24
|
license='Apache-2.0',
|
|
25
25
|
description='Regular Expressions Made Simple',
|
|
26
26
|
long_description='{}\n{}'.format(
|
|
@@ -46,11 +46,13 @@ setup(
|
|
|
46
46
|
'Programming Language :: Python',
|
|
47
47
|
'Programming Language :: Python :: 3',
|
|
48
48
|
'Programming Language :: Python :: 3 :: Only',
|
|
49
|
-
'Programming Language :: Python :: 3.7',
|
|
50
49
|
'Programming Language :: Python :: 3.8',
|
|
51
50
|
'Programming Language :: Python :: 3.9',
|
|
52
51
|
'Programming Language :: Python :: 3.10',
|
|
53
52
|
'Programming Language :: Python :: 3.11',
|
|
53
|
+
'Programming Language :: Python :: 3.12',
|
|
54
|
+
'Programming Language :: Python :: 3.13',
|
|
55
|
+
'Programming Language :: Python :: 3.14',
|
|
54
56
|
'Programming Language :: Python :: Implementation :: CPython',
|
|
55
57
|
'Programming Language :: Python :: Implementation :: PyPy',
|
|
56
58
|
# uncomment if you test on these interpreters:
|
|
@@ -67,7 +69,7 @@ setup(
|
|
|
67
69
|
keywords=[
|
|
68
70
|
# eg: 'keyword1', 'keyword2', 'keyword3',
|
|
69
71
|
],
|
|
70
|
-
python_requires='>=3.
|
|
72
|
+
python_requires='>=3.8',
|
|
71
73
|
install_requires=[
|
|
72
74
|
# eg: 'aspectlib==1.1.1', 'six>=1.7',
|
|
73
75
|
],
|
|
@@ -47,9 +47,9 @@ def apply_subexpression_defaults(expr):
|
|
|
47
47
|
out['namespace'] = "" if 'namespace' not in out else out['namespace']
|
|
48
48
|
out['ignore_flags'] = True if 'ignore_flags' not in out else out['ignore_flags']
|
|
49
49
|
out['ignore_start_and_end'] = True if 'ignore_start_and_end' not in out else out['ignore_start_and_end']
|
|
50
|
-
assertion(
|
|
51
|
-
assertion(
|
|
52
|
-
assertion(
|
|
50
|
+
assertion(isinstance(out['namespace'], str), 'namespace must be a string')
|
|
51
|
+
assertion(isinstance(out['ignore_flags'], bool), 'ignore_flags must be a boolean')
|
|
52
|
+
assertion(isinstance(out['ignore_start_and_end'], bool), 'ignore_start_and_end must be a boolean')
|
|
53
53
|
return out
|
|
54
54
|
|
|
55
55
|
|