# 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/wmo-im/csv2bufr/blob/main/requirements.txt). Dependencies are automatically installed during csv2bufr installation.
```bash
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>``.
```bash
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
```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/wmo-im/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/wmo-im/csv2bufr/issues).
## Contact
* [David Berry](https://github.com/david-i-berry)
Raw data
{
"_id": null,
"home_page": "https://github.com/wmo-im/csv2bufr",
"name": "csv2bufr",
"maintainer": "David I. Berry",
"docs_url": null,
"requires_python": null,
"maintainer_email": "DBerry@wmo.int",
"keywords": "WMO BUFR csv encoding weather observations",
"author": "David I. Berry",
"author_email": "DBerry@wmo.int",
"download_url": "https://files.pythonhosted.org/packages/9b/f0/52e145e9b778321c2492dd94e68249b32759fa86db58aab39c01b03cb692/csv2bufr-0.8.3.tar.gz",
"platform": "all",
"description": "# csv2bufr\n\nThe 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.\nMore 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).\n\n## Installation\n\n### Requirements\n- Python 3 and above\n- [ecCodes](https://confluence.ecmwf.int/display/ECC)\n\n### Dependencies\n\nDependencies are listed in [requirements.txt](https://github.com/wmo-im/csv2bufr/blob/main/requirements.txt). Dependencies are automatically installed during csv2bufr installation.\n\n```bash\ndocker pull wmoim/csv2bufr\n```\n\n## Running\n\nTransform data from file ``<my-csv-file.csv>`` for station ``<wigos_station_identifier>`` to BUFR using template \nspecified in file ``<csv-to-bufr-mapping.json>`` and with station metadata file the file ``<metadata-file.csv>``. \nWrite output to ``<output-directory-path>``.\n\n```bash\ncsv2bufr data transform <my-csv-file.csv> \\\n <wigos_station_identifier> \\\n --station-metadata <metadata-file.csv> \\\n --bufr-template <csv-to-bufr-mapping.json> \\\n --output <output-directory-path>\n```\n\n## Releasing\n\n```bash\n# create release (x.y.z is the release version)\nvi csv2bufr/__init__.py # update __version__\ngit commit -am 'update release version vx.y.z'\ngit push origin main\ngit tag -a vx.y.z -m 'tagging release version vx.y.z'\ngit push --tags\n\n# upload to PyPI\nrm -fr build dist *.egg-info\npython setup.py sdist bdist_wheel --universal\ntwine upload dist/*\n\n# publish release on GitHub (https://github.com/wmo-im/csv2bufr/releases/new)\n\n# bump version back to dev\nvi csv2bufr/__init__.py # update __version__\ngit commit -am 'back to dev'\ngit push origin main\n```\n## Documentation\n\nThe full documentation for csv2bufr can be found at [https://csv2bufr.readthedocs.io](https://csv2bufr.readthedocs.io), including sample files.\n\n### Code Conventions\n\n* [PEP8](https://www.python.org/dev/peps/pep-0008)\n\n### Bugs and Issues\n\nAll bugs, enhancements and issues are managed on [GitHub](https://github.com/wmo-im/csv2bufr/issues).\n\n## Contact\n\n* [David Berry](https://github.com/david-i-berry)\n\n",
"bugtrack_url": null,
"license": "Apache Software License",
"summary": "Configurable module to convert data from CSV to WMO BUFR format",
"version": "0.8.3",
"project_urls": {
"Homepage": "https://github.com/wmo-im/csv2bufr"
},
"split_keywords": [
"wmo",
"bufr",
"csv",
"encoding",
"weather",
"observations"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "585bd190bd65e93a1bcd7bd2a40f214e4275a3fd741266b83137a64193ccf6df",
"md5": "cefdf6a7e911fd82d490566c9cc62521",
"sha256": "0373a023c29172dfaf9c4f96fd6d4a092417d340227a9b3042a313c191357c99"
},
"downloads": -1,
"filename": "csv2bufr-0.8.3-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "cefdf6a7e911fd82d490566c9cc62521",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 24154,
"upload_time": "2024-10-17T09:41:17",
"upload_time_iso_8601": "2024-10-17T09:41:17.774210Z",
"url": "https://files.pythonhosted.org/packages/58/5b/d190bd65e93a1bcd7bd2a40f214e4275a3fd741266b83137a64193ccf6df/csv2bufr-0.8.3-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "9bf052e145e9b778321c2492dd94e68249b32759fa86db58aab39c01b03cb692",
"md5": "2686eacd84b020bb0bc1398d8a2c2318",
"sha256": "9ba8e3a5ff69982cf23ff812cec612cdbe8ac634e29481b3ce74830f618bb8cc"
},
"downloads": -1,
"filename": "csv2bufr-0.8.3.tar.gz",
"has_sig": false,
"md5_digest": "2686eacd84b020bb0bc1398d8a2c2318",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 23463,
"upload_time": "2024-10-17T09:41:18",
"upload_time_iso_8601": "2024-10-17T09:41:18.925866Z",
"url": "https://files.pythonhosted.org/packages/9b/f0/52e145e9b778321c2492dd94e68249b32759fa86db58aab39c01b03cb692/csv2bufr-0.8.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-17 09:41:18",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "wmo-im",
"github_project": "csv2bufr",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "click",
"specs": []
},
{
"name": "eccodes",
"specs": []
},
{
"name": "jsonschema",
"specs": []
}
],
"lcname": "csv2bufr"
}