GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - cslab/csspin: (Mirror) csspin aka 'spin' is a task runner used for developing CONTACT Elements applications

BranchesTags
Open more actions menu

Latest commit

 

History

974 Commits
974 Commits

Folders and files

NameName
Last commit message
Last commit date
.gitlab/merge_request_templates
.gitlab/merge_request_templates
 
 
doc
doc
 
 
plugins
plugins
 
 
src/csspin
src/csspin
 
 
tdocs
tdocs
 
 
tests
tests
 
 
.gitignore
.gitignore
 
 
.gitlab-ci.yml
.gitlab-ci.yml
 
 
.pre-commit-config.yaml
.pre-commit-config.yaml
 
 
.readthedocs.yaml
.readthedocs.yaml
 
 
AGENTS.md
AGENTS.md
 
 
CONTRIBUTING.md
CONTRIBUTING.md
 
 
LICENSE
LICENSE
 
 
README.rst
README.rst
 
 
pyproject.toml
pyproject.toml
 
 
sonar-project.properties
sonar-project.properties
 
 
spinfile.yaml
spinfile.yaml
 
 

Repository files navigation

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.11.17
  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.11 through 3.15 (so far).

About

(Mirror) csspin aka 'spin' is a task runner used for developing CONTACT Elements applications

csspin.readthedocs.io/en/stable/

Topics

automationcontact-elementscontact-softwareplmpython

Resources

Readme
Apache-2.0 license

Contributing

Contributing
Activity
Custom properties

Stars

3 stars

Watchers

3 watching

Forks

1 fork
Report repository

Releases

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.