diff options
Diffstat (limited to 'python-pywps.spec')
| -rw-r--r-- | python-pywps.spec | 375 |
1 files changed, 375 insertions, 0 deletions
diff --git a/python-pywps.spec b/python-pywps.spec new file mode 100644 index 0000000..261c412 --- /dev/null +++ b/python-pywps.spec @@ -0,0 +1,375 @@ +%global _empty_manifest_terminate_build 0 +Name: python-pywps +Version: 4.5.2 +Release: 1 +Summary: PyWPS is an implementation of the Web Processing Service standard from the Open Geospatial Consortium. PyWPS is written in Python. +License: MIT +URL: https://pywps.org +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/32/a8/3a4213db6e4c822e8750af4407cf9c07b1047941739a1b5ec5441c24cc95/pywps-4.5.2.tar.gz +BuildArch: noarch + + +%description +# PyWPS + +PyWPS is an implementation of the Web Processing Service standard from +the Open Geospatial Consortium. PyWPS is written in Python. + +[](https://pywps.readthedocs.io/en/latest/?badge=latest) +[](https://github.com/geopython/pywps/actions/workflows/main.yml) +[](https://coveralls.io/github/geopython/pywps?branch=main) +[](https://pypi.org/project/pywps/) +[]() + +[](https://gitter.im/geopython/pywps?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) + +# License + +As of PyWPS 4.0.0, PyWPS is released under an +[MIT](https://en.wikipedia.org/wiki/MIT_License) license +(see [LICENSE.txt](LICENSE.txt)). + +# Dependencies + +See [requirements.txt](requirements.txt) file + +# Run tests + +```bash +pip install -r requirements-dev.txt +# run unit tests +python -m pytest tests +# run code coverage +python -m coverage run --source=pywps -m unittest tests +python -m coverage report -m +``` + +# Run web application + +## Example service + +Clone the example service after having installed PyWPS: + +```bash +git clone git://github.com/geopython/pywps-flask.git pywps-flask +cd pywps-flask +python demo.py +``` + +## Apache configuration + +1. Enable WSGI extension + +2. Add configuration: + + ```apache + WSGIDaemonProcess pywps user=user group=group processes=2 threads=5 + WSGIScriptAlias /pywps /path/to/www/htdocs/wps/pywps.wsgi + + <Directory /path/to/www/htdocs/wps/> + WSGIProcessGroup group + WSGIApplicationGroup %{GLOBAL} + Order deny,allow + Allow from all + </Directory> + ``` + +3. Create wsgi file: + + ```python + #!/usr/bin/env python3 + import sys + sys.path.append('/path/to/src/pywps/') + + import pywps + from pywps.app import Service, WPS, Process + + def pr1(): + """This is the execute method of the process + """ + pass + + + application = Service(processes=[Process(pr1)]) + ``` + +4. Run via web browser + + `http://localhost/pywps/?service=WPS&request=GetCapabilities&version=1.0.0` + +5. Run in command line: + + ```bash + curl 'http://localhost/pywps/?service=WPS&request=GetCapabilities&version=1.0.0' + ``` + + +# Issues + +On Windows PyWPS does not support multiprocessing which is used when making +requests storing the response document and updating the status to displaying +to the user the progression of a process. + + + + +%package -n python3-pywps +Summary: PyWPS is an implementation of the Web Processing Service standard from the Open Geospatial Consortium. PyWPS is written in Python. +Provides: python-pywps +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-pywps +# PyWPS + +PyWPS is an implementation of the Web Processing Service standard from +the Open Geospatial Consortium. PyWPS is written in Python. + +[](https://pywps.readthedocs.io/en/latest/?badge=latest) +[](https://github.com/geopython/pywps/actions/workflows/main.yml) +[](https://coveralls.io/github/geopython/pywps?branch=main) +[](https://pypi.org/project/pywps/) +[]() + +[](https://gitter.im/geopython/pywps?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) + +# License + +As of PyWPS 4.0.0, PyWPS is released under an +[MIT](https://en.wikipedia.org/wiki/MIT_License) license +(see [LICENSE.txt](LICENSE.txt)). + +# Dependencies + +See [requirements.txt](requirements.txt) file + +# Run tests + +```bash +pip install -r requirements-dev.txt +# run unit tests +python -m pytest tests +# run code coverage +python -m coverage run --source=pywps -m unittest tests +python -m coverage report -m +``` + +# Run web application + +## Example service + +Clone the example service after having installed PyWPS: + +```bash +git clone git://github.com/geopython/pywps-flask.git pywps-flask +cd pywps-flask +python demo.py +``` + +## Apache configuration + +1. Enable WSGI extension + +2. Add configuration: + + ```apache + WSGIDaemonProcess pywps user=user group=group processes=2 threads=5 + WSGIScriptAlias /pywps /path/to/www/htdocs/wps/pywps.wsgi + + <Directory /path/to/www/htdocs/wps/> + WSGIProcessGroup group + WSGIApplicationGroup %{GLOBAL} + Order deny,allow + Allow from all + </Directory> + ``` + +3. Create wsgi file: + + ```python + #!/usr/bin/env python3 + import sys + sys.path.append('/path/to/src/pywps/') + + import pywps + from pywps.app import Service, WPS, Process + + def pr1(): + """This is the execute method of the process + """ + pass + + + application = Service(processes=[Process(pr1)]) + ``` + +4. Run via web browser + + `http://localhost/pywps/?service=WPS&request=GetCapabilities&version=1.0.0` + +5. Run in command line: + + ```bash + curl 'http://localhost/pywps/?service=WPS&request=GetCapabilities&version=1.0.0' + ``` + + +# Issues + +On Windows PyWPS does not support multiprocessing which is used when making +requests storing the response document and updating the status to displaying +to the user the progression of a process. + + + + +%package help +Summary: Development documents and examples for pywps +Provides: python3-pywps-doc +%description help +# PyWPS + +PyWPS is an implementation of the Web Processing Service standard from +the Open Geospatial Consortium. PyWPS is written in Python. + +[](https://pywps.readthedocs.io/en/latest/?badge=latest) +[](https://github.com/geopython/pywps/actions/workflows/main.yml) +[](https://coveralls.io/github/geopython/pywps?branch=main) +[](https://pypi.org/project/pywps/) +[]() + +[](https://gitter.im/geopython/pywps?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) + +# License + +As of PyWPS 4.0.0, PyWPS is released under an +[MIT](https://en.wikipedia.org/wiki/MIT_License) license +(see [LICENSE.txt](LICENSE.txt)). + +# Dependencies + +See [requirements.txt](requirements.txt) file + +# Run tests + +```bash +pip install -r requirements-dev.txt +# run unit tests +python -m pytest tests +# run code coverage +python -m coverage run --source=pywps -m unittest tests +python -m coverage report -m +``` + +# Run web application + +## Example service + +Clone the example service after having installed PyWPS: + +```bash +git clone git://github.com/geopython/pywps-flask.git pywps-flask +cd pywps-flask +python demo.py +``` + +## Apache configuration + +1. Enable WSGI extension + +2. Add configuration: + + ```apache + WSGIDaemonProcess pywps user=user group=group processes=2 threads=5 + WSGIScriptAlias /pywps /path/to/www/htdocs/wps/pywps.wsgi + + <Directory /path/to/www/htdocs/wps/> + WSGIProcessGroup group + WSGIApplicationGroup %{GLOBAL} + Order deny,allow + Allow from all + </Directory> + ``` + +3. Create wsgi file: + + ```python + #!/usr/bin/env python3 + import sys + sys.path.append('/path/to/src/pywps/') + + import pywps + from pywps.app import Service, WPS, Process + + def pr1(): + """This is the execute method of the process + """ + pass + + + application = Service(processes=[Process(pr1)]) + ``` + +4. Run via web browser + + `http://localhost/pywps/?service=WPS&request=GetCapabilities&version=1.0.0` + +5. Run in command line: + + ```bash + curl 'http://localhost/pywps/?service=WPS&request=GetCapabilities&version=1.0.0' + ``` + + +# Issues + +On Windows PyWPS does not support multiprocessing which is used when making +requests storing the response document and updating the status to displaying +to the user the progression of a process. + + + + +%prep +%autosetup -n pywps-4.5.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-pywps -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Wed May 10 2023 Python_Bot <Python_Bot@openeuler.org> - 4.5.2-1 +- Package Spec generated |
