%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.aliyun.com/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 * Thu Jun 08 2023 Python_Bot - 1.6.2-1 - Package Spec generated