spline

Spline is a tool that is capable of running locally as well as part of well known pipelines like Jenkins (Jenkinsfile), Travis CI (.travis.yml) or similar ones.

https://github.com/nachtfeuer/pipeline

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.7%) to scientific vocabulary

Keywords

bash docker matrix pipeline processing python workflow yaml
Last synced: 6 months ago · JSON representation

Repository

Spline is a tool that is capable of running locally as well as part of well known pipelines like Jenkins (Jenkinsfile), Travis CI (.travis.yml) or similar ones.

Basic Info
  • Host: GitHub
  • Owner: Nachtfeuer
  • License: mit
  • Language: Python
  • Default Branch: master
  • Homepage:
  • Size: 563 KB
Statistics
  • Stars: 30
  • Watchers: 4
  • Forks: 6
  • Open Issues: 33
  • Releases: 11
Topics
bash docker matrix pipeline processing python workflow yaml
Created over 8 years ago · Last pushed 8 months ago
Metadata Files
Readme Contributing License Code of conduct

README.md

Welcome to spline - the pipeline tool

PyPI version PyPI format PyPI versions PyPI license Read The Docs Coverage Status BCH compliance Known Vulnerabilities


Important note:

Since change in my job I didn't had the chance to continue on this project. My main new project is here https://github.com/thomas-lehmann-private/hyperion-task-processor which is planned to be a improved task processing tool; step by step those one will be capable to have more functionality across all platforms (powershell, batch, bash, JShell, Groovy, Kotlin, Docker, ... features depend on platform). It's fully written in Java. Stay tuned.


Table Of Content:
Motivation
Quickstart
Example
Matrix
The Model
The Pipeline
Pipeline Stages
Tasks
The Shell
Environment Variables
Docker Container
Hooks
Include
Event Logging
Tool: spline-loc
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

Owner

  • Name: Thomas Lehmann
  • Login: Nachtfeuer
  • Kind: user

Highly interested in development, programming languages, infrastructure, processes and design. Favor C++, Java and Python.

GitHub Events

Total
  • Push event: 3
  • Pull request event: 4
  • Create event: 4
Last Year
  • Push event: 3
  • Pull request event: 4
  • Create event: 4

Committers

Last synced: 11 months ago

All Time
  • Total Commits: 279
  • Total Committers: 3
  • Avg Commits per committer: 93.0
  • Development Distribution Score (DDS): 0.032
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Thomas Lehmann t****e@g****m 270
Joseph Benden j****e@b****s 8
snyk-bot s****t@s****o 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 63
  • Total pull requests: 54
  • Average time to close issues: 17 days
  • Average time to close pull requests: 4 months
  • Total issue authors: 1
  • Total pull request authors: 4
  • Average comments per issue: 1.13
  • Average comments per pull request: 0.85
  • Merged pull requests: 21
  • Bot issues: 0
  • Bot pull requests: 3
Past Year
  • Issues: 0
  • Pull requests: 8
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • Nachtfeuer (64)
Pull Request Authors
  • Nachtfeuer (39)
  • jbenden (9)
  • snyk-bot (8)
  • dependabot[bot] (3)
Top Labels
Issue Labels
enhancement (29) bug (12) improvement (11) documentation (6) build (4) brain storming (2) test coverage (2) drop-python-version (1)
Pull Request Labels
dependencies (3) documentation (1)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 203 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 9
  • Total versions: 19
  • Total maintainers: 1
pypi.org: spline

(s)hell oriented (p)ipe(line) tool for ci/cd

  • Versions: 19
  • Dependent Packages: 0
  • Dependent Repositories: 9
  • Downloads: 203 Last month
Rankings
Dependent repos count: 4.9%
Downloads: 8.9%
Average: 9.9%
Dependent packages count: 10.0%
Stargazers count: 11.4%
Forks count: 14.2%
Maintainers (1)
Last synced: 6 months ago

Dependencies

examples/python/primes/requirements.txt pypi
  • coverage *
  • flake8 ==3.3.0
  • nose *
  • pep257 ==0.7.0
  • pep8 ==1.7.0
  • pyhamcrest *
  • pylint ==1.7.2
  • radon ==2.1.1
  • sphinx ==1.5.5
  • wheel ==0.29.0
requirements.txt pypi
  • bandit ==1.0.1
  • click ==6.7
  • coverage *
  • ddt ==1.1.1
  • epydoc *
  • flake8 ==3.3.0
  • isort ==4.2.5
  • jinja2 ==2.9.6
  • mock ==2.0.0
  • pep257 ==0.7.0
  • pep8 ==1.7.0
  • pillow >=8.3.0
  • pyaml ==17.8.0
  • pyhamcrest *
  • pylint ==1.7.5
  • pylint ==1.8.1
  • radon ==2.1.1
  • schema ==0.6.6
  • sphinx ==1.6.5
  • sphinx_rtd_theme ==0.2.4
  • sphinxcontrib-blockdiag ==1.5.5
  • sphinxcontrib-inheritance ==0.9.0
  • sphinxcontrib-napoleon ==0.6.1
  • wheel ==0.29.0
setup.py pypi
  • click *
docker/py37/Dockerfile docker
  • centos 7 build