Spin is a task runner that aims to solve the problems of provisioning development environments and standardizing workflows.
Project description
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).
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file csspin-3.0.0-py3-none-any.whl.
File metadata
- Download URL: csspin-3.0.0-py3-none-any.whl
- Upload date:
- Size: 44.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6f6406b13f870739b6dffc731fb7fae2eefb962d5b53b8baa3de0ccc4cefd048
|
|
| MD5 |
e46a4cac57a05df6b80f7b8946be6e7e
|
|
| BLAKE2b-256 |
532121acf59b3dcd552a21e8710b0c6ece4a47cc2e1039cc52c7cdd35aecd7f2
|