Lightweight Python client to interact with GeoServer Cloud REST API, GeoServer ACL and OGC services
Project description
python-geoservercloud
Installation
From PyPI:
pip install geoservercloud
From git repository:
poetry install
Quick start
from geoservercloud import GeoServerCloud
geoserver = GeoServerCloud(
url="http://localhost:9090/geoserver/cloud/",
user="admin",
password="geoserver",
)
geoserver.create_workspace("newworkspace")
About
Lightweight Python client to interact with GeoServer Cloud REST API, GeoServer ACL and OGC services. Intended use cases are listed below.
Programmatic setup of a GeoServer catalog
For example, creating a workspace, connecting to a PostGIS datastore and publishing a PG layer:
geoserver.create_workspace("example")
geoserver.create_pg_datastore(
workspace="example",
datastore="example_store",
pg_host="localhost",
pg_port=5432,
pg_db="database",
pg_user="user",
pg_password="password"
)
geoserver.create_feature_type(
layer="layer_example"
workspace="example",
datastore="example_store",
title={
"en":"Layer title",
"fr": "Titre de la couche",
"default": "Default title",
},
)
Testing
Automatic tests of GeoServer functionalities with pytest
, for example before upgrading.
The example below tests the fallback mechanism for internationalized layer titles in the GetCapabilities document.
@pytest.mark.parametrize(
"language,expected_title",
[
(
"en",
"Layer title",
),
(
"fr",
"Titre de la couche",
),
(
"de,en",
"Layer title",
),
(
None,
"Default title",
),
],
)
def test_i18n_layer_title(geoserver, language, expected_title):
capabilities = geoserver.get_wms_layers(
workspace="example",
accept_languages=language,
)
layer = capabilities.get("Layer")
assert layer.get("Title") == expected_title
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file geoservercloud-0.3.1.dev7.tar.gz
.
File metadata
- Download URL: geoservercloud-0.3.1.dev7.tar.gz
- Upload date:
- Size: 20.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | dfca9b1e971888c023755d3eab19c5ae94f03828ecb8995300c0b97c6bf2d635 |
|
MD5 | 810b0c910aa18432ee581d962303f3e7 |
|
BLAKE2b-256 | 95a37fa67641370eceede7e5ab4241581337551a1af444d405e06533c2f8cfa0 |
File details
Details for the file geoservercloud-0.3.1.dev7-py3-none-any.whl
.
File metadata
- Download URL: geoservercloud-0.3.1.dev7-py3-none-any.whl
- Upload date:
- Size: 27.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 857965620cdaed472fcc748dd17b7521dd7ab27b4f2d6f190b8a6c8c7e833d77 |
|
MD5 | 44c204b3cd389fad571488ff15d67b9e |
|
BLAKE2b-256 | 7b8b212718224ccae459f33141f03295e69a1d42d9ae858855aecbbf15635bba |