PyPI / email-validator / 2.3.0

email-validator 2.3.0

Source
https://github.com/JoshData/python-email-validator
Tag scanned
v2.3.0
Compared with
v2.2.0 (0 signals introduced since)
Files
19 scanned, 7 skipped (binary, oversized, or unrecognised)
Signals
0 critical · 0 warn · 22 info
Scan time
0.1 s
LLM review
LLM review by claude-haiku-5-5 (Anthropic): nothing at warn or critical to review.
Disclude version
4.0.0
Scanned (UTC)
2026-10-14 18:45

Signals

Ordered by severity, then signals introduced in this release. Hidden characters are shown as ⟨U+…⟩.

  1. info unicode-homoglyph tests/test_syntax.py:198:23

    identifier `εχαμπλε` contains homoglyph candidates: α (03B1)→a (in string/comment) (raw pass, confidence 0.35)

            (
                'θσερ@εχαμπλε.ψομ',
                MakeValidatedEmail(
                    local_part='θσερ',
  2. info unicode-mixed-script tests/test_syntax.py:198:23

    identifier `εχαμπλε` mixes scripts: Greek + Latin (in string/comment) (raw pass, confidence 0.40)

            (
                'θσερ@εχαμπλε.ψομ',
                MakeValidatedEmail(
                    local_part='θσερ',
  3. info unicode-homoglyph tests/test_syntax.py:198:38

    identifier `ψομ` contains homoglyph candidates: ο (03BF)→o (in string/comment) (raw pass, confidence 0.35)

            (
                'θσερ@εχαμπλε.ψομ',
                MakeValidatedEmail(
                    local_part='θσερ',
  4. info unicode-mixed-script tests/test_syntax.py:198:38

    identifier `ψομ` mixes scripts: Greek + Latin (in string/comment) (raw pass, confidence 0.40)

            (
                'θσερ@εχαμπλε.ψομ',
                MakeValidatedEmail(
                    local_part='θσερ',
  5. info unicode-homoglyph tests/test_syntax.py:203:25

    identifier `εχαμπλε` contains homoglyph candidates: α (03B1)→a (in string/comment) (raw pass, confidence 0.35)

                    ascii_domain='xn--mxahbxey0c.xn--xxaf0a',
                    domain='εχαμπλε.ψομ',
                    normalized='θσερ@εχαμπλε.ψομ',
                ),
  6. info unicode-mixed-script tests/test_syntax.py:203:25

    identifier `εχαμπλε` mixes scripts: Greek + Latin (in string/comment) (raw pass, confidence 0.40)

                    ascii_domain='xn--mxahbxey0c.xn--xxaf0a',
                    domain='εχαμπλε.ψομ',
                    normalized='θσερ@εχαμπλε.ψομ',
                ),
  7. info unicode-homoglyph tests/test_syntax.py:203:40

    identifier `ψομ` contains homoglyph candidates: ο (03BF)→o (in string/comment) (raw pass, confidence 0.35)

                    ascii_domain='xn--mxahbxey0c.xn--xxaf0a',
                    domain='εχαμπλε.ψομ',
                    normalized='θσερ@εχαμπλε.ψομ',
                ),
  8. info unicode-mixed-script tests/test_syntax.py:203:40

    identifier `ψομ` mixes scripts: Greek + Latin (in string/comment) (raw pass, confidence 0.40)

                    ascii_domain='xn--mxahbxey0c.xn--xxaf0a',
                    domain='εχαμπλε.ψομ',
                    normalized='θσερ@εχαμπλε.ψομ',
                ),
  9. info unicode-homoglyph tests/test_syntax.py:204:38

    identifier `εχαμπλε` contains homoglyph candidates: α (03B1)→a (in string/comment) (raw pass, confidence 0.35)

                    domain='εχαμπλε.ψομ',
                    normalized='θσερ@εχαμπλε.ψομ',
                ),
            ),
  10. info unicode-mixed-script tests/test_syntax.py:204:38

    identifier `εχαμπλε` mixes scripts: Greek + Latin (in string/comment) (raw pass, confidence 0.40)

                    domain='εχαμπλε.ψομ',
                    normalized='θσερ@εχαμπλε.ψομ',
                ),
            ),
  11. info unicode-homoglyph tests/test_syntax.py:204:53

    identifier `ψομ` contains homoglyph candidates: ο (03BF)→o (in string/comment) (raw pass, confidence 0.35)

                    domain='εχαμπλε.ψομ',
                    normalized='θσερ@εχαμπλε.ψομ',
                ),
            ),
  12. info unicode-mixed-script tests/test_syntax.py:204:53

    identifier `ψομ` mixes scripts: Greek + Latin (in string/comment) (raw pass, confidence 0.40)

                    domain='εχαμπλε.ψομ',
                    normalized='θσερ@εχαμπλε.ψομ',
                ),
            ),
  13. info unicode-homoglyph tests/test_syntax.py:268:41

    identifier `с` contains homoglyph candidates: с (0441)→c (in string/comment) (raw pass, confidence 0.35)

            (
                'чебурашкаящик-с-апельсинами.рф@example.tld',
                MakeValidatedEmail(
                    local_part='чебурашкаящик-с-апельсинами.рф',
  14. info unicode-homoglyph tests/test_syntax.py:270:56

    identifier `с` contains homoglyph candidates: с (0441)→c (in string/comment) (raw pass, confidence 0.35)

                MakeValidatedEmail(
                    local_part='чебурашкаящик-с-апельсинами.рф',
                    smtputf8=True,
                    ascii_domain='example.tld',
  15. info unicode-homoglyph tests/test_syntax.py:274:56

    identifier `с` contains homoglyph candidates: с (0441)→c (in string/comment) (raw pass, confidence 0.35)

                    domain='example.tld',
                    normalized='чебурашкаящик-с-апельсинами.рф@example.tld',
                ),
            ),
  16. info unicode-mixed-script tests/test_syntax.py:428:14

    identifier `λong` mixes scripts: Greek + Latin (in string/comment) (raw pass, confidence 0.40)

            ('my.λong.address@1111111111222222222233333333334444444444555555555.6666666666777777777788888888889999999999000000000.1111111111222222222233333333334444444444555555555.6666666666777777777788888888889999999999000000000.111111111122222222223333333333444.info', 'The email address is too long (1 character too many
  17. info unicode-mixed-script tests/test_syntax.py:429:14

    identifier `λong` mixes scripts: Greek + Latin (in string/comment) (raw pass, confidence 0.40)

            ('my.λong.address@1111111111222222222233333333334444444444555555555.6666666666777777777788888888889999999999000000000.1111111111222222222233333333334444444444555555555.6666666666777777777788888888889999999999000000000.1111111111222222222233333333334444.info', 'The email address is too long (1-2 characters too 
  18. info unicode-mixed-script tests/test_syntax.py:434:14

    identifier `λong` mixes scripts: Greek + Latin (in string/comment) (raw pass, confidence 0.40)

            ('my.λong.address@λ111111111222222222233333333334444444444555555555.6666666666777777777788888888889999999999000000000.1111111111222222222233333333334444444444555555555.6666666666777777777788888888889999999999000000000.11111111112222222222333333.info', 'The email address is too long when the part after the @-s
  19. info high-complexity tests/test_syntax.py:438:27

    compression ratio 0.773 is >2σ above file mean 0.300 (raw pass, confidence 0.50)

            ('me@yy--0.tld', 'An email address cannot have two letters followed by two dashes immediately after the @-sign or after a period, except Punycode.'),
            ('me@yy--0.tld', 'An email address cannot have two letters followed by two dashes immediately after the @-sign or after a period, except Punycode.'),
  20. info high-complexity tests/test_syntax.py:439:31

    compression ratio 0.773 is >2σ above file mean 0.300 (raw pass, confidence 0.50)

            ('me@yy--0.tld', 'An email address cannot have two letters followed by two dashes immediately after the @-sign or after a period, except Punycode.'),
            ('me@[127.0.0.1]', 'A bracketed IP address after the @-sign is not allowed here.'),
  21. info high-complexity tests/test_syntax.py:441:31

    compression ratio 0.766 is >2σ above file mean 0.300 (raw pass, confidence 0.50)

            ('me@[127.0.0.999]', 'The address in brackets after the @-sign is not valid: It is not an IPv4 address (Octet 999 (> 255) not permitted in \'127.0.0.999\') or is missing an address literal tag.'),
            ('me@[IPv6:::1]', 'A bracketed IP address after the @-sign is not allowed here.'),
  22. info unicode-mixed-script tests/test_syntax.py:534:11

    identifier `λambdaツ` mixes scripts: Greek + Latin + Katakana (in string/comment) (raw pass, confidence 0.40)

        [
            ('λambdaツ@test', 'Internationalized characters before the @-sign are not supported: \'λ\', \'ツ\'.'),
            ('"quoted.with..unicode.λ"@example.com', 'Internationalized characters before the @-sign are not supported: \'λ\'.'),
        ],

Reproduce This Scan

Run disclude locally to verify. Add --format sarif for SARIF output. Add --llm (with an API key in the environment) to include the LLM review.

cargo install disclude --version 4.0.0
git clone https://github.com/JoshData/python-email-validator python-email-validator && cd python-email-validator
git checkout v2.3.0
disclude scan --severity info --diff v2.2.0 .