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. -
Gooey
Turn (almost) any Python command line program into a full GUI application with one line -
mycli
A Terminal Client for MySQL with AutoCompletion and Syntax Highlighting. -
python-prompt-toolkit
Library for building powerful interactive command line applications in Python -
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 -
docopt
This project is no longer maintained. Please see https://github.com/jazzband/docopt-ng -
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 -
percol
adds flavor of interactive filtering to the traditional pipe concept of UNIX shell -
kube-shell
Kubernetes shell: An integrated shell for working with the Kubernetes -
iredis
Interactive Redis: A Terminal Client for Redis with AutoCompletion and Syntax Highlighting. -
litecli
CLI for SQLite Databases with auto-completion and syntax highlighting -
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. -
yaspin
A lightweight terminal spinner for Python with safe pipes and redirects ๐ -
try
Dead simple CLI tool to try Python packages - It's never been easier! :package: -
Argh
An argparse wrapper that doesn't make you say "argh" each time you deal with it. -
Pinboard.py
A full-featured Python wrapper (and command-line utility) for the Pinboard API. Built by the makers of Pushpin for Pinboard. -
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 -
cliff
Command Line Interface Formulation Framework. Mirror of code maintained at opendev.org. -
App Store Connect Api
Python wrapper around Apple App Store Api -
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. -
Focus Phase
A simple yet powerful timer and time tracker from the command line. https://ammar1y.github.io/Focus-Phase/
WorkOS - The modern identity platform for B2B SaaS
* 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.