https://github.com/world-meteorological-organization/csv2bufr
Python package to transform CSV data into the WMO BUFR format
https://github.com/world-meteorological-organization/csv2bufr
bufr csv tdcf wmo
Last synced: 2 months ago
JSON representation
Python package to transform CSV data into the WMO BUFR format
- Host: GitHub
- URL: https://github.com/world-meteorological-organization/csv2bufr
- Owner: World-Meteorological-Organization
- License: apache-2.0
- Created: 2021-10-29T09:43:41.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2025-08-15T10:48:08.000Z (7 months ago)
- Last Synced: 2026-01-07T11:21:38.944Z (3 months ago)
- Topics: bufr, csv, tdcf, wmo
- Language: Python
- Homepage: https://csv2bufr.readthedocs.io
- Size: 660 KB
- Stars: 7
- Watchers: 6
- Forks: 5
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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](https://library.wmo.int/doc_num.php?explnum_id=10722).
## Installation
### Requirements
- Python 3 and above
- [ecCodes](https://confluence.ecmwf.int/display/ECC)
### Dependencies
Dependencies are listed in [requirements.txt](https://github.com/World-Meteorological-Organization/csv2bufr/blob/main/requirements.txt). Dependencies are automatically installed during csv2bufr installation.
```bash
docker pull wmoim/csv2bufr
```
## Running
Transform data from file ```` for station ```` to BUFR using template
specified in file ```` and with station metadata file the file ````.
Write output to ````.
```bash
csv2bufr data transform \
\
--station-metadata \
--bufr-template \
--output
```
## Releasing
```bash
# 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](https://csv2bufr.readthedocs.io), including sample files.
### Code Conventions
* [PEP8](https://www.python.org/dev/peps/pep-0008)
### Bugs and Issues
All bugs, enhancements and issues are managed on [GitHub](https://github.com/World-Meteorological-Organization/csv2bufr/issues).
## Contact
* [David Berry](https://github.com/david-i-berry)