Skip to main content
BOM Spatial Data Visualization

Documentation Status

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.

Forecast Districts with Radar Locations Weather Stations Map

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

Release files for bomshell 3.0.1

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

Source distribution (sdist)

Source distribution for bomshell 3.0.1
File Size Uploaded
bomshell-3.0.1.tar.gz 2.6 MB Details

Built distribution (wheel)

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

Total release size: 2.7 MB

Release files / bomshell-3.0.1.tar.gz

Download URL bomshell-3.0.1.tar.gz
Size 2.6 MB
Tags Source
SHA-256 checksum
How to use checksums
51de2122740d89b1118f6672bfacc58a613a26fdd4b54dc966aabb6bd32abbd9
BLAKE2b-256 checksum
How to use checksums
b5a7b07fa0436d1ce82c9ad4a207e4b50bbfafdd4383e496ef7031be947f428a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 10, 2026.

Transparency log

Release files / bomshell-3.0.1-py3-none-any.whl

Download URL bomshell-3.0.1-py3-none-any.whl
Size 58.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
aa64d384a654f3c5f26147b82293d1baaa060e57480140d79f5a96f55c166af3
BLAKE2b-256 checksum
How to use checksums
025a11ced64778df4e5be05fcc2f14b5aa6730402360ab8b1a771515d37af0f5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 10, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

3.0.1 This release

2 release files

1.1.0

1 release file

1.0.2

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