Skip to main content

Latest Package Version Supported Python Versions License

csspin is maintained and published by CONTACT Software GmbH.

csspin is the Python package that ships the task runner and CLI spin that aims so solve the problems of provisioning development environments and standardizing workflows. spin also automates the provisioning of tools and other development requirements (including language stacks like Python, Javascript/Node). As an example, for a project that uses Python and Javascript, spin would:

  • provision the requested version of Python

  • provision the requested version of Node

  • create a virtual development environment, in which the required versions of Python and Node can be used

  • install tools and dependencies for development, testing, etc.

All with a single command: spin provision!

Second, spin allows standardizing workflows, best practices and how development tools are used, especially in a development group with many similar projects that share practices and tools. It’s plugin-based architecture allows to define workflows executing multiple task in sequence using a single command.

By default, spin will automatically generate the right options and arguments for the tools it runs, and show the user the precise commands. As a result, anyone will be able to check out any project, run spin provision and will be all set - Running a project’s test suite becomes as simple as doing spin test etc.

A comprehensive documentation will be published soon.

Getting Started

csspin is available on PyPI and can be installed using pip, pipx or any other Python package manager, e.g.:

python -m pip install csspin

Using spin

As every other command line tool, spin can be run from the command line. The command is simply called spin. To see the available commands, run:

spin --help

Leveraging spin’s capabilities requires a project to be set up with a spinfile.yaml. This file is a YAML file that defines the project, its tools, and the workflows that spin can leverage. The spinfile.yaml is the configuration file for spin and is typically located in the root directory of the project.

A basic spinfile.yaml might look like this:

# spinfile.yaml
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]

CPython Support Policies

Our CPython support policy for spin aligns with the official CPython release schedule, encompassing versions 3.10 through 3.14 (so far).

Metadata

Release files for csspin 3.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for csspin 3.1.1
File Interpreter ABI Platform
csspin-3.1.1-py3-none-any.whl Python 3 none any Details

Release files / csspin-3.1.1-py3-none-any.whl

Download URL csspin-3.1.1-py3-none-any.whl
Size 46.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0aacd1e38da9621cd45f1b40f9dd577c68a719bd4161f599fa7f0be650cab9da
BLAKE2b-256 checksum
How to use checksums
024d4cd62107c21a723cf9da28729ea964101ec69ab6f59ddb43fcf8cadfe2b5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.11

Release history Release notifications | RSS feed

This release

3.1.1 This release

1 release file

3.1.0

1 release file

3.0.0

1 release file

2.0.2

1 release file

2.0.1

1 release file

2.0.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page