# Contributions The **`nmk-python`** plugin contributes to **`nmk`** features as described below. ## Plugin information As other plugins, **`nmk-python`** registers its version and documentation link in [plugin information config items](https://nmk-base.readthedocs.io/en/stable/extend.html#plugin-information). ## Venv The **`nmk-plugin`** plugin automatically requires the following python packages to be installed in the [project venv](https://nmk-base.readthedocs.io/en/stable/extend.html#python-modules-dependencies): * [setuptools](https://pypi.org/project/setuptools/) * [wheel](https://pypi.org/project/wheel/) * [build](https://pypi.org/project/build/) * [ruff](https://pypi.org/project/ruff/) * [pytest-xdist](https://pypi.org/project/pytest-xdist/) * [pytest-cov](https://pypi.org/project/pytest-cov/) * [pytest-multilog](https://pypi.org/project/pytest-multilog/) ## Badges Following badges are declared (to be generated by [**`nmk-badges`**](https://nmk-badges.readthedocs.io/en/stable/extend.html#badges-definition) plugin in **README.md** file) by **`nmk-python`** plugin: * one to mention supported python versions range * one to provide a link to [https://pypi.org](https://pypi.org) available package * one to mention [ruff](https://astral.sh/ruff) tool usage * one to highlight the coverage rate on [https://about.codecov.io/](https://about.codecov.io/) > **Note:** enabled only if [**`nmk-badges`** plugin](https://nmk-badges.readthedocs.io/) is used in the nmk project ## VSCode extensions **`nmk-python`** plugin [recommends](https://nmk-vscode.readthedocs.io/en/stable/extend.html#extensions) usage of the following VSCode extensions: * [Python](https://marketplace.visualstudio.com/items?itemName=ms-python.python) for generic python support * [Ruff](https://marketplace.visualstudio.com/items?itemName=charliermarsh.ruff) for live code analysis/format with ruff * [Even Better TOML](https://marketplace.visualstudio.com/items?itemName=tamasfe.even-better-toml) for toml support > **Note:** enabled only if [**`nmk-vscode`** plugin](https://nmk-vscode.readthedocs.io/) is used in the nmk project ## VSCode settings **`nmk-python`** plugin [contributes](https://nmk-vscode.readthedocs.io/en/stable/extend.html#settings) settings for Python features support related to **`nmk`** configuration. ## VSCode launch configurations **`nmk-python`** plugin [contributes](https://nmk-vscode.readthedocs.io/en/stable/extend.html#launch-configurations) launch configuration to be able to debug python tests out of the box. ## Github actions **`nmk-python`** plugin [contributes](https://nmk-github.readthedocs.io/en/stable/extend.html#actions) to github actions for: * upload built python wheel (only on tag build) to [pypi.org](https://pypi.org) * coverage report upload to [codecov.io](https://codecov.io)