summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-05-15 09:15:36 +0000
committerCoprDistGit <infra@openeuler.org>2023-05-15 09:15:36 +0000
commita13818f7cae551b7f37e037609701a4e387bf8c5 (patch)
tree3d4605c9eb2201d1b6cfdeff00eb8b560ecdb9d8
parent2c50bdc6982dfae816e84a91219d0c34c7455b32 (diff)
automatic import of python-metawards
-rw-r--r--.gitignore1
-rw-r--r--python-metawards.spec483
-rw-r--r--sources1
3 files changed, 485 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..f1a5a27 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/metawards-1.6.2.tar.gz
diff --git a/python-metawards.spec b/python-metawards.spec
new file mode 100644
index 0000000..f17834e
--- /dev/null
+++ b/python-metawards.spec
@@ -0,0 +1,483 @@
+%global _empty_manifest_terminate_build 0
+Name: python-metawards
+Version: 1.6.2
+Release: 1
+Summary: MetaWards disease metapopulation modelling
+License: GPL3
+URL: https://github.com/metawards/metawards
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/04/8d/188278c5a19549c16765599f87e08d24eea311dcbea6e9b97a2dd9cdb30c/metawards-1.6.2.tar.gz
+
+Requires: python3-dateparser
+Requires: python3-configargparse
+Requires: python3-lazy-import
+Requires: python3-rich
+Requires: python3-yaspin
+Requires: python3-pytest
+Requires: python3-pytest-cov
+Requires: python3-flake8
+Requires: python3-cython
+Requires: python3-numpy
+Requires: python3-sphinx
+Requires: python3-sphinx-issues
+Requires: python3-sphinx-rtd-theme
+Requires: python3-sphinxcontrib-programoutput
+Requires: python3-sphinx
+Requires: python3-sphinx-rtd-theme
+
+%description
+# MetaWards
+
+[![Build status](https://github.com/metawards/MetaWards/workflows/Build/badge.svg)](https://github.com/metawards/MetaWards/actions?query=workflow%3ABuild) [![PyPI version](https://badge.fury.io/py/metawards.svg)](https://pypi.python.org/pypi/metawards) [![Downloads](https://pepy.tech/badge/metawards)](https://pepy.tech/project/metawards) [![DOI](https://joss.theoj.org/papers/10.21105/joss.03914/status.svg)](https://doi.org/10.21105/joss.03914) [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.5562737.svg)](https://doi.org/10.5281/zenodo.5562737)
+
+* For the most accurate and up to date information please [visit the project website](https://metawards.org).
+* For an overview of features please [visit the features page](https://metawards.org/features).
+* Please take a read of our [Journal of Open Source Software paper](https://joss.theoj.org/papers/10.21105/joss.03914)
+* Please cite according to the CITATION.cff file in this repo.
+
+## Scientific Background
+
+MetaWards implements a stochastic metapopulation model of disease transmission. It can scale from modelling local transmission up to full national- or international-scale metapopulation models.
+
+Please follow the [quick start guide](https://metawards.org/quickstart) to see how to quickly get up and running using MetaWards to model your own custom disease or metapopulation model.
+
+It is was originally developed to support modelling of disease transmission in Great Britain. The complete model description and the original C code are described here;
+
+* *"The role of routine versus random movements on the spread of disease in Great Britain"*, Leon Danon, Thomas House, Matt J. Keeling, Epidemics, December 2009, 1 (4), 250-258; DOI:[10.1016/j.epidem.2009.11.002](https://doi.org/10.1016/j.epidem.2009.11.002)
+
+* *"Individual identity and movement networks for disease metapopulations"*, Matt J. Keeling, Leon Danon, Matthew C. Vernon, Thomas A. House Proceedings of the National Academy of Sciences, May 2010, 107 (19) 8866-8870; DOI:[10.1073/pnas.1000416107](https://doi.org/10.1073/pnas.1000416107)
+
+In this model, the population is divided into electoral wards. Disease transmission between wards occurs via the daily movement of individuals. For each ward, individuals contribute to the *force of infection* (FOI) in their *home* ward during the night, and their *work* ward during the day.
+
+This model was recently adapted to model CoVID-19 transmission in England and Wales, with result of the original C code published here;
+
+* *"A spatial model of CoVID-19 transmission in England and Wales: early spread and peak timing"*, Leon Danon, Ellen Brooks-Pollock, Mick Bailey, Matt J Keeling, Philosophical Transactions of the Royal Society B, 376(1829); DOI:[10.1098/rstb.2020.0272](https://doi.org/10.1098/rstb.2020.0272)
+
+This Python code is a port which can identically reproduce the outputs from the original C code as used in that work. This Python code has been optimised and parallelised, with additional testing added to ensure that development and scale-up of MetaWards has been robustly and efficiently conducted.
+
+## Program Info
+
+The package makes heavy use of [cython](https://cython.org) which is used with [OpenMP](https://openmp.org) to compile bottleneck parts of the code to parallelised C. This enables this Python port to run at approximately the same speed as the original C program on one core, and to run several times faster across multiple cores.
+
+The program compiles on any system that has a working C compiler that supports OpenMP, and a working Python >= 3.7. This include X86-64 and ARM64 servers.
+
+The software supports running over a cluster using MPI (via [mpi4py](https://mpi4py.readthedocs.io/en/stable/)) or via simple networking (via [scoop](http://scoop.readthedocs.io)).
+
+Full instructions on how to use the program, plus example job submission scripts can be found on the [project website](https://metawards.org).
+
+## Installation
+
+[Full installation instructions are here](https://metawards.org/install.html).
+
+Binary packages are uploaded to [pypi](https://pypi.python.org/pypi/metawards) for Windows, OS X and Linux (manylinux). The easiest way to install is to type in the console:
+
+```
+pip install metawards
+```
+
+(this assumes that you have pip installed and are using Python 3.7 or above - if this doesn't work please follow the [full installation instructions](https://metawards.org/install.html)).
+
+Alternatively, you can also install from within R (or RStudio) by typing;
+
+```
+library(devtools)
+install_github("metawards/rpkg")
+metawards::py_install_metawards()
+```
+
+But, as you are here, I guess you want to install the latest code from GitHub ;-)
+
+To do that, first clone and install the requirements;
+
+```
+git clone https://github.com/metawards/MetaWards
+cd MetaWards
+pip install -r requirements.txt
+pip install -r requirements-dev.txt
+```
+
+Next, you can make using the standard Python setup.py script route.
+
+```
+CYTHONIZE=1 python setup.py build
+CYTHONIZE=1 python setup.py install
+```
+
+Alternatively, you can also use the makefile, e.g.
+
+```
+make
+make install
+```
+
+(assuming that `python` is version 3.7 or above)
+
+You can run tests using pytest, e.g.
+
+```
+METAWARDSDATA="/path/to/MetaWardsData" pytest tests
+```
+
+or you can type
+
+```
+make test
+```
+
+You can generate the docs using
+
+```
+make doc
+```
+
+## Running
+
+* [A quick start guide is here](https://metawards.org/quickstart)
+* [A complete tutorial is here](https://metawards.org/tutorial)
+* [Full usage instructions are here](https://metawards.org/usage.html)
+
+You can either load and use the Python classes directly, or you can run the `metawards` front-end command line program that is automatically installed.
+
+```
+metawards --help
+```
+
+will print out all of the help for the program.
+
+### Running an ensemble
+
+This program supports parallel running of an ensemble of jobs using [multiprocessing](https://docs.python.org/3.7/library/multiprocessing.html) for single-node jobs, and [mpi4py](https://mpi4py.readthedocs.io/en/stable/) or [scoop](http://scoop.readthedocs.io) for multi-node cluster jobs.
+
+Note that mpi4py and scoop are not installed by default, so you will need to install them before you run on a cluster (e.g. `pip install mpi4py` or `pip install scoop`).
+
+[Full instructions for running on a cluster are here](https://metawards.org/cluster_usage.html)
+
+## History
+
+This is a Python port of the [MetaWards](https://github.com/ldanon/MetaWards) package originally written by Leon Danon. This port has been performed with Leon's support by the [Bristol Research Software Engineering Group](https://www.bristol.ac.uk/acrc/research-software-engineering).
+
+
+
+
+%package -n python3-metawards
+Summary: MetaWards disease metapopulation modelling
+Provides: python-metawards
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+BuildRequires: python3-cffi
+BuildRequires: gcc
+BuildRequires: gdb
+%description -n python3-metawards
+# MetaWards
+
+[![Build status](https://github.com/metawards/MetaWards/workflows/Build/badge.svg)](https://github.com/metawards/MetaWards/actions?query=workflow%3ABuild) [![PyPI version](https://badge.fury.io/py/metawards.svg)](https://pypi.python.org/pypi/metawards) [![Downloads](https://pepy.tech/badge/metawards)](https://pepy.tech/project/metawards) [![DOI](https://joss.theoj.org/papers/10.21105/joss.03914/status.svg)](https://doi.org/10.21105/joss.03914) [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.5562737.svg)](https://doi.org/10.5281/zenodo.5562737)
+
+* For the most accurate and up to date information please [visit the project website](https://metawards.org).
+* For an overview of features please [visit the features page](https://metawards.org/features).
+* Please take a read of our [Journal of Open Source Software paper](https://joss.theoj.org/papers/10.21105/joss.03914)
+* Please cite according to the CITATION.cff file in this repo.
+
+## Scientific Background
+
+MetaWards implements a stochastic metapopulation model of disease transmission. It can scale from modelling local transmission up to full national- or international-scale metapopulation models.
+
+Please follow the [quick start guide](https://metawards.org/quickstart) to see how to quickly get up and running using MetaWards to model your own custom disease or metapopulation model.
+
+It is was originally developed to support modelling of disease transmission in Great Britain. The complete model description and the original C code are described here;
+
+* *"The role of routine versus random movements on the spread of disease in Great Britain"*, Leon Danon, Thomas House, Matt J. Keeling, Epidemics, December 2009, 1 (4), 250-258; DOI:[10.1016/j.epidem.2009.11.002](https://doi.org/10.1016/j.epidem.2009.11.002)
+
+* *"Individual identity and movement networks for disease metapopulations"*, Matt J. Keeling, Leon Danon, Matthew C. Vernon, Thomas A. House Proceedings of the National Academy of Sciences, May 2010, 107 (19) 8866-8870; DOI:[10.1073/pnas.1000416107](https://doi.org/10.1073/pnas.1000416107)
+
+In this model, the population is divided into electoral wards. Disease transmission between wards occurs via the daily movement of individuals. For each ward, individuals contribute to the *force of infection* (FOI) in their *home* ward during the night, and their *work* ward during the day.
+
+This model was recently adapted to model CoVID-19 transmission in England and Wales, with result of the original C code published here;
+
+* *"A spatial model of CoVID-19 transmission in England and Wales: early spread and peak timing"*, Leon Danon, Ellen Brooks-Pollock, Mick Bailey, Matt J Keeling, Philosophical Transactions of the Royal Society B, 376(1829); DOI:[10.1098/rstb.2020.0272](https://doi.org/10.1098/rstb.2020.0272)
+
+This Python code is a port which can identically reproduce the outputs from the original C code as used in that work. This Python code has been optimised and parallelised, with additional testing added to ensure that development and scale-up of MetaWards has been robustly and efficiently conducted.
+
+## Program Info
+
+The package makes heavy use of [cython](https://cython.org) which is used with [OpenMP](https://openmp.org) to compile bottleneck parts of the code to parallelised C. This enables this Python port to run at approximately the same speed as the original C program on one core, and to run several times faster across multiple cores.
+
+The program compiles on any system that has a working C compiler that supports OpenMP, and a working Python >= 3.7. This include X86-64 and ARM64 servers.
+
+The software supports running over a cluster using MPI (via [mpi4py](https://mpi4py.readthedocs.io/en/stable/)) or via simple networking (via [scoop](http://scoop.readthedocs.io)).
+
+Full instructions on how to use the program, plus example job submission scripts can be found on the [project website](https://metawards.org).
+
+## Installation
+
+[Full installation instructions are here](https://metawards.org/install.html).
+
+Binary packages are uploaded to [pypi](https://pypi.python.org/pypi/metawards) for Windows, OS X and Linux (manylinux). The easiest way to install is to type in the console:
+
+```
+pip install metawards
+```
+
+(this assumes that you have pip installed and are using Python 3.7 or above - if this doesn't work please follow the [full installation instructions](https://metawards.org/install.html)).
+
+Alternatively, you can also install from within R (or RStudio) by typing;
+
+```
+library(devtools)
+install_github("metawards/rpkg")
+metawards::py_install_metawards()
+```
+
+But, as you are here, I guess you want to install the latest code from GitHub ;-)
+
+To do that, first clone and install the requirements;
+
+```
+git clone https://github.com/metawards/MetaWards
+cd MetaWards
+pip install -r requirements.txt
+pip install -r requirements-dev.txt
+```
+
+Next, you can make using the standard Python setup.py script route.
+
+```
+CYTHONIZE=1 python setup.py build
+CYTHONIZE=1 python setup.py install
+```
+
+Alternatively, you can also use the makefile, e.g.
+
+```
+make
+make install
+```
+
+(assuming that `python` is version 3.7 or above)
+
+You can run tests using pytest, e.g.
+
+```
+METAWARDSDATA="/path/to/MetaWardsData" pytest tests
+```
+
+or you can type
+
+```
+make test
+```
+
+You can generate the docs using
+
+```
+make doc
+```
+
+## Running
+
+* [A quick start guide is here](https://metawards.org/quickstart)
+* [A complete tutorial is here](https://metawards.org/tutorial)
+* [Full usage instructions are here](https://metawards.org/usage.html)
+
+You can either load and use the Python classes directly, or you can run the `metawards` front-end command line program that is automatically installed.
+
+```
+metawards --help
+```
+
+will print out all of the help for the program.
+
+### Running an ensemble
+
+This program supports parallel running of an ensemble of jobs using [multiprocessing](https://docs.python.org/3.7/library/multiprocessing.html) for single-node jobs, and [mpi4py](https://mpi4py.readthedocs.io/en/stable/) or [scoop](http://scoop.readthedocs.io) for multi-node cluster jobs.
+
+Note that mpi4py and scoop are not installed by default, so you will need to install them before you run on a cluster (e.g. `pip install mpi4py` or `pip install scoop`).
+
+[Full instructions for running on a cluster are here](https://metawards.org/cluster_usage.html)
+
+## History
+
+This is a Python port of the [MetaWards](https://github.com/ldanon/MetaWards) package originally written by Leon Danon. This port has been performed with Leon's support by the [Bristol Research Software Engineering Group](https://www.bristol.ac.uk/acrc/research-software-engineering).
+
+
+
+
+%package help
+Summary: Development documents and examples for metawards
+Provides: python3-metawards-doc
+%description help
+# MetaWards
+
+[![Build status](https://github.com/metawards/MetaWards/workflows/Build/badge.svg)](https://github.com/metawards/MetaWards/actions?query=workflow%3ABuild) [![PyPI version](https://badge.fury.io/py/metawards.svg)](https://pypi.python.org/pypi/metawards) [![Downloads](https://pepy.tech/badge/metawards)](https://pepy.tech/project/metawards) [![DOI](https://joss.theoj.org/papers/10.21105/joss.03914/status.svg)](https://doi.org/10.21105/joss.03914) [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.5562737.svg)](https://doi.org/10.5281/zenodo.5562737)
+
+* For the most accurate and up to date information please [visit the project website](https://metawards.org).
+* For an overview of features please [visit the features page](https://metawards.org/features).
+* Please take a read of our [Journal of Open Source Software paper](https://joss.theoj.org/papers/10.21105/joss.03914)
+* Please cite according to the CITATION.cff file in this repo.
+
+## Scientific Background
+
+MetaWards implements a stochastic metapopulation model of disease transmission. It can scale from modelling local transmission up to full national- or international-scale metapopulation models.
+
+Please follow the [quick start guide](https://metawards.org/quickstart) to see how to quickly get up and running using MetaWards to model your own custom disease or metapopulation model.
+
+It is was originally developed to support modelling of disease transmission in Great Britain. The complete model description and the original C code are described here;
+
+* *"The role of routine versus random movements on the spread of disease in Great Britain"*, Leon Danon, Thomas House, Matt J. Keeling, Epidemics, December 2009, 1 (4), 250-258; DOI:[10.1016/j.epidem.2009.11.002](https://doi.org/10.1016/j.epidem.2009.11.002)
+
+* *"Individual identity and movement networks for disease metapopulations"*, Matt J. Keeling, Leon Danon, Matthew C. Vernon, Thomas A. House Proceedings of the National Academy of Sciences, May 2010, 107 (19) 8866-8870; DOI:[10.1073/pnas.1000416107](https://doi.org/10.1073/pnas.1000416107)
+
+In this model, the population is divided into electoral wards. Disease transmission between wards occurs via the daily movement of individuals. For each ward, individuals contribute to the *force of infection* (FOI) in their *home* ward during the night, and their *work* ward during the day.
+
+This model was recently adapted to model CoVID-19 transmission in England and Wales, with result of the original C code published here;
+
+* *"A spatial model of CoVID-19 transmission in England and Wales: early spread and peak timing"*, Leon Danon, Ellen Brooks-Pollock, Mick Bailey, Matt J Keeling, Philosophical Transactions of the Royal Society B, 376(1829); DOI:[10.1098/rstb.2020.0272](https://doi.org/10.1098/rstb.2020.0272)
+
+This Python code is a port which can identically reproduce the outputs from the original C code as used in that work. This Python code has been optimised and parallelised, with additional testing added to ensure that development and scale-up of MetaWards has been robustly and efficiently conducted.
+
+## Program Info
+
+The package makes heavy use of [cython](https://cython.org) which is used with [OpenMP](https://openmp.org) to compile bottleneck parts of the code to parallelised C. This enables this Python port to run at approximately the same speed as the original C program on one core, and to run several times faster across multiple cores.
+
+The program compiles on any system that has a working C compiler that supports OpenMP, and a working Python >= 3.7. This include X86-64 and ARM64 servers.
+
+The software supports running over a cluster using MPI (via [mpi4py](https://mpi4py.readthedocs.io/en/stable/)) or via simple networking (via [scoop](http://scoop.readthedocs.io)).
+
+Full instructions on how to use the program, plus example job submission scripts can be found on the [project website](https://metawards.org).
+
+## Installation
+
+[Full installation instructions are here](https://metawards.org/install.html).
+
+Binary packages are uploaded to [pypi](https://pypi.python.org/pypi/metawards) for Windows, OS X and Linux (manylinux). The easiest way to install is to type in the console:
+
+```
+pip install metawards
+```
+
+(this assumes that you have pip installed and are using Python 3.7 or above - if this doesn't work please follow the [full installation instructions](https://metawards.org/install.html)).
+
+Alternatively, you can also install from within R (or RStudio) by typing;
+
+```
+library(devtools)
+install_github("metawards/rpkg")
+metawards::py_install_metawards()
+```
+
+But, as you are here, I guess you want to install the latest code from GitHub ;-)
+
+To do that, first clone and install the requirements;
+
+```
+git clone https://github.com/metawards/MetaWards
+cd MetaWards
+pip install -r requirements.txt
+pip install -r requirements-dev.txt
+```
+
+Next, you can make using the standard Python setup.py script route.
+
+```
+CYTHONIZE=1 python setup.py build
+CYTHONIZE=1 python setup.py install
+```
+
+Alternatively, you can also use the makefile, e.g.
+
+```
+make
+make install
+```
+
+(assuming that `python` is version 3.7 or above)
+
+You can run tests using pytest, e.g.
+
+```
+METAWARDSDATA="/path/to/MetaWardsData" pytest tests
+```
+
+or you can type
+
+```
+make test
+```
+
+You can generate the docs using
+
+```
+make doc
+```
+
+## Running
+
+* [A quick start guide is here](https://metawards.org/quickstart)
+* [A complete tutorial is here](https://metawards.org/tutorial)
+* [Full usage instructions are here](https://metawards.org/usage.html)
+
+You can either load and use the Python classes directly, or you can run the `metawards` front-end command line program that is automatically installed.
+
+```
+metawards --help
+```
+
+will print out all of the help for the program.
+
+### Running an ensemble
+
+This program supports parallel running of an ensemble of jobs using [multiprocessing](https://docs.python.org/3.7/library/multiprocessing.html) for single-node jobs, and [mpi4py](https://mpi4py.readthedocs.io/en/stable/) or [scoop](http://scoop.readthedocs.io) for multi-node cluster jobs.
+
+Note that mpi4py and scoop are not installed by default, so you will need to install them before you run on a cluster (e.g. `pip install mpi4py` or `pip install scoop`).
+
+[Full instructions for running on a cluster are here](https://metawards.org/cluster_usage.html)
+
+## History
+
+This is a Python port of the [MetaWards](https://github.com/ldanon/MetaWards) package originally written by Leon Danon. This port has been performed with Leon's support by the [Bristol Research Software Engineering Group](https://www.bristol.ac.uk/acrc/research-software-engineering).
+
+
+
+
+%prep
+%autosetup -n metawards-1.6.2
+
+%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-metawards -f filelist.lst
+%dir %{python3_sitearch}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Mon May 15 2023 Python_Bot <Python_Bot@openeuler.org> - 1.6.2-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..943adff
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+6d54ee8204c7ffe0d2493222037ab73f metawards-1.6.2.tar.gz