A collection of python code that support various other python projects I have and the Iowa Environmental Mesonet. A goal here is to upstream anything useful into Unidata's MetPy and also remove any redundant code.
Name | Downloads | Version | Platforms |
---|---|---|---|
Python 3.9+ is required. Python releases 3.9 through 3.11 are actively tested and supported within this repository.
The codebase currently makes direct database calls with hardcoded assumptions
of the hostname iemdb.local
and database names. Someday, I'll use a proper ORM
and software design techniques to make this more extensible for others!
Since this library depends on Cartopy
, you likely do not want to let pip
install Cartopy
. So the installation options are either:
- Install
Cartopy
via some other mechanism thanpip
. - Install
pyiem
via pip.
Or:
- Install
pyiem
viaconda
using theconda-forge
channel.
This library provides a number of parsers for various NWS products. The implementation of these parsers can be found with my pyWWA project. The main limitation is that the pyWWA
parsers use Twisted Python and thus have a somewhat steep learning curve. The pyIEM
parsers do not require the usage of Twisted though, so how does one use them?
The general entry point for a text product is the parser
method of pyiem.nws.products
. So given a NWS text file, the code would look like.
from pyiem.nws.products import parser
text = open('MYFILE.txt').read()
prod = parser(text)
print(prod.get_product_id())
The actual methods and attributes on the prod
object above will vary depending on the type of product involved.