Reads NOAA Integrated Surface Database (ISD) data.
pip install isdThere is a simple command line interface.
The isd record command prints a single record in JSON format:
isd record tests/data/720538-00164-2021The Python API allows reading compressed and uncompressed ISD files:
from isd import Batch
batch = Batch.from_path("isd-file")
for record in batch:
print(record)Streaming is also supported:
import isd.io
with isd.io.open("isd-file") as records_iterator:
records = list(records_iterator)There is currently no parsing of the additional_data section, but all mandatory fields are parsed out into appropriately-typed fields on a Record.
Install the development requirements and the package in editable mode:
pip install -e '.[dev]'To run the unit tests:
pytestTo cut a new release of pyisd (assuming you have the appropriate permissions):
- Create a new branch, e.g.
release/v0.1.4. - Update pre-commit hooks:
pre-commit autoupdate - Update the CHANGELOG and pyproject.toml.
- Open a pull request with the changes.
- Merge the pull request once all required checks pass.
- Create an annotated tag, e.g.
git tag -a v0.1.4. - Push the annotated tag to github.
- Create a Github release. This will trigger a new PyPI release.