From 005d512607ca9b64fb644d6e9a76b934e5c0be8b Mon Sep 17 00:00:00 2001 From: agardelakos <52416212+agardelakos@users.noreply.github.com> Date: Wed, 26 May 2021 21:10:20 +0300 Subject: [PATCH 1/5] bump version to 0.2.0 (#145) Co-authored-by: Foivos Gypas --- meta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta.yaml b/meta.yaml index 58fa141..e248b91 100644 --- a/meta.yaml +++ b/meta.yaml @@ -1,5 +1,5 @@ {% set name = "panoptes-ui" %} -{% set version = "0.1.1" %} +{% set version = "0.2.0" %} package: name: "{{ name|lower }}" From fb8395ef56e0d4cc673aae8b15e6fd50b4ffd3af Mon Sep 17 00:00:00 2001 From: Foivos Gypas Date: Fri, 4 Aug 2023 10:48:35 +0200 Subject: [PATCH 2/5] Sync develop with master (#163) * bump version to 0.2.0 (#145) (#150) Co-authored-by: Foivos Gypas Co-authored-by: agardelakos <52416212+agardelakos@users.noreply.github.com> * convert_unicode no longer supported by db driver (#157) Co-authored-by: Russell Neches * Release 0.2.1 (#158) * Create python-publish.yml (#159) * Release 0.2.2 (#160) --------- Co-authored-by: agardelakos <52416212+agardelakos@users.noreply.github.com> Co-authored-by: Russell Neches Co-authored-by: Russell Neches --- .github/workflows/python-publish.yml | 39 ++++++++++++++++++++++++++++ meta.yaml | 2 +- panoptes/database.py | 2 +- setup.py | 2 +- 4 files changed, 42 insertions(+), 3 deletions(-) create mode 100644 .github/workflows/python-publish.yml diff --git a/.github/workflows/python-publish.yml b/.github/workflows/python-publish.yml new file mode 100644 index 0000000..bdaab28 --- /dev/null +++ b/.github/workflows/python-publish.yml @@ -0,0 +1,39 @@ +# This workflow will upload a Python Package using Twine when a release is created +# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python#publishing-to-package-registries + +# This workflow uses actions that are not certified by GitHub. +# They are provided by a third-party and are governed by +# separate terms of service, privacy policy, and support +# documentation. + +name: Upload Python Package + +on: + release: + types: [published] + +permissions: + contents: read + +jobs: + deploy: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + - name: Set up Python + uses: actions/setup-python@v3 + with: + python-version: '3.x' + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install build + - name: Build package + run: python -m build + - name: Publish package + uses: pypa/gh-action-pypi-publish@27b31702a0e7fc50959f5ad993c78deac1bdfc29 + with: + user: __token__ + password: ${{ secrets.PYPI_API_TOKEN }} diff --git a/meta.yaml b/meta.yaml index e248b91..fb9f5f6 100644 --- a/meta.yaml +++ b/meta.yaml @@ -1,5 +1,5 @@ {% set name = "panoptes-ui" %} -{% set version = "0.2.0" %} +{% set version = "0.2.2" %} package: name: "{{ name|lower }}" diff --git a/panoptes/database.py b/panoptes/database.py index 61760a3..863b591 100644 --- a/panoptes/database.py +++ b/panoptes/database.py @@ -2,7 +2,7 @@ from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import scoped_session, sessionmaker -engine = create_engine('sqlite:///.panoptes.db?check_same_thread=False', convert_unicode=True) +engine = create_engine('sqlite:///.panoptes.db?check_same_thread=False') db_session = scoped_session(sessionmaker(autocommit=False, autoflush=False, bind=engine)) diff --git a/setup.py b/setup.py index ee21438..ec7a740 100755 --- a/setup.py +++ b/setup.py @@ -7,7 +7,7 @@ setup( name='panoptes-ui', - version='0.2.0', + version='0.2.2', url='https://github.com/panoptes-organization/panoptes', license='MIT', author='panoptes-organization', From bcf776bacaad498398066a6c3619dd4827d5d45b Mon Sep 17 00:00:00 2001 From: Foivos Gypas Date: Fri, 4 Aug 2023 11:13:26 +0200 Subject: [PATCH 3/5] Remove unused meta.yaml (#164) * Remove unused meta.yaml --- meta.yaml | 59 ------------------------------------------------------- 1 file changed, 59 deletions(-) delete mode 100644 meta.yaml diff --git a/meta.yaml b/meta.yaml deleted file mode 100644 index fb9f5f6..0000000 --- a/meta.yaml +++ /dev/null @@ -1,59 +0,0 @@ -{% set name = "panoptes-ui" %} -{% set version = "0.2.2" %} - -package: - name: "{{ name|lower }}" - version: "{{ version }}" - -source: - url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: d0d77e5da46db54ed494b663e6e6c541bc87d624d12d65e1468df366639043d4 - -build: - number: 0 - entry_points: - - panoptes=panoptes:main - script: "{{ PYTHON }} -m pip install . -vv" - -requirements: - host: - - flask >=1.1.1 - - humanfriendly >=4.18 - - marshmallow >=3.0.1 - - pip - - pytest >=5.3.0 - - python - - requests >=2.22.0 - - sqlalchemy >=1.3.7 - run: - - flask >=1.1.1 - - humanfriendly >=4.18 - - marshmallow >=3.0.1 - - pytest >=5.3.0 - - python - - requests >=2.22.0 - - sqlalchemy >=1.3.7 - -test: - imports: - - panoptes - - panoptes.routes - - panoptes.server_utilities - - panoptes.static - - panoptes.static.src - - panoptes.tests - commands: - - panoptes --help - -about: - home: "https://github.com/panoptes-organization/panoptes" - license: MIT - license_family: MIT - license_file: LICENSE.md - summary: "panoptes: monitor computational workflows in real time" - doc_url: - dev_url: - -extra: - recipe-maintainers: - - agardelakos From a2f116e437935fbf20cc7a1f3d3aa0102a1a9736 Mon Sep 17 00:00:00 2001 From: "Bruno P. Kinoshita" Date: Mon, 7 Aug 2023 15:57:07 +0200 Subject: [PATCH 4/5] Update README.md (#162) --- README.md | 2 +- contributors.md | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 3585c24..2050060 100644 --- a/README.md +++ b/README.md @@ -166,7 +166,7 @@ Please see the [Contributing instructions](CONTRIBUTING.md). ## CI server -Changes in develop or master trigger a [Travis](https://travis-ci.com/panoptes-organization/panoptes) build (and runs tests) +Changes in develop or master trigger a [GitHub Actions](https://github.com/panoptes-organization/panoptes/actions) build (and runs tests) # Contact diff --git a/contributors.md b/contributors.md index 0cc5269..f57754e 100644 --- a/contributors.md +++ b/contributors.md @@ -3,6 +3,7 @@ - Dimitrios Afentoulis (@dafentoulis) - Argyrios-Alexandros Gardelakos (@agardelakos) - Foivos Gypas (@fgypas) +- Bruno P. Kinoshita (@kinow) - Georgios Kostoulas (@gkostoulas) - Johannes Köster (@johanneskoester) - Georgios Ntalaperas (@gntalaperas) From 55d9e825935a7e972792ed16aa342e303579b1ba Mon Sep 17 00:00:00 2001 From: Foivos Gypas Date: Mon, 7 Aug 2023 17:26:00 +0200 Subject: [PATCH 5/5] Update readme instructions (#168) Update readme instructions Fixes #165 --- README.md | 59 +++++++++++++++++++++++++++++++++++++------------------ 1 file changed, 40 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index 2050060..35ec04e 100644 --- a/README.md +++ b/README.md @@ -12,15 +12,12 @@ panoptes is a service that can be used by: # Installation -## Basic installation process - -### Requirements - +Requirements: - Python>=3.6 - virtualenv - [sqlite3](https://www.sqlite.org/download.html) -### Option 1: Install via pypi and run server +## Install from pypi and run server Create virtual environment ```bash @@ -44,11 +41,11 @@ Server should run on: 127.0.0.1:5000 By default it should generate an sqlite database: .panoptes.db -### Option 2: Install via conda and run server +## Install from conda and run server Create conda environment ```bash -conda create --name panoptes +conda create --name panoptes -c conda-forge -c bioconda panoptes-ui ``` Activate conda environment @@ -56,10 +53,6 @@ Activate conda environment conda activate panoptes ``` -Install via pypi OR conda -```bash -conda install -c panoptes-organization panoptes-ui -``` Run server ```bash panoptes @@ -68,7 +61,7 @@ Server should run on: 127.0.0.1:5000 By default it should generate an sqlite database: .panoptes.db -### Option 3: Install from source code and run server +## Install from source code and run server Clone repo ```bash @@ -103,15 +96,30 @@ Server should run on: 127.0.0.1:5000 By default it should generate an sqlite database: .panoptes.db -## Docker installation +## Docker execution + +Requirements: +- docker + +Pull image that is automatically built from bioconda. You can find the latest tag in the following url: https://quay.io/repository/biocontainers/panoptes-ui?tab=tags. For example: +``` +docker pull quay.io/biocontainers/panoptes-ui:0.2.2--pyh7cba7a3_0 +``` + +Then run the container with: -### Requirements +```bash +docker run -p 5000:5000 -it "image id" panoptes +``` +> Note: In this case the database is stored within the docker image, so every time you restart the server the database will be empty. You would need to mount the volumes to make the database persistent. + +## Docker compose execution + +Requirements: - docker - docker-compose -### Build and run with docker-compose - Build ```bash docker-compose build @@ -129,15 +137,28 @@ Stop docker-compose down ``` -### Run an example workflow +## Singularity execution + +You can also deploy the server with singularity. To do so pull the image with singularity. For example: + +```bash +singularity pull docker://quay.io/biocontainers/panoptes-ui:0.2.2--pyh7cba7a3_0 +``` + +And then we can start the server by running: +```bash +singularity exec panoptes-ui:0.2.2--pyh7cba7a3_0 +``` + +# 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 +## panoptes in action [![Watch the video](https://img.youtube.com/vi/de-YSJmq_5s/hqdefault.jpg)](https://www.youtube.com/watch?v=de-YSJmq_5s) -### panoptes API +## panoptes API Panoptes provides the following API endpoints: