Skip to main content

ausweather

Download Australian weather data from the Bureau of Meteorology via SILO using Python

Installation

Install from the command line:

python -m pip install -U ausweather

Example of how to use

In a Python interpreter session:

>>> import ausweather

To use this package to download annual rainfall data for Kent Town, first you need to find the station number using the BoM Weather Station Directory. Then you can use the fetch_bom_station_from_silo(station_number, email_address) function to return a dictionary:

>>> data = ausweather.fetch_bom_station_from_silo(23090, 'kinverarity@hotmail.com')
station #: 23090 name: ADELAIDE (KENT TOWN) title: 23090 ADELAIDE (KENT TOWN) (fetched from SILO on 2020-03-04 16:23:26.395696)
>>> data.keys()
dict_keys(['silo_returned', 'station_no', 'station_name', 'title', 'df', 'annual', 'srn'])

The data is stored in this dictionary under the key "df":

>>> data['df'].info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 25677 entries, 1 to 25677
Data columns (total 28 columns):
Date       25677 non-null datetime64[ns]
Day        25677 non-null int32
Date2      25677 non-null object
T.Max      25677 non-null float64
Smx        25677 non-null int32
T.Min      25677 non-null float64
Smn        25677 non-null int32
Rain       25677 non-null float64
Srn        25677 non-null int32
Evap       25677 non-null float64
Sev        25677 non-null object
Radn       25677 non-null float64
Ssl        25677 non-null int32
VP         25677 non-null float64
Svp        25677 non-null int32
RHmaxT     25677 non-null float64
RHminT     25677 non-null float64
FAO56      25677 non-null float64
Mlake      25677 non-null float64
Mpot       25677 non-null float64
Mact       25677 non-null float64
Mwet       25677 non-null float64
Span       25677 non-null float64
Ssp        25677 non-null int32
EvSp       25677 non-null float64
Ses        25677 non-null int32
MSLPres    25677 non-null float64
Sp         25677 non-null int32
dtypes: datetime64[ns](1), float64(16), int32(9), object(2)
memory usage: 4.6+ MB

To see annual rainfall, you can group-by the dt.year accessor of the "Date" column:

>>> df = data["df"]
>>> df.groupby(df.Date.dt.year).Rain.sum()
Date
1950    426.9
1951    677.9
1952    584.9
1953    601.0
1954    439.6
        ...  
2016    820.8
2017    536.2
2018    429.8
2019    376.3
2020    101.6
Name: Rain, Length: 71, dtype: float64

License

Released under the MIT License.

Version history

Version 0.16 (27 August 2026)

  • Add RainfallStationData.clip_to_dates
  • Add calculate_annual_rainfall_by_interpolation_type
  • Add plot_annual_rainfall_by_interpolation_type

Version 0.15 (11 August 2026)

  • Update some bits of code to align with dependent code use.

Version 0.14 (17 February 2026)

  • Correct generation of current in SA site list.

Version 0.13 (6 January 2026)

  • Add missing dependency (scipy)

Version 0.12 (6 January 2026)

  • Change to use importlib.metadata for version

Version 0.11 (5 January 2026)

  • Many undescribed changes and new classes.

Version 0.2.1 (3 Mar 2020)

  • Fix bug for whitespace in BoM station name

Version 0.2.0 (3 Mar 2020)

  • Update, many changes.

Version 0.1.0 (11 Feb 2020)

  • Initial release

Metadata

Release files for ausweather 0.16

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

Source distribution (sdist)

Source distribution for ausweather 0.16
File Size Uploaded
ausweather-0.16.tar.gz 1.8 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for ausweather 0.16
File Interpreter ABI Platform
ausweather-0.16-py3-none-any.whl Python 3 none any Details

Total release size: 2.1 MB

Release files / ausweather-0.16.tar.gz

Download URL ausweather-0.16.tar.gz
Size 1.8 MB
Tags Source
SHA-256 checksum
How to use checksums
b24c8d8df3d77ca509c916e9659ef2f9f4ad04510eaa5cbff1f1496c3f0762c5
BLAKE2b-256 checksum
How to use checksums
eda5dd3c1775b6e5c6d748ff0d91ba10c89f596b90958d68c7be172d14d42801
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / ausweather-0.16-py3-none-any.whl

Download URL ausweather-0.16-py3-none-any.whl
Size 272.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
27885718f3b3aff3ebfafcb8f5e664ac3877ced2b0c439e03bcb542f2937f99a
BLAKE2b-256 checksum
How to use checksums
d74ddd3520d1ffd02ce04e3bef6d0f2db0056eea0284c2a1ebdf698f0da42044
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release history Release notifications | RSS feed

This release

0.16 This release

2 release files

0.15

2 release files

0.14

2 release files

0.13

2 release files

0.12

2 release files

0.11

2 release files

0.10

2 release files

0.9

2 release files

0.8

2 release files

0.7

2 release files

0.6

2 release files

0.5

2 release files

0.3

2 release files

0.2.1

2 release files

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