Skip to content

World-Meteorological-Organization/csv2bufr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

46a3962 · Mar 21, 2025
Mar 4, 2024
Mar 17, 2025
Jan 12, 2023
Mar 21, 2025
Jan 12, 2023
Feb 9, 2024
Oct 16, 2024
Jun 16, 2023
Mar 21, 2025
Feb 9, 2022
May 30, 2022
Mar 21, 2025
May 30, 2022
Feb 6, 2024
Mar 4, 2024
Mar 21, 2025

Repository files navigation

csv2bufr

The csv2bufr Python module contains both a command line interface and an API to convert data stored in a CSV file to the WMO BUFR data format. More information on the BUFR format can be found in the WMO Manual on Codes, Volume I.2.

Installation

Requirements

Dependencies

Dependencies are listed in requirements.txt. Dependencies are automatically installed during csv2bufr installation.

docker pull wmoim/csv2bufr

Running

Transform data from file <my-csv-file.csv> for station <wigos_station_identifier> to BUFR using template specified in file <csv-to-bufr-mapping.json> and with station metadata file the file <metadata-file.csv>. Write output to <output-directory-path>.

csv2bufr data transform <my-csv-file.csv> \
    <wigos_station_identifier> \
    --station-metadata <metadata-file.csv> \
    --bufr-template <csv-to-bufr-mapping.json> \
    --output <output-directory-path>

Releasing

# create release (x.y.z is the release version)
vi csv2bufr/__init__.py  # update __version__
git commit -am 'update release version vx.y.z'
git push origin main
git tag -a vx.y.z -m 'tagging release version vx.y.z'
git push --tags

# upload to PyPI
rm -fr build dist *.egg-info
python setup.py sdist bdist_wheel --universal
twine upload dist/*

# publish release on GitHub (https://github.com/World-Meteorological-Organization/csv2bufr/releases/new)

# bump version back to dev
vi csv2bufr/__init__.py  # update __version__
git commit -am 'back to dev'
git push origin main

Documentation

The full documentation for csv2bufr can be found at https://csv2bufr.readthedocs.io, including sample files.

Code Conventions

Bugs and Issues

All bugs, enhancements and issues are managed on GitHub.

Contact