Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/test_and_build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14", "3.15"]
python-version: ["3.11", "3.12", "3.13", "3.14", "3.15"]

steps:
- uses: actions/checkout@v7
Expand Down
2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
In Development
--------------

* Python 3.8 and 3.9 are no longer supported.
* Python 3.8, 3.9 and 3.10 are no longer supported.
* The `original` field of the returned validated email object incorrectly un-escaped the local part of the email address. Now it returns the original address, without any display name, as passed to validate_email.
* add support python3.15

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ email-validator: Validate Email Addresses
=========================================

A robust email address syntax and deliverability validation library for
Python 3.10+ by [Joshua Tauberer](https://joshdata.me).
Python 3.11+ by [Joshua Tauberer](https://joshdata.me).

This library validates that a string is of the form `name@example.com`
and optionally checks that the domain name is set up to receive email.
Expand Down
7 changes: 3 additions & 4 deletions setup.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ classifiers =
Intended Audience :: Developers
License :: OSI Approved :: The Unlicense (Unlicense)
Programming Language :: Python :: 3
Programming Language :: Python :: 3.10
Programming Language :: Python :: 3.11
Programming Language :: Python :: 3.12
Programming Language :: Python :: 3.13
Expand All @@ -26,9 +25,9 @@ keywords = email address validator
[options]
packages = find:
install_requires =
dnspython>=2.0.0 # optional if deliverability check isn't needed
idna>=2.0.0
python_requires = >=3.10
dnspython>=2.9.0 # optional if deliverability check isn't needed
idna>=3.0.0
python_requires = >=3.11

[options.package_data]
* = py.typed
Expand Down
34 changes: 17 additions & 17 deletions test_requirements.txt
Original file line number Diff line number Diff line change
@@ -1,29 +1,29 @@
# This file was generated by running:
# sudo docker run --rm -it --network=host python:3.10-slim /bin/bash
# sudo docker run --rm -it --network=host python:3.11-slim /bin/bash
# pip install dnspython idna # from setup.cfg
# pip install pytest pytest-cov coverage flake8 mypy
# pip freeze
# (Some packages' latest versions may not be compatible with
# the earliest Python version we support, and some exception
# messages may depend on package versions, so we pin versions
# for reproducible testing.)
coverage==7.13.5
dnspython==2.8.0
coverage==7.16.2
dnspython==2.9.0
exceptiongroup==1.3.1
flake8==7.3.0
idna==3.15
iniconfig==2.3.0
librt==0.9.0
flake8==7.4.1
idna==3.20
iniconfig==2.3.1
librt==0.16.0
mccabe==0.7.0
mypy==1.20.1
mypy==2.4.0
mypy_extensions==1.1.0
packaging==26.0
pathspec==1.0.4
pluggy==1.6.0
pycodestyle==2.14.0
pyflakes==3.4.0
Pygments==2.20.0
pytest==9.0.3
packaging==26.3
pathspec==1.1.1
pluggy==1.7.0
pycodestyle==2.15.0
pyflakes==4.0.3
Pygments==2.21.0
pytest==9.1.1
pytest-cov==7.1.0
tomli==2.4.1
typing_extensions==4.15.0
tomli==2.5.0
typing_extensions==4.16.0
2 changes: 1 addition & 1 deletion tests/mocked_dns_response.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
class MockedDnsResponseData:
DATA_PATH = os.path.dirname(__file__) + "/mocked-dns-answers.json"

INSTANCE = None
INSTANCE: Optional["MockedDnsResponseData"] = None

@staticmethod
def create_resolver() -> dns.resolver.Resolver:
Expand Down
Loading