Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python.announce > #3207

[ANN] charset-normalizer 1.3.0 like Chardet, encoding and language detection

Path csiph.com!news.mixmin.net!news.unit0.net!fu-berlin.de!uni-berlin.de!not-for-mail
From Ahmed TAHRI <ahmed.tahri@cloudnursery.dev>
Newsgroups comp.lang.python.announce
Subject [ANN] charset-normalizer 1.3.0 like Chardet, encoding and language detection
Date Fri, 4 Oct 2019 09:50:42 +0200
Lines 82
Approved python-announce-list@python.org
Message-ID <157017654948.7312.python-announce-list@python.org> (permalink)
Reply-To python-list@python.org
Mime-Version 1.0
Content-Type text/plain; charset="UTF-8"
Content-Transfer-Encoding quoted-printable
X-Trace news.uni-berlin.de QZzLBEJS0IMZbwAmthhniQlrGn2n1iD7ss+jgpGVBs/A==
X-Spam-Status OK 0.000
X-Spam-Evidence '*H*': 1.00; '*S*': 0.00; 'everyone,': 0.02; 'pip': 0.03; 'url:github': 0.03; 'default': 0.04; 'encoding': 0.05; 'git': 0.05; 'pypi': 0.05; 'subject:ANN': 0.05; '<>)': 0.07; 'inspired': 0.07; 'parameters': 0.07; 'result.': 0.07; 'subject:language': 0.07; 'url:pypi': 0.07; 'aliases': 0.09; 'exception.': 0.09; 'object.': 0.09; 'url-ip:104.208.221.96/32': 0.09; 'url-ip:104.208.221/24': 0.09; 'url-ip:104.208/16': 0.09; 'url-ip:192.30/16': 0.09; 'url:project': 0.09; 'url:unicode': 0.09; 'python': 0.13; 'values': 0.14; 'behaviour.': 0.16; 'boolean': 0.16; 'charset': 0.16; 'chunk_size': 0.16; 'codecs': 0.16; 'encoding.': 0.16; 'n/a': 0.16; 'parameter': 0.16; 'positional': 0.16; 'rewritten': 0.16; 'url:pull': 0.16; 'url:readthedocs': 0.16; 'library': 0.16; 'url:io': 0.16; 'class.': 0.19; '3.7': 0.20; 'url-ip:185.199.108/24': 0.20; 'url- ip:185.199.109/24': 0.20; 'url-ip:185.199.110/24': 0.20; 'url- ip:185.199.111/24': 0.20; 'url-ip:185.199/16': 0.20; 'import': 0.21; 'subject:] ': 0.21; 'install': 0.22; 'trying': 0.23; 'docs': 0.24; 'first.': 0.24; 'motivated': 0.24; 'url- ip:151.101.0.223/32': 0.25; 'url-ip:151.101.128.223/32': 0.25; 'url-ip:151.101.192.223/32': 0.25; 'url-ip:151.101.64.223/32': 0.25; 'issue': 0.27; 'language': 0.27; 'properties': 0.28; 'url- ip:151.101.192/24': 0.28; 'print': 0.29; 'url-ip:151.101.0/24': 0.29; 'url-ip:151.101.128/24': 0.29; 'url-ip:151.101.64/24': 0.29; 'all.': 0.29; 'to:addr:python-announce-list': 0.29; "i'm": 0.31; 'message-id:@mail.gmail.com': 0.32; 'url-ip:151.101/16': 0.32; 'url-ip:151/8': 0.32; 'enough': 0.33; 'subject:[': 0.34; 'testing': 0.34; 'received:google.com': 0.35; 'sequence': 0.36; 'list': 0.37; 'returning': 0.37; 'spoken': 0.37; 'url:latest': 0.37; 'using': 0.38; 'could': 0.38; 'url:icons': 0.38; 'output': 0.39; 'it,': 0.39; 'subject:-': 0.40; 'unknown': 0.40; 'chinese': 0.61; 'content.': 0.61; 'true.': 0.61; 'possibility': 0.61; 'provide': 0.62; 'free': 0.62; '&amp;': 0.62; 'benefit': 0.63; 'steps': 0.63; 'produce': 0.64; 'url:png': 0.64; 'url:images': 0.66; 'improvement': 0.66; 'legacy': 0.66; 'url:14': 0.66; 'limit': 0.66; 'exact': 0.67; 'subject:, ': 0.71; 'fast': 0.72; 'search': 0.72; 'approach.': 0.74; 'reliable': 0.77; 'detection': 0.79; 'upgrade': 0.80; 'fitted': 0.84; 'readability.': 0.84; '*for': 0.93
DKIM-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=cloudnursery.dev; s=google; h=mime-version:from:date:message-id:subject:to; bh=5m4pfI4SoijBmXNTR6hfdM8p1ZwcFjrSDA2xNlF9CIg=; b=Atd/Fr0EjHm020+dg0zT2bxnWmEMs9W8NlTrrRfMobPTOIGttJGD8VKwiCEWycvkKH OrsZVOlsglbL6Kp2pPVxUpwvsO0cnxtaL0EKwy68J5Si9yZCPz2C43ASNUyfKNLHbHG1 emDRLf+qB9mWbj+aagg9LUxIvHfuK29VMWjcnNphjYNkjEWhiKqlyex+8ZHN3MfBThR1 xXpMoMoByTy2p6GzRCqNnUuWTgtXtP2GfYeEYNDLVpdzquEVpEjmsmeGN+vfvYNxSmp9 dWAH2/skY2TVpCEOdfwlZSSFpoqeyf0YtO+2d3b8E0oaBuUse7GkR+NDM6VzWQ8lDbYQ 2fZg==
X-Google-DKIM-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=5m4pfI4SoijBmXNTR6hfdM8p1ZwcFjrSDA2xNlF9CIg=; b=SRbLYLdlD9kQft/3nCWjUMJdW4BEOYwI6hAcTDD6/yga0EurlttNE8RdHcuji4C8B3 eRoYCKmrxbdeH4h/aHa5o1+31tIjdbjES2QBiIX9TFPksfXcWjPzPMp2y51/fb3HWtpN cNAG9T8w5SDp2Zsf6pEBErerT8T5xvGRWdT9NvPvV/itHV9llq5w8ayATUulB3vSgnxo uF3mBhqcia4j67nxkjjiSFl03ChJ0C6eJDF0DBjqT7X/Abg9tHbRe+Qcc6BGkh1D/bXJ XlJbZM3LVKSkvdbEjqL7ExNwXMGXpTubjeLkRnmagp0NnGy0Is+wTGtDksWYS+45EvmF SVQw==
X-Gm-Message-State APjAAAXj/NxI3JNZH3Xls+E1zrfg36lMx87ZvlyvricFZDRF553j1e6W XCxtfouJw1MhOWmzJb+R4o6rJvAHm14R9cyNpqgu9tPul2M=
X-Google-Smtp-Source APXvYqwFJJlLV/+2s2Pz2m8x1Zt/hLvyPctrowAvbs9xV0D9kmJOKsSmEMkj/INejUxOkfaYcWnl0LIQyN1IhAdkT9w=
X-Received by 2002:a9d:6b19:: with SMTP id g25mr6554435otp.64.1570175453432; Fri, 04 Oct 2019 00:50:53 -0700 (PDT)
X-MailFrom ahmed.tahri@cloudnursery.dev
X-Mailman-Rule-Hits emergency
X-Mailman-Rule-Misses dmarc-mitigation; no-senders; approved
Message-ID-Hash FH2DKFZB6IAVQDY4NQLNYUMIVUW5JYU5
X-Message-ID-Hash FH2DKFZB6IAVQDY4NQLNYUMIVUW5JYU5
X-Mailman-Approved-At Fri, 04 Oct 2019 04:09:03 -0400
X-Content-Filtered-By Mailman/MimeDel 3.3.1
X-Mailman-Version 3.3.1
Precedence list
List-Id Announcement-only list for the Python programming language <python-announce-list.python.org>
Archived-At <https://mail.python.org/archives/list/python-announce-list@python.org/message/FH2DKFZB6IAVQDY4NQLNYUMIVUW5JYU5/>
List-Archive <https://mail.python.org/archives/list/python-announce-list@python.org/>
List-Help <mailto:python-announce-list-request@python.org?subject=help>
List-Post <mailto:python-announce-list@python.org>
List-Subscribe <mailto:python-announce-list-join@python.org>
List-Unsubscribe <mailto:python-announce-list-leave@python.org>
Xref csiph.com comp.lang.python.announce:3207

Show key headers only | View raw


Hi everyone,

git : https://github.com/Ousret/charset_normalizer
pypi : https://pypi.org/project/charset-normalizer/
docs : https://charset-normalizer.readthedocs.io/en/latest/

*For remainder :*

Library that help you read text from unknown charset encoding.
Project motivated by chardet, I'm trying to resolve the issue by taking
another approach.
All IANA character set names for which the Python core library provides
codecs are supported.

*Changes :*


   -

   *Improvement :* Adjustement in frequencies.json about Chinese

   -

   *Feature :* Added the possibility to list encoding aliases for a match

   -

   *Feature :* Support submatch in match (list of submatch that
produce the EXACT same output as a match)

   - *Bugfix :* Sequence having lenght bellow 10 chars was not checked by
   ProbeChaos at all. (#14
   <https://github.com/Ousret/charset_normalizer/pull/14>)
   - *Bugfix :* Legacy detect method inspired by chardet was not returning
   intended result when having no result. (#14
   <https://github.com/Ousret/charset_normalizer/pull/14>)
   - *Bugfix :* from_bytes parameters *steps* and *chunk_size* were not
   adapted to sequence len if provided values were not fitted to content.
   Therefore could lead to misdetection on small content.
   - *Feature :* import charset_normalizer is enough to provide additional
   help when you encounter UnicodeDecodeError exception.
   - *Feature :* You can limit the search to some encoding when looking for
   a match with parameter cp_isolation. List of str. for from_bytes
   from_path and from_fp.
   - *Feature :* You can exclude some encoding when searching for a match
   with parameter cp_exclusion. List of str. for from_bytes from_path and
   from_fp.
   - *Improvement :* Detection has been globally improved.
   - *Feature :* Added explain boolean positional parameter to print out
   what actually happen when searching for a match.
   - *Improvement :* best() method of CharsetNormalizerMatches has been
   rewritten for better readability.
   - *Feature :* Added has_submatch, percent_chaos and percent_coherence
   properties on single match object.
   - *Improvement :* Added aliases to CharsetNormalizerMatches class.
   CharsetDetector; EncodingDetector and CharsetDoctor.
   - *Feature :* Added preemptive behaviour. Looking for a declared
   encoding. Using positional parameter preemptive_behaviour. Default to
   True. Does not take declared encoding for it, testing it first.
   - *Feature :* Now support unicodedata2 backport. To benefit from it
   install using pip install charset-normalizer[UnicodeDataBackport].
   Python 3.7 have UnicodeData v11. You could upgrade it to v12.


Feature Chardet <https://github.com/chardet/chardet> Charset Normalizer
cChardet <https://github.com/PyYoshi/cChardet>
Fast [image: x]
[image: white_check_mark]
[image: white_check_mark]
⚡
Universal** [image: x] [image: white_check_mark] [image: x]
Reliable *without* distinguishable standards [image: x] [image:
white_check_mark] [image: white_check_mark]
Reliable *with* distinguishable standards [image: white_check_mark] [image:
white_check_mark] [image: white_check_mark]
Free & Open [image: white_check_mark] [image: white_check_mark] [image:
white_check_mark]
Native Python [image: white_check_mark] [image: white_check_mark] [image: x]
Detect spoken language [image: x] [image: white_check_mark] N/A
Supported Encoding 30 [image: tada] 90
<https://charset-normalizer.readthedocs.io/en/latest/support.html> 40

Back to comp.lang.python.announce | Previous | Next | Find similar | Unroll thread


Thread

[ANN] charset-normalizer 1.3.0 like Chardet, encoding and language detection Ahmed TAHRI <ahmed.tahri@cloudnursery.dev> - 2019-10-04 09:50 +0200

csiph-web