FEWS OpenAPI Python Client
A Python client library for accessing the Delft-FEWS Web Services REST API v1. This library provides a type-safe, auto-generated interface to interact with FEWS (Flood Early Warning System) web services.
Table of contents
Features
- Type-safe: Fully typed Python client with type hints
- Auto-generated: Generated from the official FEWS OpenAPI specification
- Async support: Both synchronous and asynchronous API calls
- Comprehensive: Covers all FEWS REST API v1 endpoints including:
- Time series data
- Archive operations
- Display groups and filters
- Parameters, locations, and qualifiers
- Workflow and task management
- And much more
Installation
From PyPI
uv add fews-openapi-py-client
or:
pip install fews-openapi-py-client
From Source
Clone the repository and install the generated client:
cd fews-openapi-py-client
uv pip install -e .
Using UV
uv add ./fews-openapi-py-client
Usage
Basic Example
from fews_openapi_py_client import Client
from fews_openapi_py_client.api.timeseries import timeseries
# Create a client
client = Client(base_url="https://your-fews-server.com/FewsWebServices")
# Fetch time series data
response = timeseries.sync_detailed(
client=client,
filter_id="your_filter_id",
location_ids="location1,location2",
start_time="2024-01-01T00:00:00Z",
end_time="2024-01-31T23:59:59Z"
)
if response.status_code == 200:
data = response.parsed
# Process your time series data
Async Example
import asyncio
from fews_openapi_py_client import Client
from fews_openapi_py_client.api.timeseries import timeseries
async def fetch_data():
client = Client(base_url="https://your-fews-server.com/FewsWebServices")
response = await timeseries.asyncio_detailed(
client=client,
filter_id="your_filter_id",
location_ids="location1,location2",
start_time="2024-01-01T00:00:00Z",
end_time="2024-01-31T23:59:59Z"
)
return response.parsed
# Run the async function
data = asyncio.run(fetch_data())
Client Configuration
Configure the client with custom settings:
from fews_openapi_py_client import Client
client = Client(
base_url="https://your-fews-server.com/FewsWebServices",
timeout=30.0, # Request timeout in seconds
verify_ssl=True, # SSL certificate verification
headers={
"Authorization": "Bearer your_token",
"Custom-Header": "value"
}
)
Contributing and releases
Development, client generation, post-processing, and PyPI release instructions are documented in CONTRIBUTING.md.
Metadata
Release files for fews-openapi-py-client 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| fews_openapi_py_client-0.1.0.tar.gz | 106.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| fews_openapi_py_client-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 357.3 kB
Release files / fews_openapi_py_client-0.1.0.tar.gz
| Download URL | fews_openapi_py_client-0.1.0.tar.gz |
|---|---|
| Size | 106.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9022f09d95351cf6285baf88d66298d66dc6dfc078756eaa92ab6310a0696170
|
|
BLAKE2b-256 checksum How to use checksums |
6796a150ccd2608c253cb6f0f72dde41ece9cad41c98d8ccdac2662b86d9c9d5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 21, 2026.
Transparency logRelease files / fews_openapi_py_client-0.1.0-py3-none-any.whl
| Download URL | fews_openapi_py_client-0.1.0-py3-none-any.whl |
|---|---|
| Size | 250.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
47d7ae769e92c23e6e88f8afffbc3fac5e25256fc0d6819326beada465e89a80
|
|
BLAKE2b-256 checksum How to use checksums |
352a3a91ef7797d196e49d610b6f63f362d4d8df1247039006d4ca86e7fb7773
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 21, 2026.
Transparency log