Skip to content

Commit

Permalink
Release 0.1 (#85)
Browse files Browse the repository at this point in the history
* Add gitter button

* Fixes #23 issue with errors in js libraries (#26)

* First implementation of panoptes api

* Added workflow jobs in db

* added api for jobs

* Error fixes

* Fixed inconsistency in jobs api

* feature/31_UI initial commit

* Minor fix

* typo and db update fixes

* Final fix

* feature/31_UI about page

* added job id and hiden db id

* Change in model job primary key

* feature/31_UI contribute

* Feature/add api to panoptes (#34)

* First implementation of panoptes api

* Added workflow jobs in db

* added api for jobs

* Error fixes

* Fixed inconsistency in jobs api

* Minor fix

* typo and db update fixes

* Final fix

* added job id and hiden db id

* Change in model job primary key

* Removes unused messages

* Change the filter for job query

* feature/31_UI added jobs

* First implementation of panoptes api

* Added workflow jobs in db

* feature/31_UI initial commit

* feature/31_UI about page

* feature/31_UI contribute

* feature/31_UI added jobs

* feature/31_UI job html

* Feature/update status (#37)

* Fix issue with progress bar. Update status of jobs to done.

* Added job status in workflow table

* Fix issue with steps in workflows.html and workflow.html

* Feature/7 setup (#38)

* feature/7_setup

* feature/7_setup removed comment

* feature/7_setup PR comment

* Feature/29 ci cd (#40)

* feature/29 travis initial commit

* feature/29_ci_cd test commit to trigger build

* feature/29_ci_cd fixed yml

* feature/29 added README link to travis (#41)

* Added badges for status in jobs (#39)

* Added badges for status in jobs

* Changes in the landing page

* Added check for null values in workflow job size

* Removed button

* Added formater for datetime

* Changes templates to use datetime formater

* Feature/43 add jobs start and end time (#44)

* Added start and and date to db

* added init values for jobs

* Visual improvements and duration meta

* Added library for time parse to requirements

* Feature/dockerfile (#45)

* Add Dockerfile. Add docker-compose. Add run.py to start easier the application.

* Update Dockerfile and run.py

* The correct way is docker run -p 8000:1234 -it <container id>

* Update Dockerfile, docker-compose.yaml and change run.py to panoptes.py

* COPY instead of cloning the repo

* Update README.md with docker-compose instructions

* Update README.md

* Update docker info in README.md

* Update README.md

* Removed variables from Dockerfile

* changed icons (#47)

* Wrong page handle (#49)

* Wring page handle

* more 404 forms

* Update issue templates (#52)

* Update issue templates

* Update issue template

* Update video with biohackathon features. (#58)

* Feature/docker to travis (#60)

* initial commit

* adding api test

* try2

* WIP

* feature/docket_to_travis: changes function name to conform to pytest rules

* docker_to_travis: fixed .travis.yml

* docker_to_travis: proper name of the test class

* docker_to_travis: removed useless code

* Update properly job and workflow status to Error when a job or workflow fails. (#65)

* Add no execution status in workflows where results is already there. closes #42 (#66)

* Add service-info endpoint in the API (#67)

closes #64

* Bump lodash from 4.17.14 to 4.17.19 in /server/static (#71)

Bumps [lodash](https://github.com/lodash/lodash) from 4.17.14 to 4.17.19.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](lodash/lodash@4.17.14...4.17.19)

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump jquery from 3.4.1 to 3.5.0 in /server/static (#70)

Bumps [jquery](https://github.com/jquery/jquery) from 3.4.1 to 3.5.0.
- [Release notes](https://github.com/jquery/jquery/releases)
- [Commits](jquery/jquery@3.4.1...3.5.0)

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Feature/arg parse (#72)

* Add argparse in panoptes.py

* Clean up argparse. Change default database path to .panoptes.db

* Add exec mode in two scripts. Minor README.md update.

* Clean up codebase (#74)

- Remove unused html files and js libraries (mainly from core-ui)
- Slim Dockerfile
- Remove developer instructions from README.md
- Remove all npm and node dependencies
- Improve the appearance of some html files (index.html and workflow.html)

Fixes #48

* Update tests in .travis.yml (#75)

- Install conda (with mamba support)
- Start panoptes server with docker-compose (as before)
- Install snakemake with wms-monitor option (conda env: snakemake_develop)
- Run example workflow that populates the database
- Add tests to test the panoptes API (virtualenv: venv_test)

Fixes #61

* Update travis CI tests to use latest snakemake version (#77)

Update travis CI to use latest snakemake version. Fixes #76

* Feature/46 create pypi package (#84)

* WIP: => in requirements, gitignore and setup.py modifications

* renamed folder server into panoptes

* changed references from server to panoptes

* removed duplicate file

* moved tests folder inside panoptes

* added MANIFEST for html files

* changed panoptes.py directory in order the keyword panoptes to work after the pip install panoptes command

* updated readme & docker-compose

* typo readme

* Fix MANIFEST.in (#78)

* feature/46: updated README

* Fix docker compose

* fixed tests path

* fix in travis.yml

* fix in travis

Co-authored-by: Foivos Gypas <[email protected]>
Co-authored-by: fgypas <[email protected]>

* fix README

Co-authored-by: fgypas <[email protected]>
Co-authored-by: Foivos Gypas <[email protected]>
Co-authored-by: Giorgos Kostoulas <[email protected]>
Co-authored-by: gkostoulas <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
  • Loading branch information
6 people authored Oct 28, 2020
1 parent fbd53fe commit 06247c0
Show file tree
Hide file tree
Showing 183 changed files with 17,084 additions and 51,444 deletions.
38 changes: 38 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: ''
assignees: ''

---

**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

**Expected behavior**
A clear and concise description of what you expected to happen.

**Screenshots or logs**
If applicable, add screenshots to help explain your problem.

**Desktop (please complete the following information):**
- OS: [e.g. iOS]
- Browser [e.g. chrome, safari]
- Version [e.g. 22]

**Smartphone (please complete the following information):**
- Device: [e.g. iPhone6]
- OS: [e.g. iOS8.1]
- Browser [e.g. stock browser, safari]
- Version [e.g. 22]

**Additional context**
Add any other context about the problem here.
20 changes: 20 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: ''
assignees: ''

---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.
9 changes: 8 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -27,4 +27,11 @@ __pycache__/
venv

.DS_Store
server/.DS_Store
server/.DS_Store

.panoptes.db

# Package build
build/
dist/
panoptes.egg-info/
61 changes: 61 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
sudo: required

language: python

env:
DOCKER_COMPOSE_VERSION: 1.24.1

os:
- linux

branches:
only:
- master
- develop

python:
- 3.6

before_install:
- sudo rm /usr/local/bin/docker-compose
- curl -L https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-`uname -s`-`uname -m` > docker-compose
- chmod +x docker-compose
- sudo mv docker-compose /usr/local/bin

install:
- if [[ "$TRAVIS_PYTHON_VERSION" == "2.7" ]]; then
wget https://repo.continuum.io/miniconda/Miniconda2-latest-Linux-x86_64.sh -O miniconda.sh;
else
wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh;
fi
- bash miniconda.sh -b -p $HOME/miniconda
- source "$HOME/miniconda/etc/profile.d/conda.sh"
- hash -r
- conda config --set always_yes yes --set changeps1 no
- conda update -q conda
# Useful for debugging any issues with conda
- conda info -a
- docker-compose up -d --build


script:
- git clone https://github.com/snakemake/snakemake.git
- cd snakemake
- conda create -n snakemake -c conda-forge mamba
- conda activate snakemake
- pip install .
- cd ..
- git clone https://github.com/panoptes-organization/snakemake_example_workflow.git
- cd snakemake_example_workflow
- sed -i 's/5000/8000/g' run_local.sh
- bash run_local.sh
- cd ../
- conda deactivate
- virtualenv -p `which python3` venv_test
- source venv_test/bin/activate
- pip install -r requirements.txt
- py.test panoptes/tests/api_test.py
- deactivate

after_script:
- docker-compose down
23 changes: 23 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
##### BASE IMAGE #####
FROM python:3.6.12-slim

##### METADATA #####
LABEL base.image="python:3.6.12-slim"
LABEL version="1"
LABEL software="panoptes"
LABEL software.version="development"
LABEL software.description="Monitor computational workflows in real time"
LABEL software.website="https://github.com/panoptes-organization/panoptes"
LABEL software.documentation="https://github.com/panoptes-organization/panoptes/blob/develop/README.md"
LABEL software.license="https://github.com/panoptes-organization/panoptes/blob/develop/LICENSE.md"
LABEL software.tags="workflows,monitor,track"
LABEL maintainer="[email protected]"
LABEL maintainer.organisation=""
LABEL maintainer.location=""
LABEL maintainer.license="MIT"

COPY . /panoptes

RUN cd panoptes && pip install .

CMD ["panoptes"]
2 changes: 2 additions & 0 deletions MANIFEST.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
graft panoptes/static
graft panoptes/static/src
65 changes: 36 additions & 29 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
# panoptes
# ![alt text](panoptes/static/src/img/brand/panoptes.png "panoptes")


Bioinformaticians and data scientists, rely on computational frameworks (e.g. [snakemake](https://snakemake.readthedocs.io/en/stable/), [nextflow](https://www.nextflow.io/), [CWL](https://www.commonwl.org/), [WDL](https://software.broadinstitute.org/wdl/)) to process, analyze and integrate data of various types. Such frameworks allow scientists to combine software and custom tools of different origin in a unified way, which lets them reproduce the results of others, or reuse the same pipeline on different datasets. One of the fundamental issues is that the majority of the users execute multiple pipelines at the same time, or execute a multistep pipeline for a big number of datasets, or both, making it hard to track the execution of the individual steps or monitor which of the processed datasets are complete. panoptes is a tool that monitors the execution of such workflows.

Expand All @@ -11,23 +12,19 @@ panoptes is a service that can be used by:

# Installation

## Development installation
## Basic installation process

### Requirements

- Python>=3.6
- sqlite3 (tested with 3.27.2)
- npm (tested with versio 6.11.3)

### Install sqlite3

Install [sqlite3](https://www.sqlite.org/download.html)
- virtualenv
- [sqlite3](https://www.sqlite.org/download.html)

### Install and run server

Clone repo
```bash
git clone -b develop https://github.com/panoptes-organization/panoptes.git
git clone https://github.com/panoptes-organization/panoptes.git
```

Enter repo
Expand All @@ -40,56 +37,66 @@ Create virtual environment
virtualenv -p `which python3` venv
```

Create virtual environment
Activate virtual environment
```bash
source venv/bin/activate
```

Install requirements
Install all requirements
```bash
pip install -r requirements.txt
pip install panoptes-ui
```

Enter coreui directory and install javascipt dependencies
Run server
```bash
cd server/static
npm install
panoptes
```
Server should run on: 127.0.0.1:5000

Go to the root directory
```bash
cd ../../
```
By default it should generate an sqlite database: .panoptes.db

EXPORT FLASK_APP
## Docker

### Requirements

- docker
- docker-compose

### Build and run

Build
```bash
export FLASK_APP=server/app.py
export FLASK_ENV=development
docker-compose build
```

Run server
Run
```bash
python -m flask run
docker-compose up -d
```

Server should run on: http://127.0.0.1:5000/'
Server should run on: http://127.0.0.1:8000/

Stop
```bash
docker-compose down
```

### Run an example workflow

In order to run an example workflow please follow the instructions [here](https://github.com/panoptes-organization/snakemake_example_workflow)

#### panoptes in action

[![Watch the video](https://img.youtube.com/vi/Expb3odk0GQ/hqdefault.jpg)](https://www.youtube.com/watch?v=Expb3odk0GQ)
[![Watch the video](https://img.youtube.com/vi/de-YSJmq_5s/hqdefault.jpg)](https://www.youtube.com/watch?v=de-YSJmq_5s)

#### CI server

Changes in develop or master trigger a [Travis](https://travis-ci.com/panoptes-organization/panoptes) build (and soon tests)

# Contribute

Please see the [Contributing instructions](CONTRIBUTING.md).

**panoptes** is one of the [selected projects](https://github.com/elixir-europe/BioHackathon-projects-2019/tree/master/projects/14) for the [2019 Paris Biohackthon](https://www.biohackathon-europe.org/).

# Contact

In case the [issues section](https://github.com/panoptes-organization/panoptes/issues) is not enough for you, you can also contact us via [gitter](https://gitter.im/panoptes-organization/)
In case the [issues section](https://github.com/panoptes-organization/panoptes/issues) is not enough for you, you can also contact us via [gitter](https://gitter.im/panoptes-organization/)
10 changes: 10 additions & 0 deletions docker-compose.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
version: '3.6'
services:
panoptes:
build:
context: .
dockerfile: Dockerfile
restart: unless-stopped
command: panoptes
ports:
- 8000:5000
1 change: 1 addition & 0 deletions panoptes/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from .panoptes import main
Loading

0 comments on commit 06247c0

Please sign in to comment.