Awesome
flake8-import-conventions
<p align="center"> <img alt="" src="https://raw.githubusercontent.com/joaopalmeiro/flake8-import-conventions/main/assets/logo_round.png" width="100" height="100" /> </p>An opinionated plugin for Flake8 on how certain packages should be imported or aliased.
It is based on the pandas-vet
and flake8-2020
plugins.
Installation
Via Pipenv:
pipenv install --dev flake8 flake8-import-conventions
Flake8 codes
Package | Code | Description |
---|---|---|
Altair | IC001 | altair should be imported as import altair as alt |
GeoPandas | IC002 | geopandas should be imported as import geopandas |
Matplotlib | IC003 | matplotlib.pyplot should be imported as import matplotlib.pyplot as plt |
NetworkX | IC004 | networkx should be imported as import networkx as nx |
NumPy | IC005 | numpy should be imported as import numpy as np |
pandas | IC006 | pandas should be imported as import pandas as pd |
Plotly | IC007 | plotly.express should be imported as import plotly.express as px |
Plotly | IC008 | plotly.graph_objects should be imported as import plotly.graph_objects as go |
seaborn | IC009 | seaborn should be imported as import seaborn as sns |
statsmodels | IC010 | statsmodels.api should be imported as import statsmodels.api as sm |
Development
poetry install --with dev
poetry shell
Open the manual_test.py
file in VS Code to see the error messages.
pytest tests/ -v
or (to see print()
s)
pytest tests/ -v -s
Copy the output of the following script and paste it in the Flake8 codes section:
python gen_table.py
If changes are not reflected in VS Code after changing something in the package, close it and open it again.
Deployment
poetry check
poetry version minor
or
poetry version patch
Commit the change in the pyproject.toml
file.
git tag
git tag "v$(poetry version --short)"
git push origin "v$(poetry version --short)"
References
- Anthony Sottile's "a flake8 plugin from scratch (intermediate) anthony explains #025" tutorial.
- flake8-pie.
- wemake-python-styleguide.