csspin-python is maintained and published by CONTACT Software GmbH and serves Python-based plugins for the csspin task runner.
The following plugins are available:
- csspin_python.behave: A plugin for running tests using Behave.
- csspin_python.debugpy: A plugin for debugging Python code using debugpy.
- csspin_python.devpi: A plugin for simplified usage of devpi.
- csspin_python.pytest: A plugin for running tests using pytest.
- csspin_python.python: A plugin for provisioning Python environments and installing dependencies.
- csspin_python.radon: A plugin for running radon to analyze code complexity.
- csspin_python.sphinx: A plugin for building Sphinx documentation.
- csspin_python.playwright: A plugin for running tests using playwright. This plugin is deprecated, use the pytest plugin with the 'pytest.playwright.enabled=true' setting instead.
- csspin_python.uv_provisioner: A plugin that uses uv to provision the Python environment.
The package provides an aws_auth extra, that, if enabled, can authenticate
to CONTACT Software GmbH's AWS Codeartifact. It also provides an uv
extra, that is necessary for using the csspin_python.uv_provisioner plugin.
csspin is available on PyPI and can be installed using pip, pipx or any other Python package manager, e.g.:
python -m pip install csspinThe csspin-python package and its plugins can be installed by defining those within the spinfile.yaml configuration file of your project.
spin:
project_name: my_project
# To develop plugins comfortably, install the packages editable as
# follows and add the relevant plugins to the list 'plugins' below
plugin_packages:
- csspin-python
# The list of plugins to be used for this project.
plugins:
- csspin_python.pytest
python:
version: 3.9.8
requirements:
- sphinx-click
- sphinx-rtd-theme
- pytest-mock
pytest:
opts: [-m, "not slow"]
tests: [tests]If the spinfile.yaml is configured correctly, you can provision the project
using spin provision, that will automatically create a Python virtual
environment and install the required dependencies. After that, you can run
tests using spin pytest and do other great things.