A Flake8 plugin to identify incorrect use of encodings.
Project description
A Flake8 plugin to identify incorrect use of encodings.
Docs |
|
---|---|
Tests |
|
PyPI |
|
Anaconda |
|
Activity |
|
QA |
|
Other |
Installation
flake8-encodings can be installed from PyPI or Anaconda.
To install with pip:
$ python -m pip install flake8-encodings
To install with conda:
First add the required channels
$ conda config --add channels http://conda.anaconda.org/conda-forge $ conda config --add channels http://conda.anaconda.org/domdfcoding
Then install
$ conda install flake8-encodings
Motivation
Developers using macOS or Linux may forget that the default encoding is not always UTF-8.
For example, long_description = open("README.md").read() in setup.py is a common mistake. Many Windows users cannot install the package if there is at least one non-ASCII character (e.g. emoji) in the README.md file which is encoded in UTF-8.
For example, 489 packages of the 4000 most downloaded packages from PyPI used non-ASCII characters in README. And 82 packages of them cannot be installed from source package when the locale encoding is ASCII. [1] They used the default encoding to read README or TOML file.
Even Python experts assume that default encoding is UTF-8. It creates bugs that happen only on Windows. See [2], [3], [4], and [5] for example.
PEP 597 proposed adding a new EncodingWarning to Python, which can be used in conjunction with this tool to identify issues at runtime.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for flake8_encodings-0.2.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 15a30fb5f92cc806ce2a23e59d9acd18733b3ceb46faf73e71822631a3fdeb69 |
|
MD5 | c24be64cf181b969044d095bfc76dec5 |
|
BLAKE2b-256 | 6b61c21e03fbd89f793aa1b5d725b83279818ae8a2ae70dcfea010d2ace4d20d |