Skip to main content

dovwms

Release Build status codecov Commit activity License DOI

Simple client for DOV WMS services.

Lightweight Python client to fetch soil texture and elevation data from Belgian WMS services (DOV and Geopunt). The package provides convenience clients for the two services and a small helper to fetch a soil profile at a point location.

Features

  • Fetch clay/silt/sand fractions for standard depth layers from DOV WMS
  • Fetch elevation from Geopunt WMS
  • Small, testable API with helpers for convenience and easy mocking

Installation

Requires Python 3.11+. Install from PyPI (when released):

pip install dovwms

For development from source (recommended):

git clone git@github.com:zawadzkim/dovwms.git
cd dovwms
make install   # installs dev dependencies (uses poetry or pip in Makefile)

You can also install the package in editable mode:

python -m pip install -e .

Quickstart

Simple usage with the convenience function:

from dovwms import get_profile_from_dov

# Coordinates in the default CRS (EPSG:31370 / Lambert72)
profile = get_profile_from_dov(247172.56, 204590.58, fetch_elevation=True)

if profile is None:
    print("Could not fetch profile")
else:
    # profile is a dict with keys 'layers' (list) and optional 'elevation'
    print("Elevation:", profile.get('elevation'))
    for layer in profile['layers']:
        print(layer['name'], layer['sand_content'], layer['silt_content'], layer['clay_content'])

Using the low-level clients:

from dovwms import DOVClient, GeopuntClient
from shapely.geometry import Point

client = DOVClient()
pt = Point(247172.56, 204590.58)

# Fetch texture layers
profile = client.fetch_profile(pt, fetch_elevation=False)

# Fetch elevation directly
g = GeopuntClient()
elev = g.fetch_elevation(pt)

Notes

  • fetch_profile returns a dict with a layers key (list of layer dicts).
  • Use the module-level loggers to enable/inspect runtime information; the library does not configure logging handlers by default.

Testing

Run the test suite with pytest (excl. integration tests). Development dependencies include pytest.

make test

Integration tests that require network access are marked integration and can be executed explicitly:

pytest -q -m integration

Contributing

Contributions are welcome. Please open issues or pull requests. Follow the project's code style and run tests before submitting changes.

License

MIT


Repository scaffolded from fpgmaas/cookiecutter-poetry.

Metadata

Release files for dovwms 0.0.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dovwms 0.0.7
File Size Uploaded Provenance Actions
dovwms-0.0.7.tar.gz 8.3 kB Without provenance Details for dovwms-0.0.7.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for dovwms 0.0.7
File Interpreter ABI Platform Actions
dovwms-0.0.7-py3-none-any.whl Python 3 none any Details for dovwms-0.0.7-py3-none-any.whl

Total release size: 18.3 kB

Release files / dovwms-0.0.7.tar.gz

Download URL dovwms-0.0.7.tar.gz
Size 8.3 kB
Tags Source
SHA-256 checksum
How to use checksums
5c748accf8f4e153ff019840257666cc108fa8c89d5621b1c4fd58e8ce25b89c
BLAKE2b-256 checksum
How to use checksums
b82114b5d1a3960457735d7cd5305534dc32d2219ae14d87d6d2711aba3a2305
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.2.1 CPython/3.11.13 Linux/6.11.0-1018-azure

Release files / dovwms-0.0.7-py3-none-any.whl

Download URL dovwms-0.0.7-py3-none-any.whl
Size 10.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
25b22d42b5b5ba360e423784ba10dccbff62c8f67c990b9a1755200e99ad1d2b
BLAKE2b-256 checksum
How to use checksums
4e4db6849890dafdf0b463573554a7ce6f10ac73f165340ad0f2132609584ca2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.2.1 CPython/3.11.13 Linux/6.11.0-1018-azure

Security for dovwms 0.0.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page