pyIEM

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

https://github.com/akrherz/pyIEM

Science Score: 36.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    1 of 5 committers (20.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.5%) to scientific vocabulary

Keywords from Contributors

genomics profiles mesh hydrology transformers energy-system-model parallel optimizer plots distribution
Last synced: 10 months ago · JSON representation

Repository

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

Basic Info
  • Host: GitHub
  • Owner: akrherz
  • License: mit
  • Language: Python
  • Default Branch: main
  • Size: 205 MB
Statistics
  • Stars: 49
  • Watchers: 5
  • Forks: 9
  • Open Issues: 29
  • Releases: 0
Created over 13 years ago · Last pushed 10 months ago
Metadata Files
Readme Changelog License

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.10+ is required. Python releases 3.10 through 3.13 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.

python 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

  • Name: daryl herzmann
  • Login: akrherz
  • Kind: user
  • Location: Ames Iowa
  • Company: Iowa State University

Someday, I will become a real programmer. Until then, avert your eyes.

GitHub Events

Total
  • Create event: 104
  • Release event: 2
  • Issues event: 34
  • Watch event: 6
  • Delete event: 103
  • Issue comment event: 230
  • Push event: 299
  • Pull request review comment event: 50
  • Pull request review event: 64
  • Pull request event: 210
Last Year
  • Create event: 104
  • Release event: 2
  • Issues event: 34
  • Watch event: 6
  • Delete event: 103
  • Issue comment event: 230
  • Push event: 299
  • Pull request review comment event: 50
  • Pull request review event: 64
  • Pull request event: 210

Committers

Last synced: 10 months ago

All Time
  • Total Commits: 2,499
  • Total Committers: 5
  • Avg Commits per committer: 499.8
  • Development Distribution Score (DDS): 0.004
Past Year
  • Commits: 255
  • Committers: 3
  • Avg Commits per committer: 85.0
  • Development Distribution Score (DDS): 0.016
Top Committers
Name Email Commits
akrherz a****z@i****u 2,488
pre-commit-ci[bot] 6****] 8
dependabot[bot] 4****] 1
LGTM Migrator l****r 1
DeepSource Bot b****t@d****o 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 71
  • Total pull requests: 594
  • Average time to close issues: 3 months
  • Average time to close pull requests: about 3 hours
  • Total issue authors: 2
  • Total pull request authors: 4
  • Average comments per issue: 0.52
  • Average comments per pull request: 1.38
  • Merged pull requests: 552
  • Bot issues: 0
  • Bot pull requests: 16
Past Year
  • Issues: 20
  • Pull requests: 238
  • Average time to close issues: 2 days
  • Average time to close pull requests: about 2 hours
  • Issue authors: 1
  • Pull request authors: 3
  • Average comments per issue: 0.5
  • Average comments per pull request: 1.82
  • Merged pull requests: 211
  • Bot issues: 0
  • Bot pull requests: 7
Top Authors
Issue Authors
  • akrherz (70)
  • hluker (1)
Pull Request Authors
  • akrherz (578)
  • pre-commit-ci[bot] (12)
  • dependabot[bot] (3)
  • lgtm-com[bot] (1)
Top Labels
Issue Labels
enhancement (45) bug (29)
Pull Request Labels

Packages

  • Total packages: 4
  • Total downloads:
    • pypi 229 last-month
  • Total dependent packages: 1
    (may contain duplicates)
  • Total dependent repositories: 7
    (may contain duplicates)
  • Total versions: 125
  • Total maintainers: 1
proxy.golang.org: github.com/akrherz/pyIEM
  • Versions: 36
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.4%
Average: 5.6%
Dependent repos count: 5.8%
Last synced: 10 months ago
proxy.golang.org: github.com/akrherz/pyiem
  • Versions: 36
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.4%
Average: 5.6%
Dependent repos count: 5.8%
Last synced: 10 months ago
pypi.org: pyiem

Collection of things that may help with processing weather data.

  • Versions: 42
  • Dependent Packages: 1
  • Dependent Repositories: 6
  • Downloads: 229 Last month
Rankings
Dependent repos count: 6.0%
Dependent packages count: 10.1%
Stargazers count: 10.4%
Average: 11.0%
Forks count: 11.9%
Downloads: 16.6%
Maintainers (1)
Last synced: 10 months ago
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.

  • Versions: 11
  • Dependent Packages: 0
  • Dependent Repositories: 1
Rankings
Dependent repos count: 24.4%
Average: 42.1%
Stargazers count: 43.5%
Forks count: 49.0%
Dependent packages count: 51.6%
Last synced: 10 months ago

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