From a0d8b87150cd7f1077c871c4fa665f27b9174640 Mon Sep 17 00:00:00 2001 From: EiffL Date: Thu, 28 May 2020 20:29:07 +0200 Subject: [PATCH] better Readme with logo --- README.md | 30 +++++++++++++++--------------- ceci.png | Bin 0 -> 28119 bytes 2 files changed, 15 insertions(+), 15 deletions(-) create mode 100644 ceci.png diff --git a/README.md b/README.md index e5eff2d..0d9facb 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,19 @@ -Ceci Pipeline Software ----------------------- -[![Build Status](https://travis-ci.org/LSSTDESC/ceci.svg?branch=master)](https://travis-ci.org/LSSTDESC/ceci) -[![codecov](https://codecov.io/gh/LSSTDESC/ceci/branch/master/graph/badge.svg)](https://codecov.io/gh/LSSTDESC/ceci) +![Ceci Logo](ceci.png) + + +

Ceci Pipeline Software

+ +

+Build Status +Documentation Status +Coverage Status +PyPI +Downloads +

-A lightweight parsl-based framework for running DESC pipelines. Documentation available here: http://ceci.readthedocs.io +> “Ceci n'est pas une pipeline.” + +A lightweight parsl-based framework for running DESC pipelines. This is now alpha status. @@ -21,16 +31,6 @@ export PYTHONPATH=$PYTHONPATH:$PWD ceci test/test.yml ``` -## Roadmap - -- MPI on cori and site generation for parsl -- Generating a marker file when a task is completely complete to allow resuming better -- Improved logging -- Data File types -- Metadata operationson FITS and HDF5 files -- Single shared docker/shifter image support -- Export yaml representation of stage inputs etc, for ingestion by javascript GUI - Adding Pipeline Stages ---------------------- diff --git a/ceci.png b/ceci.png new file mode 100644 index 0000000000000000000000000000000000000000..a05068eda0c7b6fd5e78258ea69fe54027fe8efd GIT binary patch literal 28119 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

cU6yWt~x$cq!ji`8HTtP{bkPI=9wC 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 a+?PGfw3#QosV{d1>0dKKyua%3@P7c=gg3na literal 0 HcmV?d00001