Skip to main content

Python client for the Ghana Flood Warning System API

Project description

ghana-flood-predictor

Python client for the Accra Flood Warning System — predict flood risk from hourly weather data.

Installation

pip install ghana-flood-predictor

Quick Start

from ghana_flood_predictor import FloodClient

client = FloodClient()

# Option 1 — one-liner using historical data
result = client.predict_from_datetime("2023-06-15T14:00:00")
print(f"Flood probability: {result['probability']:.1%}")
print(f"Flood warning:     {result['flood_warning']}")

# Option 2 — supply your own weather data
meta = client.metadata()
seq_len = meta["seq_len"]

sequence = [
    {
        "rainfall": 12.5,
        "temperature": 28.0,
        "humidity": 85.0,
        "wind_speed": 3.2,
        "hour": 14,
        "month": 6,
    }
    for _ in range(seq_len)
]

result = client.predict(sequence)
print(f"Flood probability: {result['probability']:.1%}")
print(f"Flood warning:     {result['flood_warning']}")

Methods

client.metadata()

Returns model info including seq_len, threshold, and latest_datetime.

client.weather(target_datetime, hours=None)

Fetch historical weather sequence ending at target_datetime.

data = client.weather("2023-06-15T14:00:00")
# data["sequence"] → list of hourly weather dicts

client.predict(sequence, horizon_hours=1)

Predict flood risk from hourly weather sequence.

Each item in sequence:

Field Type Description
rainfall float Rainfall in mm
temperature float Temperature in °C
humidity float Humidity in %
wind_speed float Wind speed in m/s
hour int Hour of day (0–23)
month int Month (1–12)

Returns:

Field Type Description
probability float Flood probability (0–1)
flood_warning bool True if flood predicted
threshold_used float Decision threshold
horizon_hours float Forecast horizon

client.predict_from_datetime(target_datetime, horizon_hours=1)

Convenience method — fetches weather history and predicts in one call.

result = client.predict_from_datetime("2023-06-15T14:00:00")
print(result["probability"])   # 0.87
print(result["flood_warning"]) # True

Full Example

from ghana_flood_predictor import FloodClient

client = FloodClient()

# Check model info
meta = client.metadata()
print(f"Sequence length needed: {meta['seq_len']} hours")
print(f"Alert threshold: {meta['threshold']}")

# Predict using historical data
result = client.predict_from_datetime("2023-06-15T14:00:00")
print(f"Probability : {result['probability']:.1%}")
print(f"Flood warning: {result['flood_warning']}")

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ghana_flood_predictor-0.1.0.tar.gz (3.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ghana_flood_predictor-0.1.0-py3-none-any.whl (3.8 kB view details)

Uploaded Python 3

File details

Details for the file ghana_flood_predictor-0.1.0.tar.gz.

File metadata

  • Download URL: ghana_flood_predictor-0.1.0.tar.gz
  • Upload date:
  • Size: 3.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for ghana_flood_predictor-0.1.0.tar.gz
Algorithm Hash digest
SHA256 af7fd67a3f360d9b21a5a39d3a1172fc25e9eb9a42fdecac45fdc72ce6a568f3
MD5 bce82bbe5b3e69ce2a20039e9c717fbe
BLAKE2b-256 105469ec2e69a93d1f66679eb8733b80e1638f6717d89efa0a3c8f6226497e74

See more details on using hashes here.

File details

Details for the file ghana_flood_predictor-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for ghana_flood_predictor-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 221fc1f26b63de0fdae3ed2a86d9b9216f31bfa5cde2d5f8fe37957965a8e010
MD5 6bd513272b0a8f8e0f3412ca843df61a
BLAKE2b-256 d9f8f332681b49649bc701f941438ae861f49a9fa7ed12baae078c34d59391eb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page