Retrieve weather data from the Australian Bureau of Meteorology
Project description
bomshell is used to retrieve weather data from the Australian Bureau of Meteorology’s (BOM) public FTP site, and display the result in the shell or as interactive maps.
bomshell retrieves spatial data (shapefiles) from BOM’s public FTP site and packs it into a local SQLite database. Tools are provided to build and maintain the local database, export data to various formats, and generate interactive maps for visualization.
Installation
Using uv (recommended):
$ uv tool install bomshell
Using pip:
$ pip install bomshell
Config
bomshell is configured using CLI options and a .bomshell settings file. To see the valid knobs that can be tuned use the knobs command:
$ bomshell knobs
To create a fresh .bomshell config file:
$ bomshell knobs > ~/.bomshell
Initial Setup
Fetch the spatial data (shapefiles) from BOM:
$ bomshell spatial fetch
This downloads all shapefile components (.dbf, .shp, .shx, .prj) to ~/.cache/bomshell/spatial_cache/.
Build the local SQLite database (optional, for database queries):
$ bomshell spatial build
Interactive Maps
Generate interactive HTML maps of BOM spatial data. Maps open automatically in your browser.
Point data (markers on map):
# Radar locations across Australia
$ bomshell spatial map -s radar_location
# All 1,475 weather observation points
$ bomshell spatial map -s point_places
# Radar coverage areas
$ bomshell spatial map -s radar_coverage
Polygon data (district/zone boundaries with hover highlighting):
# Weather forecast districts
$ bomshell spatial map -s forecast_districts
# Fire weather districts
$ bomshell spatial map -s fire_districts
# Marine forecast zones
$ bomshell spatial map -s marine_zones
# Rainfall districts
$ bomshell spatial map -s rainfall_districts
# Metropolitan areas
$ bomshell spatial map -s metros
# Tropical cyclone warning areas
$ bomshell spatial map -s cyclone_areas
# High seas forecast areas
$ bomshell spatial map -s high_sea_areas
# Ocean wind warning areas
$ bomshell spatial map -s ocean_wind_warning
Combined maps (multiple layers with toggle control):
# Radar locations over forecast districts
$ bomshell spatial map -s forecast_districts -s radar_location
# Fire districts with weather stations
$ bomshell spatial map -s fire_districts -s point_places
# Multiple polygon layers
$ bomshell spatial map -s forecast_districts -s marine_zones -s radar_location
Combined maps include a layer control (top-right) to toggle each layer on/off.
Map options:
# Save to custom location
$ bomshell spatial map -s radar_location -o ~/maps/radars.html
# Don't open browser automatically
$ bomshell spatial map -s forecast_districts --no-open
Maps are saved to ~/.cache/bomshell/ by default.
Data Export
Export spatial data to tables or CSV:
# View as formatted table
$ bomshell spatial tabledump -s radar_coverage -f fancy_grid
# Export to CSV
$ bomshell spatial csvdump -s point_places > places.csv
Available table formats: fancy_grid, grid, html, jira, latex, pipe, plain, psql, rst, simple, tsv, and more.
Sample Usage
All bomshell command line options are available from the --help option:
$ bomshell --help
Usage: bomshell [OPTIONS] COMMAND [ARGS]...
Retrieve weather data from the Australian Bureau of Meteorology
Options:
--version Show the version and exit.
-v, --verbose Level of verbosity of logs
-c, --cache-path PATH BOM data cache path
--help Show this message and exit.
Commands:
knobs Print all known settings and their current defaults
spatial Spatial database management
$ bomshell spatial --help
Usage: bomshell spatial [OPTIONS] COMMAND [ARGS]...
Spatial database management
Options:
-o, --overwrite / --no-overwrite
Overwrite existing spatial data
--ftp-timeout INTEGER FTP Timeout in seconds
--help Show this message and exit.
Commands:
build Build the local spatial database
csvdump Dump spatial data to csv
fetch Fetch spatial data
map Generate an interactive map of spatial data
sync Sync the local spatial data, overwriting existing files
tabledump Dump spatial data to table
Available Spatial Types
Type |
Data Format |
Description |
|---|---|---|
forecast_districts |
Polygon |
Weather forecast districts by state |
marine_zones |
Polygon |
Marine and coastal forecast zones |
fire_districts |
Polygon |
Fire weather forecast districts |
rainfall_districts |
Polygon |
Rainfall reporting districts |
cyclone_areas |
Polygon |
Tropical cyclone warning areas |
high_sea_areas |
Polygon |
High seas forecast areas |
metros |
Polygon |
Metropolitan forecast areas |
ocean_wind_warning |
Polygon |
Ocean wind warning zones |
radar_location |
Point |
BOM radar station locations |
radar_coverage |
Point |
Radar coverage information |
point_places |
Point |
Weather observation stations (1,475 locations) |
Development
# Clone and install
$ git clone https://github.com/sthysel/bomshell
$ cd bomshell
$ uv sync --all-extras
# Run tests
$ just test
# Run linting
$ just lint
# See all available commands
$ just
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file bomshell-3.0.1.tar.gz.
File metadata
- Download URL: bomshell-3.0.1.tar.gz
- Upload date:
- Size: 2.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
51de2122740d89b1118f6672bfacc58a613a26fdd4b54dc966aabb6bd32abbd9
|
|
| MD5 |
46e9436938014d2aa932b0ad64e7d3d8
|
|
| BLAKE2b-256 |
b5a7b07fa0436d1ce82c9ad4a207e4b50bbfafdd4383e496ef7031be947f428a
|
Provenance
The following attestation bundles were made for bomshell-3.0.1.tar.gz:
Publisher:
publish.yml on sthysel/bomshell
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
bomshell-3.0.1.tar.gz -
Subject digest:
51de2122740d89b1118f6672bfacc58a613a26fdd4b54dc966aabb6bd32abbd9 - Sigstore transparency entry: 937858944
- Sigstore integration time:
-
Permalink:
sthysel/bomshell@fabc262f0eb4a581d0afff4dcdfaf5c5341925e0 -
Branch / Tag:
refs/tags/v3.0.1 - Owner: https://github.com/sthysel
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@fabc262f0eb4a581d0afff4dcdfaf5c5341925e0 -
Trigger Event:
push
-
Statement type:
File details
Details for the file bomshell-3.0.1-py3-none-any.whl.
File metadata
- Download URL: bomshell-3.0.1-py3-none-any.whl
- Upload date:
- Size: 58.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aa64d384a654f3c5f26147b82293d1baaa060e57480140d79f5a96f55c166af3
|
|
| MD5 |
16ccd991826bbf56671982c8ce9c2710
|
|
| BLAKE2b-256 |
025a11ced64778df4e5be05fcc2f14b5aa6730402360ab8b1a771515d37af0f5
|
Provenance
The following attestation bundles were made for bomshell-3.0.1-py3-none-any.whl:
Publisher:
publish.yml on sthysel/bomshell
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
bomshell-3.0.1-py3-none-any.whl -
Subject digest:
aa64d384a654f3c5f26147b82293d1baaa060e57480140d79f5a96f55c166af3 - Sigstore transparency entry: 937858966
- Sigstore integration time:
-
Permalink:
sthysel/bomshell@fabc262f0eb4a581d0afff4dcdfaf5c5341925e0 -
Branch / Tag:
refs/tags/v3.0.1 - Owner: https://github.com/sthysel
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@fabc262f0eb4a581d0afff4dcdfaf5c5341925e0 -
Trigger Event:
push
-
Statement type: