SlideShare una empresa de Scribd logo
1 de 33
Descargar para leer sin conexión
PyWPS 4
Development restart
Jáchym ˇCepický1
1http://les-ejk.cz
Geoinformatics, Prague 2013
TOC
1 PyWPS
2 PyWPS 4
PyWPS
OGC WPS on the Server
Since 2006
Python
http://pywps.wald.intevation.org
http://github.org/geopython/pywps
PyWPS - what it is NOT
PyWPS is no analytical tool or engine. It does not perform
any type of geospatial calculation.
PyWPS is not special XML parser or generator. It does not
validate your GMLs against given schemas (yet), it does
not build GML from Python objects.
It is not complicated
PyWPS - what it is NOT
PyWPS is no analytical tool or engine. It does not perform
any type of geospatial calculation.
PyWPS is not special XML parser or generator. It does not
validate your GMLs against given schemas (yet), it does
not build GML from Python objects.
It is not complicated
PyWPS - what it is NOT
PyWPS is no analytical tool or engine. It does not perform
any type of geospatial calculation.
PyWPS is not special XML parser or generator. It does not
validate your GMLs against given schemas (yet), it does
not build GML from Python objects.
It is not complicated
Keywords
Keywords
rather bike, then a car
Keywords
#small
Keywords
#modular
Keywords
#fast
Keywords
#easy
Keywords
#slick
Keywords
#accessories (GRASS, GDAL, Shapely, #python)
PyWPS 4
Started from scratch
Use Python 2.7 (for future 3.0 migration)
Try different interpreters of Python (pypy)
Easy parsing with lxml
Prepare for next WPS version
Change of the whole process concept
PyWPS 4
Started from scratch
Use Python 2.7 (for future 3.0 migration)
Try different interpreters of Python (pypy)
Easy parsing with lxml
Prepare for next WPS version
Change of the whole process concept
PyWPS 4
Started from scratch
Use Python 2.7 (for future 3.0 migration)
Try different interpreters of Python (pypy)
Easy parsing with lxml
Prepare for next WPS version
Change of the whole process concept
PyWPS 4
Started from scratch
Use Python 2.7 (for future 3.0 migration)
Try different interpreters of Python (pypy)
Easy parsing with lxml
Prepare for next WPS version
Change of the whole process concept
PyWPS 4
Started from scratch
Use Python 2.7 (for future 3.0 migration)
Try different interpreters of Python (pypy)
Easy parsing with lxml
Prepare for next WPS version
Change of the whole process concept
PyWPS 4
Started from scratch
Use Python 2.7 (for future 3.0 migration)
Try different interpreters of Python (pypy)
Easy parsing with lxml
Prepare for next WPS version
Change of the whole process concept
PyWPS 4
Started from scratch
Use Python 2.7 (for future 3.0 migration)
Try different interpreters of Python (pypy)
Easy parsing with lxml
Prepare for next WPS version
Change of the whole process concept
PyWPS 4
#geopython 2006
PyWPS 4
#geopython 2013
lxml http://lxml.org
GRASS-WPS, GRASS-Python
Werkzeug http://werkzeug.pocoo.org/
Python 3
Django
. . .
Process definition in PyWPS 3
class Buffer (WPSProcess ) :
def __init__ ( s e l f ) :
WPSProcess . __init__ ( self , i d e n t i f i e r =" buffe
s e l f . addComplexInput ( i d e n t i f i e r =" input " , . .
. . .
s e l f . addLiteralOutpu ( i d e n t i f i e r =" input " , . .
. . .
def execute ( s e l f ) :
. . .
return
Process definition in PyWPS 4 (proposal)
2-level APIs
Providing the low-level API (integration with GRASS,
writing a compatibility api for PyWPS-3, and defining a
bunch of processes programatically if the user needs that.
The process is just a callable
Inspired by Django
Upper-level API for easy user-written processes
PyWPS 4 - upper-level
class Buffer ( pywps . Process ) :
class Input :
distance = pywps . L i t e r a l ( value_type=pywps . F
layer = pywps . Complex ( a s _ f i l e =True , max_occ
class Output :
feature_count = pywps . L i t e r a l ( value_type=pyw
fortune = pywps . L i t e r a l ( value_type
def execute ( s e l f ) :
. . .
PyWPS 4 - low-level
def make_buffer ( request ) :
. . .
make_buffer_process = pywps . create_process (
i d e n t i f i e r = ’ makebuffer ’ , t i t l e = . . .
inputs =[
pywps . L i t e r a l ( i d e n t i f i e r = ’ distance ’ , value_
pywps . BoundingBox ( i d e n t i f i e r = ’ c l i p ’ ) ,
] ,
outputs =[
pywps . L i t e r a l ( i d e n t i f i e r = ’ feature_count ’ , v
pywps . L i t e r a l ( i d e n t i f i e r = ’ fortune ’ , value_ty
] ,
handler=make_buffer )
make_buffer_process ( )
Where, what, how, who?
http://github.org/jachym/pywps-4
Tests, Basic request parsing, process definition, . . .
Alex Morega @mgax, Jorge de Jesus, Jachym Cepicky
http://lists.osgeo.org/cgi-bin/mailman/
listinfo/pywps-dev
Where, what, how, who?
http://github.org/jachym/pywps-4
Tests, Basic request parsing, process definition, . . .
Alex Morega @mgax, Jorge de Jesus, Jachym Cepicky
http://lists.osgeo.org/cgi-bin/mailman/
listinfo/pywps-dev
Where, what, how, who?
http://github.org/jachym/pywps-4
Tests, Basic request parsing, process definition, . . .
Alex Morega @mgax, Jorge de Jesus, Jachym Cepicky
http://lists.osgeo.org/cgi-bin/mailman/
listinfo/pywps-dev
Where, what, how, who?
http://github.org/jachym/pywps-4
Tests, Basic request parsing, process definition, . . .
Alex Morega @mgax, Jorge de Jesus, Jachym Cepicky
http://lists.osgeo.org/cgi-bin/mailman/
listinfo/pywps-dev
thank you!
jachym@les-ejk.cz
http://github.org/jachym/pywps-4
questions?

Más contenido relacionado

La actualidad más candente

50 new things we can do with Java 8
50 new things we can do with Java 850 new things we can do with Java 8
50 new things we can do with Java 8José Paumard
 
Asynchronous JavaScript and Promises
Asynchronous JavaScript and Promises Asynchronous JavaScript and Promises
Asynchronous JavaScript and Promises Senthil Kumar
 
Commit ускоривший python 2.7.11 на 30% и новое в python 3.5
Commit ускоривший python 2.7.11 на 30% и новое в python 3.5Commit ускоривший python 2.7.11 на 30% и новое в python 3.5
Commit ускоривший python 2.7.11 на 30% и новое в python 3.5PyNSK
 
jimmy hacking (at) Microsoft
jimmy hacking (at) Microsoftjimmy hacking (at) Microsoft
jimmy hacking (at) MicrosoftJimmy Schementi
 
Python 3000
Python 3000Python 3000
Python 3000Bob Chao
 
Practicing Python 3
Practicing Python 3Practicing Python 3
Practicing Python 3Mosky Liu
 
Stetl for INSPIRE Data Transformation
Stetl for INSPIRE Data TransformationStetl for INSPIRE Data Transformation
Stetl for INSPIRE Data TransformationJust van den Broecke
 
Bind Python and C @ COSCUP 2015
Bind Python and C @ COSCUP 2015Bind Python and C @ COSCUP 2015
Bind Python and C @ COSCUP 2015Jian-Hong Pan
 
Learning Git with Workflows
Learning Git with WorkflowsLearning Git with Workflows
Learning Git with WorkflowsMosky Liu
 
Geospatial ETL with Stetl - GeoPython 2016
Geospatial ETL with Stetl - GeoPython 2016Geospatial ETL with Stetl - GeoPython 2016
Geospatial ETL with Stetl - GeoPython 2016Just van den Broecke
 
Infecting Python Bytecode
Infecting Python BytecodeInfecting Python Bytecode
Infecting Python BytecodeIftach Ian Amit
 
Taming Rich GML with Stetl - FOSS4G 2013 Nottingham
Taming Rich GML with Stetl - FOSS4G 2013 NottinghamTaming Rich GML with Stetl - FOSS4G 2013 Nottingham
Taming Rich GML with Stetl - FOSS4G 2013 NottinghamJust van den Broecke
 
KafNafParserPy: a python library for parsing/creating KAF and NAF files
KafNafParserPy: a python library for parsing/creating KAF and NAF filesKafNafParserPy: a python library for parsing/creating KAF and NAF files
KafNafParserPy: a python library for parsing/creating KAF and NAF filesRubén Izquierdo Beviá
 
Luigi Presentation at OSCON 2013
Luigi Presentation at OSCON 2013Luigi Presentation at OSCON 2013
Luigi Presentation at OSCON 2013Erik Bernhardsson
 
Go Concurrency Basics
Go Concurrency Basics Go Concurrency Basics
Go Concurrency Basics ElifTech
 

La actualidad más candente (20)

Qt Translations
Qt TranslationsQt Translations
Qt Translations
 
50 new things we can do with Java 8
50 new things we can do with Java 850 new things we can do with Java 8
50 new things we can do with Java 8
 
Asynchronous JavaScript and Promises
Asynchronous JavaScript and Promises Asynchronous JavaScript and Promises
Asynchronous JavaScript and Promises
 
Commit ускоривший python 2.7.11 на 30% и новое в python 3.5
Commit ускоривший python 2.7.11 на 30% и новое в python 3.5Commit ускоривший python 2.7.11 на 30% и новое в python 3.5
Commit ускоривший python 2.7.11 на 30% и новое в python 3.5
 
jimmy hacking (at) Microsoft
jimmy hacking (at) Microsoftjimmy hacking (at) Microsoft
jimmy hacking (at) Microsoft
 
Python 3000
Python 3000Python 3000
Python 3000
 
Practicing Python 3
Practicing Python 3Practicing Python 3
Practicing Python 3
 
Stetl for INSPIRE Data Transformation
Stetl for INSPIRE Data TransformationStetl for INSPIRE Data Transformation
Stetl for INSPIRE Data Transformation
 
Intro to Pig UDF
Intro to Pig UDFIntro to Pig UDF
Intro to Pig UDF
 
Bind Python and C @ COSCUP 2015
Bind Python and C @ COSCUP 2015Bind Python and C @ COSCUP 2015
Bind Python and C @ COSCUP 2015
 
Learning Git with Workflows
Learning Git with WorkflowsLearning Git with Workflows
Learning Git with Workflows
 
Geospatial ETL with Stetl - GeoPython 2016
Geospatial ETL with Stetl - GeoPython 2016Geospatial ETL with Stetl - GeoPython 2016
Geospatial ETL with Stetl - GeoPython 2016
 
Infecting Python Bytecode
Infecting Python BytecodeInfecting Python Bytecode
Infecting Python Bytecode
 
Defer, Panic, Recover
Defer, Panic, RecoverDefer, Panic, Recover
Defer, Panic, Recover
 
Taming Rich GML with Stetl - FOSS4G 2013 Nottingham
Taming Rich GML with Stetl - FOSS4G 2013 NottinghamTaming Rich GML with Stetl - FOSS4G 2013 Nottingham
Taming Rich GML with Stetl - FOSS4G 2013 Nottingham
 
KafNafParserPy: a python library for parsing/creating KAF and NAF files
KafNafParserPy: a python library for parsing/creating KAF and NAF filesKafNafParserPy: a python library for parsing/creating KAF and NAF files
KafNafParserPy: a python library for parsing/creating KAF and NAF files
 
Luigi Presentation at OSCON 2013
Luigi Presentation at OSCON 2013Luigi Presentation at OSCON 2013
Luigi Presentation at OSCON 2013
 
5 Minute Intro to Stetl
5 Minute Intro to Stetl5 Minute Intro to Stetl
5 Minute Intro to Stetl
 
Functions
FunctionsFunctions
Functions
 
Go Concurrency Basics
Go Concurrency Basics Go Concurrency Basics
Go Concurrency Basics
 

Destacado

Capitulo 1
Capitulo 1Capitulo 1
Capitulo 1Crhono
 
Secrets of old age in hindi
Secrets of old age in hindi Secrets of old age in hindi
Secrets of old age in hindi nprasannamhindi
 
Wessanen agm 16 april 2013 en final
Wessanen agm 16 april 2013 en finalWessanen agm 16 april 2013 en final
Wessanen agm 16 april 2013 en finalKlaus Arntz
 
Book review
Book reviewBook review
Book reviewmafend86
 
Foundation data collection
Foundation data collectionFoundation data collection
Foundation data collectioncathexis123
 
Safer Internet Ambasadoři
Safer Internet AmbasadořiSafer Internet Ambasadoři
Safer Internet AmbasadořiHonzik Čadek
 
Csp today webinar
Csp today webinarCsp today webinar
Csp today webinarHitReach
 

Destacado (9)

Capitulo 1
Capitulo 1Capitulo 1
Capitulo 1
 
Secrets of old age in hindi
Secrets of old age in hindi Secrets of old age in hindi
Secrets of old age in hindi
 
9
99
9
 
Wessanen agm 16 april 2013 en final
Wessanen agm 16 april 2013 en finalWessanen agm 16 april 2013 en final
Wessanen agm 16 april 2013 en final
 
Del Macroal Micro
Del Macroal MicroDel Macroal Micro
Del Macroal Micro
 
Book review
Book reviewBook review
Book review
 
Foundation data collection
Foundation data collectionFoundation data collection
Foundation data collection
 
Safer Internet Ambasadoři
Safer Internet AmbasadořiSafer Internet Ambasadoři
Safer Internet Ambasadoři
 
Csp today webinar
Csp today webinarCsp today webinar
Csp today webinar
 

Similar a PyWPS Development restart

Business logic with PostgreSQL and Python
Business logic with PostgreSQL and PythonBusiness logic with PostgreSQL and Python
Business logic with PostgreSQL and PythonHubert Piotrowski
 
PyCon 2013 : Scripting to PyPi to GitHub and More
PyCon 2013 : Scripting to PyPi to GitHub and MorePyCon 2013 : Scripting to PyPi to GitHub and More
PyCon 2013 : Scripting to PyPi to GitHub and MoreMatt Harrison
 
Using Flow-based programming to write tools and workflows for Scientific Comp...
Using Flow-based programming to write tools and workflows for Scientific Comp...Using Flow-based programming to write tools and workflows for Scientific Comp...
Using Flow-based programming to write tools and workflows for Scientific Comp...Samuel Lampa
 
MobileConf 2021 Slides: Let's build macOS CLI Utilities using Swift
MobileConf 2021 Slides:  Let's build macOS CLI Utilities using SwiftMobileConf 2021 Slides:  Let's build macOS CLI Utilities using Swift
MobileConf 2021 Slides: Let's build macOS CLI Utilities using SwiftDiego Freniche Brito
 
PyWPS at COST WPS Workshop
PyWPS at COST WPS WorkshopPyWPS at COST WPS Workshop
PyWPS at COST WPS WorkshopJachym Cepicky
 
Pywps a tutorial for beginners and developers
Pywps a tutorial for beginners and developersPywps a tutorial for beginners and developers
Pywps a tutorial for beginners and developersJorge Mendes
 
Euro python2011 High Performance Python
Euro python2011 High Performance PythonEuro python2011 High Performance Python
Euro python2011 High Performance PythonIan Ozsvald
 
Pemrograman Python untuk Pemula
Pemrograman Python untuk PemulaPemrograman Python untuk Pemula
Pemrograman Python untuk PemulaOon Arfiandwi
 
Programming Under Linux In Python
Programming Under Linux In PythonProgramming Under Linux In Python
Programming Under Linux In PythonMarwan Osman
 
PyPy's approach to construct domain-specific language runtime
PyPy's approach to construct domain-specific language runtimePyPy's approach to construct domain-specific language runtime
PyPy's approach to construct domain-specific language runtimeNational Cheng Kung University
 
Python Interview Questions And Answers 2019 | Edureka
Python Interview Questions And Answers 2019 | EdurekaPython Interview Questions And Answers 2019 | Edureka
Python Interview Questions And Answers 2019 | EdurekaEdureka!
 
Tutorial on-python-programming
Tutorial on-python-programmingTutorial on-python-programming
Tutorial on-python-programmingChetan Giridhar
 
Reproducible, Automated and Portable Computational and Data Science Experimen...
Reproducible, Automated and Portable Computational and Data Science Experimen...Reproducible, Automated and Portable Computational and Data Science Experimen...
Reproducible, Automated and Portable Computational and Data Science Experimen...Ivo Jimenez
 
Sour Pickles
Sour PicklesSour Pickles
Sour PicklesSensePost
 

Similar a PyWPS Development restart (20)

Business logic with PostgreSQL and Python
Business logic with PostgreSQL and PythonBusiness logic with PostgreSQL and Python
Business logic with PostgreSQL and Python
 
PyCon 2013 : Scripting to PyPi to GitHub and More
PyCon 2013 : Scripting to PyPi to GitHub and MorePyCon 2013 : Scripting to PyPi to GitHub and More
PyCon 2013 : Scripting to PyPi to GitHub and More
 
Using Flow-based programming to write tools and workflows for Scientific Comp...
Using Flow-based programming to write tools and workflows for Scientific Comp...Using Flow-based programming to write tools and workflows for Scientific Comp...
Using Flow-based programming to write tools and workflows for Scientific Comp...
 
MobileConf 2021 Slides: Let's build macOS CLI Utilities using Swift
MobileConf 2021 Slides:  Let's build macOS CLI Utilities using SwiftMobileConf 2021 Slides:  Let's build macOS CLI Utilities using Swift
MobileConf 2021 Slides: Let's build macOS CLI Utilities using Swift
 
PyWPS at COST WPS Workshop
PyWPS at COST WPS WorkshopPyWPS at COST WPS Workshop
PyWPS at COST WPS Workshop
 
Pywps
PywpsPywps
Pywps
 
Howto argparse
Howto argparseHowto argparse
Howto argparse
 
Pywps a tutorial for beginners and developers
Pywps a tutorial for beginners and developersPywps a tutorial for beginners and developers
Pywps a tutorial for beginners and developers
 
Euro python2011 High Performance Python
Euro python2011 High Performance PythonEuro python2011 High Performance Python
Euro python2011 High Performance Python
 
Pemrograman Python untuk Pemula
Pemrograman Python untuk PemulaPemrograman Python untuk Pemula
Pemrograman Python untuk Pemula
 
Pyhton-1a-Basics.pdf
Pyhton-1a-Basics.pdfPyhton-1a-Basics.pdf
Pyhton-1a-Basics.pdf
 
Programming Under Linux In Python
Programming Under Linux In PythonProgramming Under Linux In Python
Programming Under Linux In Python
 
PyPy's approach to construct domain-specific language runtime
PyPy's approach to construct domain-specific language runtimePyPy's approach to construct domain-specific language runtime
PyPy's approach to construct domain-specific language runtime
 
Python Interview Questions And Answers 2019 | Edureka
Python Interview Questions And Answers 2019 | EdurekaPython Interview Questions And Answers 2019 | Edureka
Python Interview Questions And Answers 2019 | Edureka
 
C pythontalk
C pythontalkC pythontalk
C pythontalk
 
Tutorial on-python-programming
Tutorial on-python-programmingTutorial on-python-programming
Tutorial on-python-programming
 
Reproducible, Automated and Portable Computational and Data Science Experimen...
Reproducible, Automated and Portable Computational and Data Science Experimen...Reproducible, Automated and Portable Computational and Data Science Experimen...
Reproducible, Automated and Portable Computational and Data Science Experimen...
 
Python Tutorial for Beginner
Python Tutorial for BeginnerPython Tutorial for Beginner
Python Tutorial for Beginner
 
Sour Pickles
Sour PicklesSour Pickles
Sour Pickles
 
Puppi. Puppet strings to the shell
Puppi. Puppet strings to the shellPuppi. Puppet strings to the shell
Puppi. Puppet strings to the shell
 

Más de Jachym Cepicky

Python testing-frameworks overview
Python testing-frameworks overviewPython testing-frameworks overview
Python testing-frameworks overviewJachym Cepicky
 
What is the price of open source
What is the price of open sourceWhat is the price of open source
What is the price of open sourceJachym Cepicky
 
Testing web application with Python
Testing web application with PythonTesting web application with Python
Testing web application with PythonJachym Cepicky
 
Danube hack 2015 - Open (-data, -communities)
Danube hack 2015 - Open (-data, -communities)Danube hack 2015 - Open (-data, -communities)
Danube hack 2015 - Open (-data, -communities)Jachym Cepicky
 
Push it through the wire
Push it through the wirePush it through the wire
Push it through the wireJachym Cepicky
 
How Prague is opening data
How Prague is opening dataHow Prague is opening data
How Prague is opening dataJachym Cepicky
 
Webgis, Cloud computing, OGC OWS
Webgis, Cloud computing, OGC OWSWebgis, Cloud computing, OGC OWS
Webgis, Cloud computing, OGC OWSJachym Cepicky
 
Co může udělat vaše firma pro open source
Co může udělat vaše firma pro open sourceCo může udělat vaše firma pro open source
Co může udělat vaše firma pro open sourceJachym Cepicky
 
Otevřené standardy, Otevřená data, Otevřený software, Otevření lidé
Otevřené standardy, Otevřená data, Otevřený software, Otevření lidéOtevřené standardy, Otevřená data, Otevřený software, Otevření lidé
Otevřené standardy, Otevřená data, Otevřený software, Otevření lidéJachym Cepicky
 
Úvod do otevřená geoinfrastruktury
Úvod do otevřená geoinfrastrukturyÚvod do otevřená geoinfrastruktury
Úvod do otevřená geoinfrastrukturyJachym Cepicky
 
Sdílené intelektuální spoluvlastnictví
Sdílené intelektuální spoluvlastnictvíSdílené intelektuální spoluvlastnictví
Sdílené intelektuální spoluvlastnictvíJachym Cepicky
 
Co brání většímu rozšíření open source nástrojů
Co brání většímu rozšíření open source nástrojůCo brání většímu rozšíření open source nástrojů
Co brání většímu rozšíření open source nástrojůJachym Cepicky
 
Open Source JavaScript Mapping Framework
Open Source JavaScript Mapping FrameworkOpen Source JavaScript Mapping Framework
Open Source JavaScript Mapping FrameworkJachym Cepicky
 
Cepicky os-mapping-frameworks
Cepicky os-mapping-frameworksCepicky os-mapping-frameworks
Cepicky os-mapping-frameworksJachym Cepicky
 

Más de Jachym Cepicky (20)

Switch from shapefile
Switch from shapefileSwitch from shapefile
Switch from shapefile
 
Python testing-frameworks overview
Python testing-frameworks overviewPython testing-frameworks overview
Python testing-frameworks overview
 
What is the price of open source
What is the price of open sourceWhat is the price of open source
What is the price of open source
 
PyWPS-4.0.0
PyWPS-4.0.0PyWPS-4.0.0
PyWPS-4.0.0
 
Testing web application with Python
Testing web application with PythonTesting web application with Python
Testing web application with Python
 
Danube hack 2015 - Open (-data, -communities)
Danube hack 2015 - Open (-data, -communities)Danube hack 2015 - Open (-data, -communities)
Danube hack 2015 - Open (-data, -communities)
 
Push it through the wire
Push it through the wirePush it through the wire
Push it through the wire
 
How Prague is opening data
How Prague is opening dataHow Prague is opening data
How Prague is opening data
 
Webgis, Cloud computing, OGC OWS
Webgis, Cloud computing, OGC OWSWebgis, Cloud computing, OGC OWS
Webgis, Cloud computing, OGC OWS
 
Co může udělat vaše firma pro open source
Co může udělat vaše firma pro open sourceCo může udělat vaše firma pro open source
Co může udělat vaše firma pro open source
 
Otevřené standardy, Otevřená data, Otevřený software, Otevření lidé
Otevřené standardy, Otevřená data, Otevřený software, Otevření lidéOtevřené standardy, Otevřená data, Otevřený software, Otevření lidé
Otevřené standardy, Otevřená data, Otevřený software, Otevření lidé
 
Úvod do otevřená geoinfrastruktury
Úvod do otevřená geoinfrastrukturyÚvod do otevřená geoinfrastruktury
Úvod do otevřená geoinfrastruktury
 
PyWPS Status report
PyWPS Status reportPyWPS Status report
PyWPS Status report
 
Geosense Geoportal
Geosense GeoportalGeosense Geoportal
Geosense Geoportal
 
Cepicky pywps4
Cepicky pywps4Cepicky pywps4
Cepicky pywps4
 
Sdílené intelektuální spoluvlastnictví
Sdílené intelektuální spoluvlastnictvíSdílené intelektuální spoluvlastnictví
Sdílené intelektuální spoluvlastnictví
 
Co brání většímu rozšíření open source nástrojů
Co brání většímu rozšíření open source nástrojůCo brání většímu rozšíření open source nástrojů
Co brání většímu rozšíření open source nástrojů
 
Open Source JavaScript Mapping Framework
Open Source JavaScript Mapping FrameworkOpen Source JavaScript Mapping Framework
Open Source JavaScript Mapping Framework
 
Cepicky osgeocz
Cepicky osgeoczCepicky osgeocz
Cepicky osgeocz
 
Cepicky os-mapping-frameworks
Cepicky os-mapping-frameworksCepicky os-mapping-frameworks
Cepicky os-mapping-frameworks
 

Último

The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?Mark Billinghurst
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyJohn Staveley
 
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...CzechDreamin
 
Buy Epson EcoTank L3210 Colour Printer Online.pptx
Buy Epson EcoTank L3210 Colour Printer Online.pptxBuy Epson EcoTank L3210 Colour Printer Online.pptx
Buy Epson EcoTank L3210 Colour Printer Online.pptxEasyPrinterHelp
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераMark Opanasiuk
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomCzechDreamin
 
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxWSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxJennifer Lim
 
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfSimplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfFIDO Alliance
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2DianaGray10
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityScyllaDB
 
Designing for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at ComcastDesigning for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at ComcastUXDXConf
 
Connecting the Dots in Product Design at KAYAK
Connecting the Dots in Product Design at KAYAKConnecting the Dots in Product Design at KAYAK
Connecting the Dots in Product Design at KAYAKUXDXConf
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeCzechDreamin
 
Strategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering TeamsStrategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering TeamsUXDXConf
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIES VE
 
Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Patrick Viafore
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxDavid Michel
 
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...FIDO Alliance
 
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...FIDO Alliance
 
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfHow Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfFIDO Alliance
 

Último (20)

The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John Staveley
 
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
 
Buy Epson EcoTank L3210 Colour Printer Online.pptx
Buy Epson EcoTank L3210 Colour Printer Online.pptxBuy Epson EcoTank L3210 Colour Printer Online.pptx
Buy Epson EcoTank L3210 Colour Printer Online.pptx
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджера
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
 
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxWSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
 
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfSimplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through Observability
 
Designing for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at ComcastDesigning for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at Comcast
 
Connecting the Dots in Product Design at KAYAK
Connecting the Dots in Product Design at KAYAKConnecting the Dots in Product Design at KAYAK
Connecting the Dots in Product Design at KAYAK
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
 
Strategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering TeamsStrategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering Teams
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and Planning
 
Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
 
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
 
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
 
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfHow Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
 

PyWPS Development restart

  • 1. PyWPS 4 Development restart Jáchym ˇCepický1 1http://les-ejk.cz Geoinformatics, Prague 2013
  • 3. PyWPS OGC WPS on the Server Since 2006 Python http://pywps.wald.intevation.org http://github.org/geopython/pywps
  • 4. PyWPS - what it is NOT PyWPS is no analytical tool or engine. It does not perform any type of geospatial calculation. PyWPS is not special XML parser or generator. It does not validate your GMLs against given schemas (yet), it does not build GML from Python objects. It is not complicated
  • 5. PyWPS - what it is NOT PyWPS is no analytical tool or engine. It does not perform any type of geospatial calculation. PyWPS is not special XML parser or generator. It does not validate your GMLs against given schemas (yet), it does not build GML from Python objects. It is not complicated
  • 6. PyWPS - what it is NOT PyWPS is no analytical tool or engine. It does not perform any type of geospatial calculation. PyWPS is not special XML parser or generator. It does not validate your GMLs against given schemas (yet), it does not build GML from Python objects. It is not complicated
  • 15. PyWPS 4 Started from scratch Use Python 2.7 (for future 3.0 migration) Try different interpreters of Python (pypy) Easy parsing with lxml Prepare for next WPS version Change of the whole process concept
  • 16. PyWPS 4 Started from scratch Use Python 2.7 (for future 3.0 migration) Try different interpreters of Python (pypy) Easy parsing with lxml Prepare for next WPS version Change of the whole process concept
  • 17. PyWPS 4 Started from scratch Use Python 2.7 (for future 3.0 migration) Try different interpreters of Python (pypy) Easy parsing with lxml Prepare for next WPS version Change of the whole process concept
  • 18. PyWPS 4 Started from scratch Use Python 2.7 (for future 3.0 migration) Try different interpreters of Python (pypy) Easy parsing with lxml Prepare for next WPS version Change of the whole process concept
  • 19. PyWPS 4 Started from scratch Use Python 2.7 (for future 3.0 migration) Try different interpreters of Python (pypy) Easy parsing with lxml Prepare for next WPS version Change of the whole process concept
  • 20. PyWPS 4 Started from scratch Use Python 2.7 (for future 3.0 migration) Try different interpreters of Python (pypy) Easy parsing with lxml Prepare for next WPS version Change of the whole process concept
  • 21. PyWPS 4 Started from scratch Use Python 2.7 (for future 3.0 migration) Try different interpreters of Python (pypy) Easy parsing with lxml Prepare for next WPS version Change of the whole process concept
  • 24. lxml http://lxml.org GRASS-WPS, GRASS-Python Werkzeug http://werkzeug.pocoo.org/ Python 3 Django . . .
  • 25. Process definition in PyWPS 3 class Buffer (WPSProcess ) : def __init__ ( s e l f ) : WPSProcess . __init__ ( self , i d e n t i f i e r =" buffe s e l f . addComplexInput ( i d e n t i f i e r =" input " , . . . . . s e l f . addLiteralOutpu ( i d e n t i f i e r =" input " , . . . . . def execute ( s e l f ) : . . . return
  • 26. Process definition in PyWPS 4 (proposal) 2-level APIs Providing the low-level API (integration with GRASS, writing a compatibility api for PyWPS-3, and defining a bunch of processes programatically if the user needs that. The process is just a callable Inspired by Django Upper-level API for easy user-written processes
  • 27. PyWPS 4 - upper-level class Buffer ( pywps . Process ) : class Input : distance = pywps . L i t e r a l ( value_type=pywps . F layer = pywps . Complex ( a s _ f i l e =True , max_occ class Output : feature_count = pywps . L i t e r a l ( value_type=pyw fortune = pywps . L i t e r a l ( value_type def execute ( s e l f ) : . . .
  • 28. PyWPS 4 - low-level def make_buffer ( request ) : . . . make_buffer_process = pywps . create_process ( i d e n t i f i e r = ’ makebuffer ’ , t i t l e = . . . inputs =[ pywps . L i t e r a l ( i d e n t i f i e r = ’ distance ’ , value_ pywps . BoundingBox ( i d e n t i f i e r = ’ c l i p ’ ) , ] , outputs =[ pywps . L i t e r a l ( i d e n t i f i e r = ’ feature_count ’ , v pywps . L i t e r a l ( i d e n t i f i e r = ’ fortune ’ , value_ty ] , handler=make_buffer ) make_buffer_process ( )
  • 29. Where, what, how, who? http://github.org/jachym/pywps-4 Tests, Basic request parsing, process definition, . . . Alex Morega @mgax, Jorge de Jesus, Jachym Cepicky http://lists.osgeo.org/cgi-bin/mailman/ listinfo/pywps-dev
  • 30. Where, what, how, who? http://github.org/jachym/pywps-4 Tests, Basic request parsing, process definition, . . . Alex Morega @mgax, Jorge de Jesus, Jachym Cepicky http://lists.osgeo.org/cgi-bin/mailman/ listinfo/pywps-dev
  • 31. Where, what, how, who? http://github.org/jachym/pywps-4 Tests, Basic request parsing, process definition, . . . Alex Morega @mgax, Jorge de Jesus, Jachym Cepicky http://lists.osgeo.org/cgi-bin/mailman/ listinfo/pywps-dev
  • 32. Where, what, how, who? http://github.org/jachym/pywps-4 Tests, Basic request parsing, process definition, . . . Alex Morega @mgax, Jorge de Jesus, Jachym Cepicky http://lists.osgeo.org/cgi-bin/mailman/ listinfo/pywps-dev