Skip to main content

KNMI-py

PyPI version

Python wrapper to fetch and parse daily and hourly weather observations from KNMI, either as raw text, CSV-like strings, or Pandas DataFrames.

See the official KNMI documentation for more details on data retrieval via scripts: KNMI Kennis- en datacentrum - Data ophalen vanuit een script

Note: This library is not affiliated in any way with KNMI; it only utilizes the KNMI API to request data.

Installation

KNMI-py is available via pip:

python -m pip install knmi-py

Key Functions

The library provides functions to retrieve both daily and hourly weather data:

  • knmi.get_day_data_raw(stations, start, end, inseason, variables)
  • knmi.get_day_data_dataframe(stations, start, end, inseason, variables)
  • knmi.get_hour_data_raw(stations, start, end, inseason, variables)
  • knmi.get_hour_data_dataframe(stations, start, end, inseason, variables)
  • knmi.get_forecast_dataframe(station, conform_values, variables) (Limited to De Bilt, station 260)

Metadata

Need to find a station number or understand what the weather variable abbreviations mean?

  • knmi.stations: A dictionary of all available KNMI weather stations.
  • knmi.variables: A dictionary providing explanations for weather variable codes.

Example Usage

import knmi
import pandas as pd

# Get daily data for De Bilt (station 260) for a specific period
daily_df = knmi.get_day_data_dataframe(
    stations=,
    start='2023-01-01',
    end='2023-01-31'
)
print("Daily Data:")
print(daily_df.head())

# Get hourly data for Schiphol (station 240) for a specific day
# Note: start and end for hourly data are strings like "YYYYMMDDHH"
hourly_df = knmi.get_hour_data_dataframe(
    stations=,
    start="2023032801", # March 28, 2023, 01:00
    end="2023032824"    # March 28, 2023, 24:00
)
print("\nHourly Data:")
print(hourly_df.head())

Disclaimer

The KNMI-py Python library is not affiliated with, created by, or maintained by KNMI. It merely uses the publicly available KNMI API to request data.

Contributing & Development

Contributions are welcome! Please feel free to open an issue or submit a pull request.

This project uses modern Python development tools:

  • Packaging: pyproject.toml (with hatchling as the build backend).
  • Dependency Management & Task Running: uv is used for fast dependency management.
  • Linting & Formatting: Ruff (configured via pyproject.toml or ruff.toml).
  • Pre-commit Hooks: Used to ensure code quality and consistency before commits.
  • Testing: pytest for running tests.
  • Multi-version Testing: tox (with tox-uv) is used to ensure compatibility across multiple Python versions (currently Python 3.9+). Run tox to execute tests in all configured environments.

Please ensure pre-commit hooks pass and tests succeed before submitting a pull request.

Metadata

Release files for knmi-py 0.2.0

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

Source distribution (sdist)

Source distribution for knmi-py 0.2.0
File Size Uploaded
knmi_py-0.2.0.tar.gz 107.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for knmi-py 0.2.0
File Interpreter ABI Platform
knmi_py-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 118.2 kB

Release files / knmi_py-0.2.0.tar.gz

Download URL knmi_py-0.2.0.tar.gz
Size 107.6 kB
Tags Source
SHA-256 checksum
How to use checksums
c659e634dfddf30df369a26e9273b74c3eaedf2043d16eee499687ed0293deb6
BLAKE2b-256 checksum
How to use checksums
984b624f1690239a8a8bf4588f6bece506929ad2d85e9a199bf46cd08f461d80
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.7.3

Release files / knmi_py-0.2.0-py3-none-any.whl

Download URL knmi_py-0.2.0-py3-none-any.whl
Size 10.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
302994b23c683b6174b077c92d29d793e4eaa16df7a21c2272f2900f53fb15c8
BLAKE2b-256 checksum
How to use checksums
11d48ab31ec7ad87bc9c38727aad07eae7a9aefa7e64c869aa432ebe0959db1d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.7.3

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.10

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

1 release file

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