dovwms
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.
- Repository: https://github.com/zawadzkim/dovwms/
- Docs: https://zawadzkim.github.io/dovwms/
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_profilereturns a dict with alayerskey (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)
| 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)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| 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.