{"id":15595294,"url":"https://github.com/michaelherold/pyisemail","last_synced_at":"2025-04-06T07:13:47.271Z","repository":{"id":5790624,"uuid":"7004861","full_name":"michaelherold/pyIsEmail","owner":"michaelherold","description":"Simple, robust email validation","archived":false,"fork":false,"pushed_at":"2022-10-25T03:06:09.000Z","size":213,"stargazers_count":130,"open_issues_count":1,"forks_count":14,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-03-30T06:09:13.447Z","etag":null,"topics":["email-validation","hacktoberfest","python"],"latest_commit_sha":null,"homepage":"http://michaelherold.github.io/pyIsEmail","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/michaelherold.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGELOG.rst","contributing":"CONTRIBUTING.rst","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-12-04T18:35:31.000Z","updated_at":"2025-03-16T02:28:48.000Z","dependencies_parsed_at":"2022-08-06T19:00:52.729Z","dependency_job_id":null,"html_url":"https://github.com/michaelherold/pyIsEmail","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaelherold%2FpyIsEmail","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaelherold%2FpyIsEmail/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaelherold%2FpyIsEmail/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaelherold%2FpyIsEmail/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/michaelherold","download_url":"https://codeload.github.com/michaelherold/pyIsEmail/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247445671,"owners_count":20939958,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["email-validation","hacktoberfest","python"],"created_at":"2024-10-03T00:51:35.978Z","updated_at":"2025-04-06T07:13:47.250Z","avatar_url":"https://github.com/michaelherold.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"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 \u003c./CONTRIBUTING.rst\u003e`__ 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","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichaelherold%2Fpyisemail","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmichaelherold%2Fpyisemail","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichaelherold%2Fpyisemail/lists"}