Skip to main content

Library for fetching weather information from Finnish Meteorological Institute (FMI)

Project description

Test Last commit

Finnish Meteorological Institute Weather

Library for fetching weather information from Finnish Meteorological Institute (FMI).

Originally build for personal use because I wanted to create a FMI integration for Home Assistant.

Library is not yet available in PyPi.

How to use

Working example can be found in example.py.

Get the weather by place name

Weather station depends on FMI service.

import fmi_weather_client

weather = fmi_weather_client.weather_by_place_name("Mäkkylä, Espoo")

If place name is not known or weather data is not available, the following exception is thrown:

fmi_weather_client.errors.NoWeatherDataError

Get the weather by coordinates

Weather stations is the closest one

import fmi_weather_client

weather = fmi_weather_client.weather_by_coordinates(63.361604, 27.392607)

If there are no stations within 50 km, the following exception is thrown:

fmi_weather_client.errors.NoWeatherDataError

Weather data

Available weather information depends on the weather station. Currently supported fields:

  • Station name
  • Station latitude
  • Station longitude
  • Measurement time
  • Temperature (°C)
  • Humidity (%)
  • Wind speed (m/s)
  • Wind gust (m/s)
    • Maximum gust wind in the past 10 minutes
  • Wind direction (°)
  • Dew point (°C)
  • Precipitation amount (mm)
    • Amount of rain in the past hour
  • Precipitation intensity (mm/h)
  • Pressure (hPa)
  • Visibility (m)
  • Cloud coverage
    • Cloud coverage is indicated as 1/8 sky.
    • 0.0 means no clouds
    • 4.0 means half cloudy
    • 8.0 means overcast

Observation data contains two fields: value and unit. You can also just print the measurement object to get a string representation:

print('Temperature: %s' % weather.temperature)

# Output: Temperature: 1.4 °C

Development

Setup

Create and activate a virtual environment

$ python -m venv venv
$ source venv/bin/activate

Install required packages

$ python -m pip install -r requirements.txt
$ python -m pip install -r requirements-dev.txt

When you stop working, deactivate virtual environment

$ deactivate

Run tests

$ pytest

Run code quality tools

$ flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics --exclude venv
$ flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127  --exclude venv

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

fmi-weather-client-0.0.1.tar.gz (6.7 kB view hashes)

Uploaded source

Built Distribution

fmi_weather_client-0.0.1-py3-none-any.whl (20.8 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page