A curated list of open technology projects to sustain a stable climate, energy supply, biodiversity and natural resources.

pyIEM

A collection of python support things that make my weather processing work, work.
https://github.com/akrherz/pyIEM

Category: Atmosphere
Sub Category: Meteorological Observation and Forecast

Keywords from Contributors

gan parallel weather mesonet iowa chemistry python-scripts github-pages distributed reinforcement-learning

Last synced: about 1 hour ago
JSON representation

Repository metadata

A collection of python support things that make my weather processing work, work.

README.md

pyIEM

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.

CodeCov

Current release info

Name Downloads Version Platforms
Conda Recipe Conda Downloads Conda Version Conda Platforms

Dependencies

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!

Installation

Since this library depends on Cartopy, you likely do not want to let pip
install Cartopy. So the installation options are either:

  1. Install Cartopy via some other mechanism than pip.
  2. Install pyiem via pip.

Or:

  1. Install pyiem via conda using the conda-forge channel.

How to use NWS product ingestors

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.


Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 6 days ago

Total Commits: 2,434
Total Committers: 4
Avg Commits per committer: 608.5
Development Distribution Score (DDS): 0.004

Commits in past year: 262
Committers in past year: 2
Avg Commits per committer in past year: 131.0
Development Distribution Score (DDS) in past year: 0.011

Name Email Commits
akrherz a****z@i****u 2425
pre-commit-ci[bot] 6****] 7
LGTM Migrator l****r 1
DeepSource Bot b****t@d****o 1

Committer domains:


Issue and Pull Request metadata

Last synced: 1 day ago

Total issues: 68
Total pull requests: 396
Average time to close issues: 5 months
Average time to close pull requests: about 2 hours
Total issue authors: 2
Total pull request authors: 3
Average comments per issue: 0.57
Average comments per pull request: 1.33
Merged pull request: 393
Bot issues: 0
Bot pull requests: 8

Past year issues: 23
Past year pull requests: 155
Past year average time to close issues: 4 days
Past year average time to close pull requests: 41 minutes
Past year issue authors: 1
Past year pull request authors: 2
Past year average comments per issue: 0.43
Past year average comments per pull request: 1.83
Past year merged pull request: 154
Past year bot issues: 0
Past year bot pull requests: 2

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/akrherz/pyIEM

Top Issue Authors

  • akrherz (67)
  • hluker (1)

Top Pull Request Authors

  • akrherz (388)
  • pre-commit-ci[bot] (7)
  • lgtm-com[bot] (1)

Top Issue Labels

  • enhancement (44)
  • bug (28)

Top Pull Request Labels


Package metadata

pypi.org: pyiem

Collection of things that may help with processing weather data.

  • Homepage:
  • Documentation: https://pyiem.readthedocs.io/
  • Licenses: Apache
  • Latest release: 1.23.0 (published about 2 months ago)
  • Last Synced: 2025-04-26T14:03:39.042Z (1 day ago)
  • Versions: 41
  • Dependent Packages: 1
  • Dependent Repositories: 6
  • Downloads: 608 Last month
  • Rankings:
    • Dependent repos count: 5.991%
    • Dependent packages count: 10.141%
    • Stargazers count: 10.4%
    • Average: 11.015%
    • Forks count: 11.917%
    • Downloads: 16.628%
  • Maintainers (1)
conda-forge.org: pyiem

pyIEM contains a wide collection of codes relevant for working with US National Weather Service data and code that supports the Iowa Environmental Mesonet project at Iowa State University.

  • Homepage: https://github.com/akrherz/pyIEM
  • Licenses: Apache-2.0
  • Latest release: 1.14.0 (published over 2 years ago)
  • Last Synced: 2025-04-26T14:03:44.487Z (1 day ago)
  • Versions: 11
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Rankings:
    • Dependent repos count: 24.412%
    • Average: 42.139%
    • Stargazers count: 43.53%
    • Forks count: 48.999%
    • Dependent packages count: 51.614%

Dependencies

pip_requirements.txt pypi
  • backports.zoneinfo *
  • sphinxcontrib-napoleon *
.github/workflows/codeql.yml actions
  • actions/checkout v3 composite
  • github/codeql-action/analyze v2 composite
  • github/codeql-action/autobuild v2 composite
  • github/codeql-action/init v2 composite
.github/workflows/main.yml actions
  • JamesIves/github-pages-deploy-action releases/v3 composite
  • actions/checkout v2 composite
pyproject.toml pypi
setup.py pypi
environment.yml pypi

Score: 12.073843262066594