diff options
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | python-statina.spec | 400 | ||||
| -rw-r--r-- | sources | 1 |
3 files changed, 402 insertions, 0 deletions
@@ -0,0 +1 @@ +/statina-2.9.1.tar.gz 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 [](https://coveralls.io/github/Clinical-Genomics/statina?branch=master) [](https://travis-ci.org/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 [](https://coveralls.io/github/Clinical-Genomics/statina?branch=master) [](https://travis-ci.org/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 [](https://coveralls.io/github/Clinical-Genomics/statina?branch=master) [](https://travis-ci.org/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 @@ -0,0 +1 @@ +587ac8ac01a94b1034f80cd461c62e0d statina-2.9.1.tar.gz |
