pyIsEmail


NamepyIsEmail JSON
Version 2.0.1 PyPI version JSON
download
home_pageNone
SummarySimple, robust email validation
upload_time2022-10-25 03:05:46
maintainerNone
docs_urlNone
authorNone
requires_python>=3.7
licenseNone
keywords email validation
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            pyIsEmail
=========

|pypi| |ci| |coveralls| |downloads|

Getting Started
---------------

pyIsEmail is a no-nonsense approach for checking whether that
user-supplied email address could be real. Sick of not being able to use
`email address tagging`_ to sort through your `Bacn`_? We can fix that.

Regular expressions are cheap to write, but often require maintenance when
new top-level domains come out or don't conform to email addressing
features that come back into vogue. pyIsEmail allows you to validate an
email address -- and even check the domain, if you wish -- with one simple
call, making your code more readable and faster to write. When you want to
know why an email address doesn't validate, we even provide you with
a diagnosis.

.. _email address tagging: http://en.wikipedia.org/wiki/Email_address#Address_tags
.. _Bacn: http://en.wikipedia.org/wiki/Bacn

Install
-------

Install from PyPI using `pip`_, a package manager for Python.

.. code-block:: bash

    $ pip install pyIsEmail

Don't have pip installed? Try installing it by running this from the
command line:

.. code-block:: bash

    $ curl https://raw.github.com/pypa/pip/master/contrib/get-pip.py | python

Or you can `download the source code (zip)`_ for ``pyIsEmail`` and then
run:

.. code-block:: bash

    $ python setup.py install

You may need to run the above commands with ``sudo``.

.. _pip: http://www.pip-installer.org/en/latest/
.. _download the source code (zip): https://github.com/michaelherold/pyIsEmail/zipball/master

Usage
-----

For the simplest usage, import and use the ``is_email`` function:

.. code-block:: python

    from pyisemail import is_email

    address = "test@example.com"
    bool_result = is_email(address)
    detailed_result = is_email(address, diagnose=True)

You can also check whether the domain used in the email is a valid domain
and whether or not it has a valid MX record:

.. code-block:: python

    from pyisemail import is_email

    address = "test@example.com"
    bool_result_with_dns = is_email(address, check_dns=True)
    detailed_result_with_dns = is_email(address, check_dns=True, diagnose=True)

These are primary indicators of whether an email address can even be
issued at that domain. However, a valid response here *is not a guarantee
that the email exists*, merely that is *can* exist.

If you want to limit using a `gTLD`_ as the domain part of the email
address, you can do so with a flag:

.. code-block:: python

    from pyisemail import is_email

    address = "thiswont@workatall"
    bool_result_with_check = is_email(address, allow_gtld=False)
    detailed_result_with_check = is_email(address, allow_gtld=False, diagnose=True)

In addition to the base ``is_email`` functionality, you can also use the
validators by themselves. Check the validator source doe to see how this
works.

.. _gTLD: https://en.wikipedia.org/wiki/Generic_top-level_domain

Uninstall
---------

Want to get rid of pyIsEmail? Did you install with pip? Here you go:

.. code-block:: bash

    $ pip uninstall pyIsEmail

Acknowledgements
----------------

The base ``ParserValidator`` is based off of `Dominic Sayers`_' `is_email
script`_. I wanted the functionality in Python, so I ported it from the
original PHP.

.. _Dominic Sayers: https://github.com/dominicsayers
.. _is_email script: https://github.com/dominicsayers/isemail

Contributing
------------

So you're interested in contributing to pyIsEmail? Check out our `contributing guidelines <./CONTRIBUTING.rst>`__ for more information on how to do that.

Versioning
----------

This library aims to adhere to `Semantic Versioning 2.0.0`_. Violations of
this scheme should be reported as bugs.

.. _Semantic Versioning 2.0.0: http://semver.org/

Copyright
---------

Copyright (c) 2015 Michael Herold. Open sourced under the terms of the
`MIT license`_.

.. _MIT license: http://opensource.org/licenses/MIT


.. |pypi| image:: https://img.shields.io/pypi/v/pyIsEmail.svg?style=flat-square
   :target: https://pypi.python.org/pypi/pyIsEmail
   :alt: Latest version released on PyPI
.. |ci| image:: https://github.com/michaelherold/pyIsEmail/actions/workflows/ci.yml/badge.svg
   :target: https://github.com/michaelherold/pyIsEmail/actions/workflows/ci.yml
.. |coveralls| image:: https://img.shields.io/coveralls/michaelherold/pyIsEmail/master.svg?style=flat-square
   :target: https://coveralls.io/r/michaelherold/pyIsEmail?branch=master
   :alt: Test coverage
.. |downloads| image:: https://img.shields.io/pypi/dm/pyIsEmail.svg?style=flat-square
   :target: https://pypi.python.org/pypi/pyIsEmail/

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "pyIsEmail",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": null,
    "keywords": "email,validation",
    "author": null,
    "author_email": "Michael Herold <opensource@michaeljherold.com>",
    "download_url": "https://files.pythonhosted.org/packages/07/8d/b73f5154bc0c5bae1f83117a7095d4ca1c369ad0f3d65de27cf5c2b0b185/pyisemail-2.0.1.tar.gz",
    "platform": null,
    "description": "pyIsEmail\n=========\n\n|pypi| |ci| |coveralls| |downloads|\n\nGetting Started\n---------------\n\npyIsEmail is a no-nonsense approach for checking whether that\nuser-supplied email address could be real. Sick of not being able to use\n`email address tagging`_ to sort through your `Bacn`_? We can fix that.\n\nRegular expressions are cheap to write, but often require maintenance when\nnew top-level domains come out or don't conform to email addressing\nfeatures that come back into vogue. pyIsEmail allows you to validate an\nemail address -- and even check the domain, if you wish -- with one simple\ncall, making your code more readable and faster to write. When you want to\nknow why an email address doesn't validate, we even provide you with\na diagnosis.\n\n.. _email address tagging: http://en.wikipedia.org/wiki/Email_address#Address_tags\n.. _Bacn: http://en.wikipedia.org/wiki/Bacn\n\nInstall\n-------\n\nInstall from PyPI using `pip`_, a package manager for Python.\n\n.. code-block:: bash\n\n    $ pip install pyIsEmail\n\nDon't have pip installed? Try installing it by running this from the\ncommand line:\n\n.. code-block:: bash\n\n    $ curl https://raw.github.com/pypa/pip/master/contrib/get-pip.py | python\n\nOr you can `download the source code (zip)`_ for ``pyIsEmail`` and then\nrun:\n\n.. code-block:: bash\n\n    $ python setup.py install\n\nYou may need to run the above commands with ``sudo``.\n\n.. _pip: http://www.pip-installer.org/en/latest/\n.. _download the source code (zip): https://github.com/michaelherold/pyIsEmail/zipball/master\n\nUsage\n-----\n\nFor the simplest usage, import and use the ``is_email`` function:\n\n.. code-block:: python\n\n    from pyisemail import is_email\n\n    address = \"test@example.com\"\n    bool_result = is_email(address)\n    detailed_result = is_email(address, diagnose=True)\n\nYou can also check whether the domain used in the email is a valid domain\nand whether or not it has a valid MX record:\n\n.. code-block:: python\n\n    from pyisemail import is_email\n\n    address = \"test@example.com\"\n    bool_result_with_dns = is_email(address, check_dns=True)\n    detailed_result_with_dns = is_email(address, check_dns=True, diagnose=True)\n\nThese are primary indicators of whether an email address can even be\nissued at that domain. However, a valid response here *is not a guarantee\nthat the email exists*, merely that is *can* exist.\n\nIf you want to limit using a `gTLD`_ as the domain part of the email\naddress, you can do so with a flag:\n\n.. code-block:: python\n\n    from pyisemail import is_email\n\n    address = \"thiswont@workatall\"\n    bool_result_with_check = is_email(address, allow_gtld=False)\n    detailed_result_with_check = is_email(address, allow_gtld=False, diagnose=True)\n\nIn addition to the base ``is_email`` functionality, you can also use the\nvalidators by themselves. Check the validator source doe to see how this\nworks.\n\n.. _gTLD: https://en.wikipedia.org/wiki/Generic_top-level_domain\n\nUninstall\n---------\n\nWant to get rid of pyIsEmail? Did you install with pip? Here you go:\n\n.. code-block:: bash\n\n    $ pip uninstall pyIsEmail\n\nAcknowledgements\n----------------\n\nThe base ``ParserValidator`` is based off of `Dominic Sayers`_' `is_email\nscript`_. I wanted the functionality in Python, so I ported it from the\noriginal PHP.\n\n.. _Dominic Sayers: https://github.com/dominicsayers\n.. _is_email script: https://github.com/dominicsayers/isemail\n\nContributing\n------------\n\nSo you're interested in contributing to pyIsEmail? Check out our `contributing guidelines <./CONTRIBUTING.rst>`__ for more information on how to do that.\n\nVersioning\n----------\n\nThis library aims to adhere to `Semantic Versioning 2.0.0`_. Violations of\nthis scheme should be reported as bugs.\n\n.. _Semantic Versioning 2.0.0: http://semver.org/\n\nCopyright\n---------\n\nCopyright (c) 2015 Michael Herold. Open sourced under the terms of the\n`MIT license`_.\n\n.. _MIT license: http://opensource.org/licenses/MIT\n\n\n.. |pypi| image:: https://img.shields.io/pypi/v/pyIsEmail.svg?style=flat-square\n   :target: https://pypi.python.org/pypi/pyIsEmail\n   :alt: Latest version released on PyPI\n.. |ci| image:: https://github.com/michaelherold/pyIsEmail/actions/workflows/ci.yml/badge.svg\n   :target: https://github.com/michaelherold/pyIsEmail/actions/workflows/ci.yml\n.. |coveralls| image:: https://img.shields.io/coveralls/michaelherold/pyIsEmail/master.svg?style=flat-square\n   :target: https://coveralls.io/r/michaelherold/pyIsEmail?branch=master\n   :alt: Test coverage\n.. |downloads| image:: https://img.shields.io/pypi/dm/pyIsEmail.svg?style=flat-square\n   :target: https://pypi.python.org/pypi/pyIsEmail/\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Simple, robust email validation",
    "version": "2.0.1",
    "split_keywords": [
        "email",
        "validation"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "md5": "afd05d85d66d9f7ebae832fb632dc8d8",
                "sha256": "3d2bebd159f436673219d024a3f02bed1b468c793df9a5fa08d72b7d4b4f6cb4"
            },
            "downloads": -1,
            "filename": "pyisemail-2.0.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "afd05d85d66d9f7ebae832fb632dc8d8",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 25329,
            "upload_time": "2022-10-25T03:05:45",
            "upload_time_iso_8601": "2022-10-25T03:05:45.163908Z",
            "url": "https://files.pythonhosted.org/packages/11/d2/d62d675754a40ec41cd3c28417b6707278de5490d4da1cf7d79da61ebaa1/pyisemail-2.0.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "md5": "33006d869fc34cfd75ef6d6b6d0fefaa",
                "sha256": "daf4b3fb2150a38f406b0aaba729e19fcd638a6d1c0549c25ff54c7b804618f8"
            },
            "downloads": -1,
            "filename": "pyisemail-2.0.1.tar.gz",
            "has_sig": false,
            "md5_digest": "33006d869fc34cfd75ef6d6b6d0fefaa",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 22121,
            "upload_time": "2022-10-25T03:05:46",
            "upload_time_iso_8601": "2022-10-25T03:05:46.448074Z",
            "url": "https://files.pythonhosted.org/packages/07/8d/b73f5154bc0c5bae1f83117a7095d4ca1c369ad0f3d65de27cf5c2b0b185/pyisemail-2.0.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2022-10-25 03:05:46",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "lcname": "pyisemail"
}
        
Elapsed time: 0.01882s