PyPI / charset-normalizer / 3.5.2

charset-normalizer 3.5.2

Source
https://github.com/jawah/charset_normalizer
Artifact scanned
charset_normalizer-3.5.2-py3-none-any.whl (wheel · 67.3 KB · SHA-256 b6b751274acb…)
Compared with
charset_normalizer-3.5.1-py3-none-any.whl (0 signals introduced since)
Files
14 scanned, 5 skipped (binary, oversized, or unrecognised)
Signals
0 critical · 0 warn · 49 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.3.0
Scanned (UTC)
2026-10-22 23:18

Signals

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

  1. info unicode-homoglyph charset_normalizer/__init__.py:11:30

    identifier `Bсеки` contains homoglyph candidates: с (0441)→c, е (0435)→e (in string/comment) (raw pass, confidence 0.35)

       >>> from charset_normalizer import from_bytes
       >>> results = from_bytes('Bсеки човек има право на образование. Oбразованието!'.encode('utf_8'))
       >>> best_guess = results.best()
       >>> str(best_guess)
  2. info unicode-mixed-script charset_normalizer/__init__.py:11:30

    identifier `Bсеки` mixes scripts: Latin + Cyrillic (in string/comment) (raw pass, confidence 0.40)

       >>> from charset_normalizer import from_bytes
       >>> results = from_bytes('Bсеки човек има право на образование. Oбразованието!'.encode('utf_8'))
       >>> best_guess = results.best()
       >>> str(best_guess)
  3. info unicode-homoglyph charset_normalizer/__init__.py:11:98

    identifier `Oбразованието` contains homoglyph candidates: р (0440)→p, а (0430)→a, о (043E)→o, а (0430)→a (in string/comment) (raw pass, confidence 0.35)

       >>> from charset_normalizer import from_bytes
       >>> results = from_bytes('Bсеки човек има право на образование. Oбразованието!'.encode('utf_8'))
       >>> best_guess = results.best()
       >>> str(best_guess)
  4. info unicode-mixed-script charset_normalizer/__init__.py:11:98

    identifier `Oбразованието` mixes scripts: Latin + Cyrillic (in string/comment) (raw pass, confidence 0.40)

       >>> from charset_normalizer import from_bytes
       >>> results = from_bytes('Bсеки човек има право на образование. Oбразованието!'.encode('utf_8'))
       >>> best_guess = results.best()
       >>> str(best_guess)
  5. info unicode-homoglyph charset_normalizer/__init__.py:14:5

    identifier `Bсеки` contains homoglyph candidates: с (0441)→c, е (0435)→e (in string/comment) (raw pass, confidence 0.35)

       >>> str(best_guess)
       'Bсеки човек има право на образование. Oбразованието!'
    
    Others methods and usages are available - see the full documentation
  6. info unicode-mixed-script charset_normalizer/__init__.py:14:5

    identifier `Bсеки` mixes scripts: Latin + Cyrillic (in string/comment) (raw pass, confidence 0.40)

       >>> str(best_guess)
       'Bсеки човек има право на образование. Oбразованието!'
    
    Others methods and usages are available - see the full documentation
  7. info unicode-homoglyph charset_normalizer/__init__.py:14:73

    identifier `Oбразованието` contains homoglyph candidates: р (0440)→p, а (0430)→a, о (043E)→o, а (0430)→a (in string/comment) (raw pass, confidence 0.35)

       >>> str(best_guess)
       'Bсеки човек има право на образование. Oбразованието!'
    
    Others methods and usages are available - see the full documentation
  8. info unicode-mixed-script charset_normalizer/__init__.py:14:73

    identifier `Oбразованието` mixes scripts: Latin + Cyrillic (in string/comment) (raw pass, confidence 0.40)

       >>> str(best_guess)
       'Bсеки човек има право на образование. Oбразованието!'
    
    Others methods and usages are available - see the full documentation
  9. identifier `о` contains homoglyph candidates: о (043E)→o (in string/comment) (raw pass, confidence 0.35)

        "Russian": [
            "о",
            "е",
            "а",
  10. identifier `е` contains homoglyph candidates: е (0435)→e (in string/comment) (raw pass, confidence 0.35)

            "о",
            "е",
            "а",
            "и",
  11. identifier `а` contains homoglyph candidates: а (0430)→a (in string/comment) (raw pass, confidence 0.35)

            "е",
            "а",
            "и",
            "н",
  12. identifier `с` contains homoglyph candidates: с (0441)→c (in string/comment) (raw pass, confidence 0.35)

            "т",
            "с",
            "р",
            "в",
  13. identifier `р` contains homoglyph candidates: р (0440)→p (in string/comment) (raw pass, confidence 0.35)

            "с",
            "р",
            "в",
            "л",
  14. identifier `у` contains homoglyph candidates: у (0443)→y (in string/comment) (raw pass, confidence 0.35)

            "п",
            "у",
            "г",
            "я",
  15. identifier `х` contains homoglyph candidates: х (0445)→x (in string/comment) (raw pass, confidence 0.35)

            "ч",
            "х",
            "ж",
            "ц",
  16. identifier `о` contains homoglyph candidates: о (043E)→o (in string/comment) (raw pass, confidence 0.35)

        "Ukrainian": [
            "о",
            "а",
            "н",
  17. identifier `а` contains homoglyph candidates: а (0430)→a (in string/comment) (raw pass, confidence 0.35)

            "о",
            "а",
            "н",
            "і",
  18. identifier `і` contains homoglyph candidates: і (0456)→i (in string/comment) (raw pass, confidence 0.35)

            "н",
            "і",
            "и",
            "р",
  19. identifier `р` contains homoglyph candidates: р (0440)→p (in string/comment) (raw pass, confidence 0.35)

            "и",
            "р",
            "в",
            "т",
  20. identifier `е` contains homoglyph candidates: е (0435)→e (in string/comment) (raw pass, confidence 0.35)

            "т",
            "е",
            "с",
            "к",
  21. identifier `с` contains homoglyph candidates: с (0441)→c (in string/comment) (raw pass, confidence 0.35)

            "е",
            "с",
            "к",
            "л",
  22. identifier `у` contains homoglyph candidates: у (0443)→y (in string/comment) (raw pass, confidence 0.35)

            "л",
            "у",
            "д",
            "м",
  23. identifier `х` contains homoglyph candidates: х (0445)→x (in string/comment) (raw pass, confidence 0.35)

            "ч",
            "х",
            "ц",
            "ї",
  24. identifier `а` contains homoglyph candidates: а (0430)→a (in string/comment) (raw pass, confidence 0.35)

        "Serbian": [
            "а",
            "и",
            "о",
  25. identifier `о` contains homoglyph candidates: о (043E)→o (in string/comment) (raw pass, confidence 0.35)

            "и",
            "о",
            "е",
            "н",
  26. identifier `е` contains homoglyph candidates: е (0435)→e (in string/comment) (raw pass, confidence 0.35)

            "о",
            "е",
            "н",
            "р",
  27. identifier `р` contains homoglyph candidates: р (0440)→p (in string/comment) (raw pass, confidence 0.35)

            "н",
            "р",
            "с",
            "у",
  28. identifier `с` contains homoglyph candidates: с (0441)→c (in string/comment) (raw pass, confidence 0.35)

            "р",
            "с",
            "у",
            "т",
  29. identifier `у` contains homoglyph candidates: у (0443)→y (in string/comment) (raw pass, confidence 0.35)

            "с",
            "у",
            "т",
            "к",
  30. identifier `а` contains homoglyph candidates: а (0430)→a (in string/comment) (raw pass, confidence 0.35)

        "Bulgarian": [
            "а",
            "и",
            "о",
  31. identifier `о` contains homoglyph candidates: о (043E)→o (in string/comment) (raw pass, confidence 0.35)

            "и",
            "о",
            "е",
            "н",
  32. identifier `е` contains homoglyph candidates: е (0435)→e (in string/comment) (raw pass, confidence 0.35)

            "о",
            "е",
            "н",
            "т",
  33. identifier `р` contains homoglyph candidates: р (0440)→p (in string/comment) (raw pass, confidence 0.35)

            "т",
            "р",
            "с",
            "в",
  34. identifier `с` contains homoglyph candidates: с (0441)→c (in string/comment) (raw pass, confidence 0.35)

            "р",
            "с",
            "в",
            "л",
  35. identifier `у` contains homoglyph candidates: у (0443)→y (in string/comment) (raw pass, confidence 0.35)

            "ъ",
            "у",
            "б",
            "ч",
  36. identifier `х` contains homoglyph candidates: х (0445)→x (in string/comment) (raw pass, confidence 0.35)

            "щ",
            "х",
        ],
        "Croatian": [
  37. identifier `α` contains homoglyph candidates: α (03B1)→a (in string/comment) (raw pass, confidence 0.35)

        "Greek": [
            "α",
            "τ",
            "ο",
  38. identifier `ο` contains homoglyph candidates: ο (03BF)→o (in string/comment) (raw pass, confidence 0.35)

            "τ",
            "ο",
            "ι",
            "ε",
  39. identifier `ν` contains homoglyph candidates: ν (03BD)→v (in string/comment) (raw pass, confidence 0.35)

            "ε",
            "ν",
            "ρ",
            "σ",
  40. identifier `ρ` contains homoglyph candidates: ρ (03C1)→p (in string/comment) (raw pass, confidence 0.35)

            "ν",
            "ρ",
            "σ",
            "κ",
  41. identifier `κ` contains homoglyph candidates: κ (03BA)→k (in string/comment) (raw pass, confidence 0.35)

            "σ",
            "κ",
            "η",
            "π",
  42. identifier `η` contains homoglyph candidates: η (03B7)→n (in string/comment) (raw pass, confidence 0.35)

            "κ",
            "η",
            "π",
            "ς",
  43. identifier `а` contains homoglyph candidates: а (0430)→a (in string/comment) (raw pass, confidence 0.35)

        "Kazakh": [
            "а",
            "ы",
            "е",
  44. identifier `е` contains homoglyph candidates: е (0435)→e (in string/comment) (raw pass, confidence 0.35)

            "ы",
            "е",
            "н",
            "т",
  45. identifier `р` contains homoglyph candidates: р (0440)→p (in string/comment) (raw pass, confidence 0.35)

            "т",
            "р",
            "л",
            "і",
  46. identifier `і` contains homoglyph candidates: і (0456)→i (in string/comment) (raw pass, confidence 0.35)

            "л",
            "і",
            "д",
            "с",
  47. identifier `с` contains homoglyph candidates: с (0441)→c (in string/comment) (raw pass, confidence 0.35)

            "д",
            "с",
            "м",
            "қ",
  48. identifier `о` contains homoglyph candidates: о (043E)→o (in string/comment) (raw pass, confidence 0.35)

            "к",
            "о",
            "б",
            "и",
  49. identifier `у` contains homoglyph candidates: у (0443)→y (in string/comment) (raw pass, confidence 0.35)

            "и",
            "у",
            "ғ",
            "ж",

Reproduce This Scan

Run disclude locally to verify. These commands scan the published file; the "new in this release" marks come from comparing it with the previous release's file, which they don't repeat. 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.3.0
curl -fsSL -o charset_normalizer-3.5.2-py3-none-any.whl https://files.pythonhosted.org/packages/fc/ad/d07d7862a62ffa6d79d68074d14823243dd235a77c45262acbf6adeb28bf/charset_normalizer-3.5.2-py3-none-any.whl
printf '%s  %s\n' b6b751274acb69d77b3323d6b7dbaa3c7fdfc1eb829b7eb61d262f32e1af9685 charset_normalizer-3.5.2-py3-none-any.whl | shasum -a 256 -c -
unzip -q charset_normalizer-3.5.2-py3-none-any.whl -d pkg
disclude scan --untrusted --severity info pkg