Skip to main content

Scientific Compute Container Spec Parser

Project description

About

KLIKO is a sSpecification, validator and parser for the Scientific Compute Container specification. KLIKO is written in Python.

Installation

$ python setup.py install

or:

$ pip install kliko

Usage

import kliko.validate
kliko.validate.validate(your_metadata_definition)

The specification

  • All is based on standard docker containers

  • Container mush have a CMD specified, which would be the main program of the container. It should not require arguments.

  • logging should be written to STDOUT and STDERR.

  • We define two types of compute containers, split IO and joined IO containers.

  • For split IO Input files will be mounted read only into /input. Output file should be written to /output, which will be mounted by the host.

  • For joined IO containers input & output is the /work folder which will be mounted RW.

  • parameters can be defined with a file in json format called parameters.json in /input

  • Which parameters the container will aceept should be defined in a yaml file /param_spec.yml

  • The parameters definition (param_spec.yml) file should follow the schema defined in kliko/schema.yml.

  • an example parameters definition file can be found in examples/form.yml

  • fields with type file will enable supply of custom input files. these will be put in the /input folder.

  • The container script should validate the supplied schema

Example

There is an example in examples/form.yml

Django

In kliko.django_form there is a function that can automatically generate a Django form from a parsed parameter definition file. This is used by RODRIGUES to render a form inside a website which then can be used to schedule a parameterized container.

https://github.com/ska-sa/rodrigues/

This requires django-form-utils.

https://pypi-hypernode.com/pypi/django-form-utils

Travis build status

https://travis-ci.org/gijzelaerr/kliko.svg?branch=master

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kliko-0.2.tar.gz (4.1 kB view details)

Uploaded Source

Built Distribution

kliko-0.2-py2.py3-none-any.whl (4.9 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file kliko-0.2.tar.gz.

File metadata

  • Download URL: kliko-0.2.tar.gz
  • Upload date:
  • Size: 4.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for kliko-0.2.tar.gz
Algorithm Hash digest
SHA256 94c6ce962553de661f812881b8357f2f367066718dbda87fbf3c47eaf2ddd562
MD5 a6bc7eca595a49f237ab24d994a87657
BLAKE2b-256 0b548a80b9fc8b3b5f7e11a9e065f19a2e625d41a0c33159ca243d2c5654a8fe

See more details on using hashes here.

File details

Details for the file kliko-0.2-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for kliko-0.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 ee4fc64611f635188703365957a9dc1e604e15bcfea9c0bc0294341f7019f80f
MD5 9a032dc26bfc9b2c20fd746ebe43ab75
BLAKE2b-256 e48b20e5abaa7407249290be5927d867fd67a832ad519209ff0e861e5071cb2b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page