Skip to content

Commit 34e7ebb

Browse files
committed
release 1.0
1 parent 9ed8c42 commit 34e7ebb

File tree

2 files changed

+41
-15
lines changed

2 files changed

+41
-15
lines changed

README.rst

Lines changed: 39 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,35 @@ email\_validator
44
A robust email address syntax and deliverability validation library
55
for Python 2.7/3.4 by `Joshua Tauberer <https://razor.occams.info>`__.
66

7-
This library validates that address are of the form like ``x@y.com``,
8-
e.g. what you would want in a login form on a website. There are other
9-
forms of email addresses, like you would use when composing a message's
10-
To: line e.g. ``My Name <my@address.com>``, that this library does not
11-
accept. For that try `flanker <https://github.com/mailgun/flanker>`__
12-
instead.
7+
This library validates that address are of the form ``x@y.com``. This is
8+
the sort of validation you would want for a login form on a website.
9+
10+
Key features:
11+
12+
* Good for validating email addresses used for logins/identity.
13+
* Friendly error messages when validation fails (appropriate to show to end users).
14+
* Checks deliverability: Does the domain name resolve?
15+
* Supports internationalized domain names and, with a flag, internationalized local parts.
16+
* Normalizes email addresses (super import for internationalized addresses).
17+
18+
The library is NOT for validation of an email's To: line (e.g.
19+
``My Name <my@address.com>``), which `flanker <https://github.com/mailgun/flanker>`__
20+
is more appropriate for. And this library does NOT permit obsolete
21+
forms of email addresses, so if you need strict validation against the
22+
email specs exactly, use `pyIsEmail <https://github.com/michaelherold/pyIsEmail>`__.
23+
24+
The current version is 1.0 (September 5, 2015).
25+
26+
Installation
27+
------------
28+
29+
This package is on PyPI, so:
30+
31+
::
32+
33+
pip install email_validator
34+
35+
``pip3`` also works.
1336

1437
Usage
1538
-----
@@ -67,12 +90,12 @@ turn is a subclass of ``ValueError``.
6790
But when an email address is valid, a dict is returned containing
6891
information that might aid deliverability (see below).
6992

70-
The validator doesn't permit obsoleted forms of email addresses that no one,
93+
The validator doesn't permit obsoleted forms of email addresses that no one
7194
uses anymore even though they are still valid and deliverable, since they
72-
will probably give you grief if you're using email for login. See later in the
73-
document about that. If you need validation against the specs exactly,
74-
you might like `pyIsEmail <https://github.com/michaelherold/pyIsEmail>`__.
95+
will probably give you grief if you're using email for login. (See later in the
96+
document about that.)
7597

98+
The validator checks that the domain name in the email address resolves.
7699
There is nothing to be gained by trying to actually contact an SMTP
77100
server, so that's not done here. For privacy, security, and practicality
78101
reasons servers are good at not giving away whether an address is
@@ -104,7 +127,8 @@ respectively. Each has adapted to internationalization in a separate
104127
way, creating two separate aspects to email address
105128
internationalization.
106129

107-
### Internationalized domain names (IDN)
130+
Internationalized domain names (IDN)
131+
''''''''''''''''''''''''''''''''''''
108132

109133
The first is `internationalized domain names (RFC
110134
5891) <https://tools.ietf.org/html/rfc5891>`__. The DNS system has not
@@ -118,7 +142,8 @@ in transition between IDNA 2003 (RFC 3490) and IDNA 2008 (RFC 5891). This
118142
library uses IDNA 2008 using the `idna <https://github.com/kjd/idna>`__
119143
module by Kim Davies.
120144

121-
### Internationalized local parts
145+
Internationalized local parts
146+
'''''''''''''''''''''''''''''
122147

123148
The second sort of internationalization is internationalization in the
124149
*local* part of the address (before the @-sign). These email addresses
@@ -128,7 +153,8 @@ support the `SMTPUTF8 (RFC
128153
6531) <https://tools.ietf.org/html/rfc6531>`__ extension. Support for
129154
SMTPUTF8 varies.
130155

131-
### How this module works
156+
How this module works
157+
'''''''''''''''''''''
132158

133159
By default all internationalized forms are accepted by the validator.
134160
But if you know ahead of time that SMTPUTF8 is not supported by your

setup.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
setup(
1111
name='email_validator',
12-
version='0.5.0',
12+
version='1.0.0',
1313

1414
description='A robust email syntax and deliverability validation library for Python 2.x/3.x.',
1515
long_description=open("README.rst", encoding='utf-8').read(),
@@ -21,7 +21,7 @@
2121

2222
# See https://pypi.python.org/pypi?%3Aaction=list_classifiers
2323
classifiers=[
24-
'Development Status :: 4 - Beta',
24+
'Development Status :: 5 - Production/Stable',
2525
'License :: CC0 1.0 Universal (CC0 1.0) Public Domain Dedication',
2626

2727
'Intended Audience :: Developers',

0 commit comments

Comments
 (0)