Skip to main content

SRF Meteo weather forecast in Switzerland

Project description

Swiss Weather API

This is a library to consume the SRF Meteo weather API published by Switzerland's public broadcasting cooperation, SRG SSR. You can find the API documentation on their website.

Example Usage

The following code snippet shows how to use the library to get the current weather for a specific location in Switzerland (Berne).

from typing import Final
from datetime import datetime
import json

from swissweather.api import getCurrentForecast
import asyncio

async def main():

    CLIENT_ID: Final = 'MY_CLIENT_ID' # get your account at https://developer.srgssr.ch/apis/srgssr-weather
    CLIENT_SECRET: Final = 'MY_CLIENT_SECRET'

    LATITUDE: Final = "46.94843" # Berne downtown
    LONGITUDE: Final = "7.44323" # Berne downtown

    response = await getCurrentForecast(CLIENT_ID, CLIENT_SECRET, LATITUDE, LONGITUDE)
    print(json.dumps(response, indent=2))


if __name__ == "__main__":
    asyncio.run(main())

Usage Details

First, you must apply for a developer token and agree to their terms. As of this writing (June 2020), this is free for non-commercial use. After being accepted, you will get a client_id and client_secret you can use to interact with the service using this Python library.

All endpoints require the following parameters to be passed along:

client_id: the username you received from registering as developer from the link above

client_secret: the matching password you received from registering as developer from the link above

latitude: the first part of the coordinates from the location in Switzerland you want to know the forecast in WGS 84 notation.

longitude: the second part of the coordinates from the location in Switzerland you want to know the forecast in WGS 84 notation.

You can use an online map service like https://map.geo.admin.ch to get the coordinates for location you are interested in. Make sure you get the coordinates in the WGS 84 notation, not in the Swiss coordinate system. For this, you can switch to the WGS 84 notation in the dropdown at the bottom left of the map screen. Then move the mouse over the location you are interested in and you will see the coordinates next to the dropdown at the bottom of the map.

Currently, the following end-points are supported:

Daily forecast for location

https://api.srgssr.ch/forecasts/v1.0/weather/current: Returns current weather forecast for all Swiss locations.

You get this forecast by calling getCurrentForecast(client_id: str, client_secret: str, latitude: str, longitude: str).

To find out about the information provided in the payload, have a look at the official documentation for currentforecast.

Seven day forecast for location

https://api.srgssr.ch/forecasts/v1.0/weather/7day: Returns next 7 days forecast for specific location.

You get this forecast by calling getSevenDayForecast(client_id: str, client_secret: str, latitude: str, longitude: str).

To find out about the information provided in the payload, have a look at the official documentation for weeksforecastbyid.

Hourly Forecast for location

https://api.srgssr.ch/forecasts/v1.0/weather/nexthour: Returns forecast data for the next hour for a specific location.

You get this forecast by calling getHourlyForecast(client_id: str, client_secret: str, latitude: str, longitude: str).

To find out about the information provided in the payload, have a look at the official documentation for hourforecastbyid.

24 hour forecast for location

https://api.srgssr.ch/forecasts/v1.0/weather/24hour: Returns cities within Swiss locations.

You get this forecast by calling get24HourForecast(client_id: str, client_secret: str, latitude: str, longitude: str).

To find out about the information provided in the payload, have a look at the official documentation for 24hourforecastbyid.

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

swissweather-0.2.4.tar.gz (4.7 kB view details)

Uploaded Source

Built Distribution

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

swissweather-0.2.4-py3-none-any.whl (5.9 kB view details)

Uploaded Python 3

File details

Details for the file swissweather-0.2.4.tar.gz.

File metadata

  • Download URL: swissweather-0.2.4.tar.gz
  • Upload date:
  • Size: 4.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.3

File hashes

Hashes for swissweather-0.2.4.tar.gz
Algorithm Hash digest
SHA256 92c0e07f8e3982b80ebc7a0379ed3530b4f6ffdcc2774087d3a1c6e8c2d4aac3
MD5 c5f5072f68e0dddebc9915843f159b73
BLAKE2b-256 b1a19eec577d461e6e41e7c503024fe4155724e5289d18916104279e89dbecf9

See more details on using hashes here.

File details

Details for the file swissweather-0.2.4-py3-none-any.whl.

File metadata

  • Download URL: swissweather-0.2.4-py3-none-any.whl
  • Upload date:
  • Size: 5.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.3

File hashes

Hashes for swissweather-0.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 1261610843f5b0f362f640462aedb9ea2a0f76c138968be951c1a7d6ed98bc1e
MD5 4350e1cd7472c46e4e1969ecde5295dc
BLAKE2b-256 8553b531c4b09287b422ed0bed020a66b15ff0c9cc55b18d16a959c44071ab2c

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