summaryrefslogtreecommitdiff
path: root/python-statina.spec
diff options
context:
space:
mode:
Diffstat (limited to 'python-statina.spec')
-rw-r--r--python-statina.spec400
1 files changed, 400 insertions, 0 deletions
diff --git a/python-statina.spec b/python-statina.spec
new file mode 100644
index 0000000..fc45939
--- /dev/null
+++ b/python-statina.spec
@@ -0,0 +1,400 @@
+%global _empty_manifest_terminate_build 0
+Name: python-statina
+Version: 2.9.1
+Release: 1
+Summary: NIPT data storage and visualisation
+License: MIT License
+URL: https://github.com/Clinical-Genomics/statina
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/1b/a5/489b48765904ef7f2160b7ea655282cb6188fc86551f99a278012ba14758/statina-2.9.1.tar.gz
+BuildArch: noarch
+
+Requires: python3-click
+Requires: python3-bump2version
+Requires: python3-pymongo
+Requires: python3-mongo-adapter
+Requires: python3-coloredlogs
+Requires: python3-pyyaml
+Requires: python3-cerberus
+Requires: python3-multipart
+Requires: python3-dotenv
+Requires: python3-email-validator
+Requires: python3-jinja2
+Requires: python3-passlib
+Requires: python3-fastapi
+Requires: python3-uvicorn
+Requires: python3-uvloop
+Requires: python3-httptools
+Requires: python3-gunicorn
+Requires: python3-jose[cryptography]
+Requires: python3-bcrypt
+Requires: python3-numpy
+Requires: python3-aiofiles
+Requires: python3-sendmail-container
+
+%description
+# Statina [![Coverage Status](https://coveralls.io/repos/github/Clinical-Genomics/statina/badge.svg?branch=master)](https://coveralls.io/github/Clinical-Genomics/statina?branch=master) [![Build Status](https://travis-ci.org/Clinical-Genomics/statina.svg?branch=master)](https://travis-ci.org/Clinical-Genomics/statina) ![Latest Release](https://img.shields.io/github/v/release/clinical-genomics/statina)
+
+
+Statina is a visualisation tool for the data produced by the [Fluffy] pipeline running [WisecondorX] to analyze NIPT.
+
+## Installation
+
+```bash
+git clone https://github.com/Clinical-Genomics/statina
+cd statina
+pip install -r requirements.txt -e .
+```
+
+## Usage
+
+### Demo
+
+**The CLI is intended for development/testing purpose only. To run in a production setting please refer to documentation
+for suggestions how.**
+
+Once installed, you can set up Statina by running a few commands using the included command line interface.
+Given you have a MongoDB server listening on the default port (27017), this is how you would set up a fully working
+Statina demo:
+
+```bash
+statina load batch --result-file statina/tests/fixtures/valid_fluffy.csv
+```
+
+Settings can be used by exporting the environment variables: `DB_NAME`, `DB_URI`, `HOST`, `PORT`
+This will set up an instance of Statina with a database called `statina-demo`. Now run
+
+```bash
+statina serve --reload
+```
+ and play around with the interface.
+
+### Docker image
+
+Statina can also run as a container. The image is available [on Docker Hub][docker-hub] or can be build using the
+Dockerfile provided in this repository.
+
+To build a new image from the Dockerfile use the commands: `docker build -t statina .`
+
+To run the image use the following command: `docker run --name statina statina statina `
+
+To remove the container, type: `docker rm statina`
+
+## Release model
+Statina is using github flow release model as described in our development manual.
+
+
+### Steps to make a new release:
+
+1) Get you PR approved.
+2) Append the version bump to PR title. Eg. __Update README__ becomes __Update Readme (patch)__
+3) Select __squash and merge__
+4) Write a change log comment.
+5) Merge.
+
+
+### Deploying to staging
+
+Opening pull requests in Statina repository will enable a Github Action to build containers and publish to
+[statina-stage dockerhub](https://hub.docker.com/repository/docker/clinicalgenomics/statina-stage) with each commit.
+
+Two tags will be published: one with the name of the branch and another tagged "latest".
+
+
+Steps to test current branch on staging:
+
+`ssh firstname.lastname@cg-vm1.scilifelab.se`
+
+`sudo -iu hiseq.clinical`
+
+`ssh localhost`
+
+If you made changes to internal app : `systemctl --user restart statina.target`
+
+Your branch should be deployed to staging at https://statina-stage.scilifelab.se
+
+If for some reason you cannot access the application at given address, check status of the container: `systemctl --user status statinaApp.service`
+
+### Deploying to production
+
+Use `update-statina.sh` script to update production both on Hasta and CGVS.
+**Please follow the development guide and `servers` repo when doing so. It is also important to keep those involved informed.**
+
+## Back End
+The Statina database is a Mongo database consisting of following collections:
+
+- **batch** - holds batch level information.
+- **sample** - holds sample level information.
+- **user** - holds user names, emails and roles.
+
+The database is loaded through the CLI with data generated by the [FluFFyPipe][Fluffy]
+
+
+[Fluffy]: https://github.com/Clinical-Genomics/fluffy
+[WisecondorX]: https://github.com/CenterForMedicalGeneticsGhent/WisecondorX
+[docker-hub]: https://hub.docker.com/repository/docker/clinicalgenomics/statina
+
+
+
+
+%package -n python3-statina
+Summary: NIPT data storage and visualisation
+Provides: python-statina
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-statina
+# Statina [![Coverage Status](https://coveralls.io/repos/github/Clinical-Genomics/statina/badge.svg?branch=master)](https://coveralls.io/github/Clinical-Genomics/statina?branch=master) [![Build Status](https://travis-ci.org/Clinical-Genomics/statina.svg?branch=master)](https://travis-ci.org/Clinical-Genomics/statina) ![Latest Release](https://img.shields.io/github/v/release/clinical-genomics/statina)
+
+
+Statina is a visualisation tool for the data produced by the [Fluffy] pipeline running [WisecondorX] to analyze NIPT.
+
+## Installation
+
+```bash
+git clone https://github.com/Clinical-Genomics/statina
+cd statina
+pip install -r requirements.txt -e .
+```
+
+## Usage
+
+### Demo
+
+**The CLI is intended for development/testing purpose only. To run in a production setting please refer to documentation
+for suggestions how.**
+
+Once installed, you can set up Statina by running a few commands using the included command line interface.
+Given you have a MongoDB server listening on the default port (27017), this is how you would set up a fully working
+Statina demo:
+
+```bash
+statina load batch --result-file statina/tests/fixtures/valid_fluffy.csv
+```
+
+Settings can be used by exporting the environment variables: `DB_NAME`, `DB_URI`, `HOST`, `PORT`
+This will set up an instance of Statina with a database called `statina-demo`. Now run
+
+```bash
+statina serve --reload
+```
+ and play around with the interface.
+
+### Docker image
+
+Statina can also run as a container. The image is available [on Docker Hub][docker-hub] or can be build using the
+Dockerfile provided in this repository.
+
+To build a new image from the Dockerfile use the commands: `docker build -t statina .`
+
+To run the image use the following command: `docker run --name statina statina statina `
+
+To remove the container, type: `docker rm statina`
+
+## Release model
+Statina is using github flow release model as described in our development manual.
+
+
+### Steps to make a new release:
+
+1) Get you PR approved.
+2) Append the version bump to PR title. Eg. __Update README__ becomes __Update Readme (patch)__
+3) Select __squash and merge__
+4) Write a change log comment.
+5) Merge.
+
+
+### Deploying to staging
+
+Opening pull requests in Statina repository will enable a Github Action to build containers and publish to
+[statina-stage dockerhub](https://hub.docker.com/repository/docker/clinicalgenomics/statina-stage) with each commit.
+
+Two tags will be published: one with the name of the branch and another tagged "latest".
+
+
+Steps to test current branch on staging:
+
+`ssh firstname.lastname@cg-vm1.scilifelab.se`
+
+`sudo -iu hiseq.clinical`
+
+`ssh localhost`
+
+If you made changes to internal app : `systemctl --user restart statina.target`
+
+Your branch should be deployed to staging at https://statina-stage.scilifelab.se
+
+If for some reason you cannot access the application at given address, check status of the container: `systemctl --user status statinaApp.service`
+
+### Deploying to production
+
+Use `update-statina.sh` script to update production both on Hasta and CGVS.
+**Please follow the development guide and `servers` repo when doing so. It is also important to keep those involved informed.**
+
+## Back End
+The Statina database is a Mongo database consisting of following collections:
+
+- **batch** - holds batch level information.
+- **sample** - holds sample level information.
+- **user** - holds user names, emails and roles.
+
+The database is loaded through the CLI with data generated by the [FluFFyPipe][Fluffy]
+
+
+[Fluffy]: https://github.com/Clinical-Genomics/fluffy
+[WisecondorX]: https://github.com/CenterForMedicalGeneticsGhent/WisecondorX
+[docker-hub]: https://hub.docker.com/repository/docker/clinicalgenomics/statina
+
+
+
+
+%package help
+Summary: Development documents and examples for statina
+Provides: python3-statina-doc
+%description help
+# Statina [![Coverage Status](https://coveralls.io/repos/github/Clinical-Genomics/statina/badge.svg?branch=master)](https://coveralls.io/github/Clinical-Genomics/statina?branch=master) [![Build Status](https://travis-ci.org/Clinical-Genomics/statina.svg?branch=master)](https://travis-ci.org/Clinical-Genomics/statina) ![Latest Release](https://img.shields.io/github/v/release/clinical-genomics/statina)
+
+
+Statina is a visualisation tool for the data produced by the [Fluffy] pipeline running [WisecondorX] to analyze NIPT.
+
+## Installation
+
+```bash
+git clone https://github.com/Clinical-Genomics/statina
+cd statina
+pip install -r requirements.txt -e .
+```
+
+## Usage
+
+### Demo
+
+**The CLI is intended for development/testing purpose only. To run in a production setting please refer to documentation
+for suggestions how.**
+
+Once installed, you can set up Statina by running a few commands using the included command line interface.
+Given you have a MongoDB server listening on the default port (27017), this is how you would set up a fully working
+Statina demo:
+
+```bash
+statina load batch --result-file statina/tests/fixtures/valid_fluffy.csv
+```
+
+Settings can be used by exporting the environment variables: `DB_NAME`, `DB_URI`, `HOST`, `PORT`
+This will set up an instance of Statina with a database called `statina-demo`. Now run
+
+```bash
+statina serve --reload
+```
+ and play around with the interface.
+
+### Docker image
+
+Statina can also run as a container. The image is available [on Docker Hub][docker-hub] or can be build using the
+Dockerfile provided in this repository.
+
+To build a new image from the Dockerfile use the commands: `docker build -t statina .`
+
+To run the image use the following command: `docker run --name statina statina statina `
+
+To remove the container, type: `docker rm statina`
+
+## Release model
+Statina is using github flow release model as described in our development manual.
+
+
+### Steps to make a new release:
+
+1) Get you PR approved.
+2) Append the version bump to PR title. Eg. __Update README__ becomes __Update Readme (patch)__
+3) Select __squash and merge__
+4) Write a change log comment.
+5) Merge.
+
+
+### Deploying to staging
+
+Opening pull requests in Statina repository will enable a Github Action to build containers and publish to
+[statina-stage dockerhub](https://hub.docker.com/repository/docker/clinicalgenomics/statina-stage) with each commit.
+
+Two tags will be published: one with the name of the branch and another tagged "latest".
+
+
+Steps to test current branch on staging:
+
+`ssh firstname.lastname@cg-vm1.scilifelab.se`
+
+`sudo -iu hiseq.clinical`
+
+`ssh localhost`
+
+If you made changes to internal app : `systemctl --user restart statina.target`
+
+Your branch should be deployed to staging at https://statina-stage.scilifelab.se
+
+If for some reason you cannot access the application at given address, check status of the container: `systemctl --user status statinaApp.service`
+
+### Deploying to production
+
+Use `update-statina.sh` script to update production both on Hasta and CGVS.
+**Please follow the development guide and `servers` repo when doing so. It is also important to keep those involved informed.**
+
+## Back End
+The Statina database is a Mongo database consisting of following collections:
+
+- **batch** - holds batch level information.
+- **sample** - holds sample level information.
+- **user** - holds user names, emails and roles.
+
+The database is loaded through the CLI with data generated by the [FluFFyPipe][Fluffy]
+
+
+[Fluffy]: https://github.com/Clinical-Genomics/fluffy
+[WisecondorX]: https://github.com/CenterForMedicalGeneticsGhent/WisecondorX
+[docker-hub]: https://hub.docker.com/repository/docker/clinicalgenomics/statina
+
+
+
+
+%prep
+%autosetup -n statina-2.9.1
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-statina -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Fri May 05 2023 Python_Bot <Python_Bot@openeuler.org> - 2.9.1-1
+- Package Spec generated