geoserverx - a new CLI and library to interact with GeoServer
This is a modal window.
The media could not be loaded, either because the server or network failed or because the format is not supported.
Formal Metadata
Title |
| |
Title of Series | ||
Number of Parts | 156 | |
Author | ||
Contributors | ||
License | CC Attribution 3.0 Unported: You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor. | |
Identifiers | 10.5446/68476 (DOI) | |
Publisher | ||
Release Date | ||
Language |
Content Metadata
Subject Area | ||
Genre | ||
Abstract |
| |
Keywords |
FOSS4G Europe 2024 Tartu58 / 156
6
33
35
53
55
59
61
67
70
87
97
99
102
103
104
105
107
111
121
122
123
124
125
126
127
128
134
144
150
151
155
00:00
Streaming mediaProjective planeGoodness of fitMusical ensemble
00:04
Representational state transferServer (computing)Figurate numberGeometryLecture/ConferenceComputer animation
00:37
Functional (mathematics)Graph coloringCodeData managementResultantContext awarenessRepresentational state transferLibrary (computing)Server (computing)Term (mathematics)GeometryComputer animation
01:29
Installation artServer (computing)Computer animation
01:32
GEDCOMLine (geometry)Interface (computing)Template (C++)Representational state transferCommon Language InfrastructureWeb 2.0Buffer overflowServer (computing)Functional (mathematics)PasswordGeometryCASE <Informatik>Type theoryDefault (computer science)Data managementClient (computing)Context awarenessSynchronizationLibrary (computing)DatabaseDataflowUniform resource locatorSource codeLecture/ConferenceComputer animation
03:24
Gamma functionLeast squaresComputer-assisted translationComputer animation
Transcript: English(auto-generated)
00:00
Good afternoon, everyone. I'm here to represent an interesting project that we are working on with GeoBeyond. It's called GeoServerX, which is a modern Python and CLI package to interact with GeoServer. Just an overview, and one of the reasons why we decided to do this at GeoBeyond is also that we worked with GeoServer a lot.
00:21
And one of the things that we wanted to do is figure out a way that we can send a lot of asynchronous requests to GeoServer using REST APIs. And that's how we started to do it. So we'll see what it is, why we created it, the layout of it, how you can use it, and where are we heading from here. So what it is, in a very simple term,
00:41
you send a request either as a Python package or via CLI, which is GSX. And then you send the request to GeoServer as a REST API, get the data back, and then that's all. So we support synchronous and asynchronous requests. We also have a context manager approach to do things. And we are trying to also standardize the results
01:02
with color coding and, obviously, the codes. And then we are also providing command line interface to execute these same functions that we are doing. The layout is quite simple. We have built everything in poetry. And the dependencies are HTTPX, which is essentially the main library that we are using to send requests.
01:23
We are using pydantic, typer, rich, and the document is built with mkdocs. How to use it? It's very simple. You just install it by doing pip install geoserverx. And you can then either use the synchronous way or asynchronous way, depending upon what you want to do with it.
01:41
The documentation is quite robust. We are trying to cover everything that we actually also use in our own use case every day. So this is the synchronous way. For example, here, we are getting all the workspaces. This is an asynchronous way, where we are just using the asynchronous geoserverx client,
02:03
also as a context manager. So we make sure that we are closing the client properly. Then we also have a command line support. So you can just do gsx. And you will see all the things that we are doing with the Python library, also as a CLI. Here are a few of the things that we are doing.
02:20
And just like that, if you type gsx workspaces, and with the default, let's say default username, password, and the URL, you will get a reply like this. And you can also pass your own username, password, and URL on the fly. So where are we heading? We are trying to translate all the GeoServer REST APIs. We are designing a better CLI with commands and subcommands.
02:44
One of the interesting things that we are doing is introducing Swiss knife functionalities. That means we are trying to create overflows and web flows, which will allow you to do multiple things in a single REST request. So for a simple example, it can
03:00
be that you can send the data to your database, and also create layer, and also assign style to it in a single API. So that's what we are trying to do right now with the geoserverx. And that's all from my end. Thanks a lot. You can reach out to either me or to Francesco. And you can also find the geoserverx live on GitHub.
03:20
So feel free to fork. Feel free to open an issue. We are more than happy to work on it. Thank you. So thanks a lot, Christian. Sounds very interesting.