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, installing dependencies, and managing the virtual environment.
- csspin_python.python_sbom: A plugin for generating a CycloneDX Software Bill of Materials (SBOM) for Python third-party 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.10.19 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.