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.3.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 152cdab1c5d35efc9efe362e48285bb3a2a2e49c9de6e14040a1afd79369a06d |
|
MD5 | be56eb5686eff714b371485af85b9b1c |
|
BLAKE2b-256 | e5ed8206b1bd484cf308caf888ee00d0de4ff4c012da01b2c02a86d71659a22d |