Welcome to NI's internal and external Python conventions and enforcement tooling.
Our written conventions can be found at https://ni.github.io/python-styleguide/.
Their source is in docs/Coding-Conventions.md.
NOTE: Using the GitHub Pages link is preferable to a GitHub /blob link.
As a tool, ni-python-styleguide is installed like any other script:
pip install ni-python-styleguideTo lint, just run the lint subcommand (from within the project root, or lower):
ni-python-styleguide lint
# or
ni-python-styleguide lint ./dir/
# or
ni-python-styleguide lint module.pyThe rules enforced are all rules documented in the written convention, which are marked as enforced.
ni-python-styleguide aims to keep the configuration to a bare minimum (none wherever possible).
However there are some situations you might need to configure the tool.
If you're using setup.py, you'll need to set your app's import names for import sorting.
# pyproject.toml
[tool.ni-python-styleguide]
application-import-names = "<app_name>"ni-python-styleguide in the future will have a format command which we intend to fix as many lint issues as possible.
Until then you'll want to set the following to get black formatting as the styleguide expects.
# pyproject.toml
[tool.black]
line-length = 100(This section to come!)