Description
Spline is a tool where you can define stages and tasks for a pipeline via a yaml definition file. The tool help you to use Bash and Docker more easily and also also allow you to reduce pipeline code. The matrix capability also allow you to test different version of an interpreter, compiler or database. In addition you can use Jinja2 templating for your scripts. The documentation provides all details.
One motivation for the tool is to be more independent from environments like Jenkins or Travis CI but still allowing to run your spline based pipeline in both environments.
Spline currently supports Python 2.7.x, 3.3x, 3.4.x, 3.5.x and 3.6.x. The tool is checked via Travis CI and some integrations as mandatory checks on each pull request.
spline alternatives and similar packages
Based on the "Command-line Tools" category.
Alternatively, view spline alternatives based on common mentions on social networks and blogs.
-
httpie
๐ฅง HTTPie CLI โ modern, user-friendly command-line HTTP client for the API era. JSON support, colors, sessions, downloads, plugins & more. -
Python Fire
Python Fire is a library for automatically generating command line interfaces (CLIs) from absolutely any Python object. -
cookiecutter
A cross-platform command-line utility that creates projects from cookiecutters (project templates), e.g. Python package projects, C projects. -
HTTP Prompt
An interactive command-line HTTP and API testing client built on top of HTTPie featuring autocomplete, syntax highlighting, and more. https://twitter.com/httpie -
PathPicker
PathPicker accepts a wide range of input -- output from git commands, grep results, searches -- pretty much anything. After parsing the input, PathPicker presents you with a nice UI to select which files you're interested in. After that you can open them in your favorite editor or execute arbitrary commands. -
asciimatics
A cross platform package to do curses-like operations, plus higher level APIs and widgets to create text UIs and ASCII art animations -
shiv
shiv is a command line utility for building fully self contained Python zipapps as outlined in PEP 441, but with all their dependencies included. -
python3-nmap
A python 3 library which helps in using nmap port scanner. This is done by converting each nmap command into a callable python3 method or function. System administrators can now automatic nmap scans using python -
Pinboard.py
A full-featured Python wrapper (and command-line utility) for the Pinboard API. Built by the makers of Pushpin for Pinboard. -
R3CON1Z3R
R3con1z3r is a lightweight Web information gathering tool with an intuitive features written in python. it provides a powerful environment in which open source intelligence (OSINT) web-based footprinting can be conducted quickly and thoroughly. -
SubGrab
SubGrab is a utility that allows you to automate subtitles downloading for your media files.
CodeRabbit: AI Code Reviews for Developers

* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of spline or a related project?
README
Welcome to spline - the pipeline tool
Table Of Content:
[Motivation](docs/motivation.rst)
[Quickstart](docs/quickstart.rst)
[Example](docs/example.rst)
[Matrix](docs/matrix.rst)
[The Model](docs/model.rst)
[The Pipeline](docs/pipeline.rst)
[Pipeline Stages](docs/stages.rst)
[Tasks](docs/tasks.rst)
[The Shell](docs/shell.rst)
[Environment Variables](docs/env.rst)
[Docker Container](docs/docker_container.rst)
[Hooks](docs/hooks.rst)
[Include](docs/include.rst)
[Event Logging](docs/event_logging.rst)
[Tool: spline-loc](docs/spline_loc.rst)
How to contact?
Links
Features:
- Python support for 2.7.x, 3.4.x, 3.5.x, 3.6.x, PyPy and PyPy3
- automatic schema validation for yaml file
- matrix based pipeline with tags
- ordered and parallel pipelines (matrix)
- ordered and parallel tasks execution
- pipeline stages (named groups)
- shell script execution: inline and file
- environment variables merged across each level: matrix, pipeline, stage, and tasks
- support for model data (a dictionary of anything you need)
- cleanup hook
- filtered execution via tags
- supporting Jinja templating in Bash scripts (also nested inside model)
- support for Docker containers and Docker images
- support for the Packer tool
- execution time on each level: pipeline, stage, tasks and shell (event logging)
- documentation here and also at read the docs
- usable by Jenkinsfile as well as by a
.travis.yml
(or other pipelines). - dry run and debug support
- support for Python scripts
- support for task variables
- support for conditional tasks
- enabled for code reuse: !include statement
How to contact?
- https://groups.google.com/forum/#!forum/spline-the-pipeline-tool
- https://github.com/Nachtfeuer/pipeline/issues
Interesting Links
- https://github.com/keleshev/schema
- https://github.com/bats-core/bats-core
- https://pypi.python.org/pypi/PyHamcrest
- https://pypi.python.org/pypi/bandit
- https://www.contributor-covenant.org/
- http://ddt.readthedocs.io/en/latest/index.html
- http://sphinxcontrib-napoleon.readthedocs.io/en/latest/example_google.html
- https://pymotw.com/2/multiprocessing/communication.html
- https://regex101.com/
- https://www.packer.io/intro/index.html
*Note that all licence references and agreements mentioned in the spline README section above
are relevant to that project's source code only.