pyIEM


NamepyIEM JSON
Version 1.21.0 PyPI version JSON
download
home_pageNone
SummaryCollection of things that may help with processing weather data.
upload_time2024-09-06 17:36:33
maintainerNone
docs_urlNone
authorNone
requires_pythonNone
licenseApache
keywords meteorology
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            pyIEM
=====

A collection of python code that support various other python projects I have
and the [Iowa Environmental Mesonet](https://mesonet.agron.iastate.edu). A goal here is to upstream anything useful into [Unidata's MetPy](https://github.com/Unidata/MetPy) and also remove any redundant code.

[![CodeCov](https://codecov.io/gh/akrherz/pyIEM/branch/main/graph/badge.svg)](https://codecov.io/gh/akrherz/pyIEM)

Current release info
--------------------

| Name | Downloads | Version | Platforms |
| --- | --- | --- | --- |
| [![Conda Recipe](https://img.shields.io/badge/recipe-pyiem-green.svg)](https://anaconda.org/conda-forge/pyiem) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/pyiem.svg)](https://anaconda.org/conda-forge/pyiem) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/pyiem.svg)](https://anaconda.org/conda-forge/pyiem) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/pyiem.svg)](https://anaconda.org/conda-forge/pyiem) |

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](https://github.com/akrherz/pyWWA).  The main limitation is that the `pyWWA` parsers use [Twisted Python](https://twistedmatrix.com) 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.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "pyIEM",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": "meteorology",
    "author": null,
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/a2/89/f567231da92d5357f068eb4a1e41165555c1d1cd9e755200f5732e9b451f/pyiem-1.21.0.tar.gz",
    "platform": null,
    "description": "pyIEM\n=====\n\nA collection of python code that support various other python projects I have\nand the [Iowa Environmental Mesonet](https://mesonet.agron.iastate.edu). A goal here is to upstream anything useful into [Unidata's MetPy](https://github.com/Unidata/MetPy) and also remove any redundant code.\n\n[![CodeCov](https://codecov.io/gh/akrherz/pyIEM/branch/main/graph/badge.svg)](https://codecov.io/gh/akrherz/pyIEM)\n\nCurrent release info\n--------------------\n\n| Name | Downloads | Version | Platforms |\n| --- | --- | --- | --- |\n| [![Conda Recipe](https://img.shields.io/badge/recipe-pyiem-green.svg)](https://anaconda.org/conda-forge/pyiem) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/pyiem.svg)](https://anaconda.org/conda-forge/pyiem) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/pyiem.svg)](https://anaconda.org/conda-forge/pyiem) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/pyiem.svg)](https://anaconda.org/conda-forge/pyiem) |\n\nDependencies\n------------\n\nPython 3.9+ is required. Python releases 3.9 through 3.11 are actively tested\nand supported within this repository.\n\nThe codebase currently makes direct database calls with hardcoded assumptions\nof the hostname `iemdb.local` and database names.  Someday, I'll use a proper ORM\nand software design techniques to make this more extensible for others!\n\nInstallation\n------------\n\nSince this library depends on `Cartopy`, you likely do **not** want to let `pip`\ninstall `Cartopy`.  So the installation options are either:\n\n1. Install `Cartopy` via some other mechanism than `pip`.\n2. Install `pyiem` via pip.\n\nOr:\n\n1. Install `pyiem` via `conda` using the `conda-forge` channel.\n\nHow to use NWS product ingestors\n--------------------------------\n\nThis library provides a number of parsers for various NWS products. The implementation of these parsers can be found with my [pyWWA project](https://github.com/akrherz/pyWWA).  The main limitation is that the `pyWWA` parsers use [Twisted Python](https://twistedmatrix.com) 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?\n\nThe 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.\n\n```python\nfrom pyiem.nws.products import parser\ntext = open('MYFILE.txt').read()\nprod = parser(text)\nprint(prod.get_product_id())\n```\n\nThe actual methods and attributes on the `prod` object above will vary depending on the type of product involved.\n",
    "bugtrack_url": null,
    "license": "Apache",
    "summary": "Collection of things that may help with processing weather data.",
    "version": "1.21.0",
    "project_urls": {
        "homepage": "https://github.com/akrherz/pyIEM"
    },
    "split_keywords": [
        "meteorology"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a289f567231da92d5357f068eb4a1e41165555c1d1cd9e755200f5732e9b451f",
                "md5": "5ef89b8186d4004d319a267081eb6291",
                "sha256": "2f8f563ba6e5a96a0ff94aa7455e399ff315ea2cbd74a143cf6179def7d7821f"
            },
            "downloads": -1,
            "filename": "pyiem-1.21.0.tar.gz",
            "has_sig": false,
            "md5_digest": "5ef89b8186d4004d319a267081eb6291",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 34842657,
            "upload_time": "2024-09-06T17:36:33",
            "upload_time_iso_8601": "2024-09-06T17:36:33.647847Z",
            "url": "https://files.pythonhosted.org/packages/a2/89/f567231da92d5357f068eb4a1e41165555c1d1cd9e755200f5732e9b451f/pyiem-1.21.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-09-06 17:36:33",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "akrherz",
    "github_project": "pyIEM",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "pyiem"
}
        
Elapsed time: 1.94808s