{ "info": { "author": "Greg Clunies", "author_email": "greg.clunies@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Science/Research", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Scientific/Engineering" ], "description": "# noaa_coops\n\n[![Build Status](https://travis-ci.org/GClunies/noaa_coops.svg?branch=master)](https://travis-ci.org/GClunies/noaa_coops)\n[![PyPI](https://img.shields.io/pypi/v/noaa_coops.svg)](https://pypi.python.org/pypi/noaa-coops)\n[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/noaa_coops.svg)](https://pypi.python.org/pypi/noaa-coops)\n\n`noaa_coops` is a Python wrapper for the NOAA CO-OPS Tides & Currents [Data](https://tidesandcurrents.noaa.gov/api/)\nand [Metadata](https://tidesandcurrents.noaa.gov/mdapi/latest/) APIs.\n\n\nThis package is an evolution of [py_noaa](https://github.com/GClunies/py_noaa), the main addition being the creation of a `Station` class that is central to \n `noaa_coops` and provides distinct advantages over `py_noaa`.\n\n## Use\n---\nAll data and metadata is handled using a `Station` class with methods and \nattributes for retrieving metadata, observed data, and predicted data.\n\n### Getting Metadata\n\nAll available metadata for a desired station (identifed by unique `stationid`) \nis automagically generated when a `Station` object is initialzed. Station IDs \ncan be found using the mapping interface at https://tidesandcurrents.noaa.gov/.\nAll metadata is stored as a dictionary in the `.metadata` attribute of a \n`Station` object for easy exploration (e.g. `seattle.metadata`). Additionally, \nthe keys of the metadata attribute dictionary are also assigned as attributes \nof the station object itself (easily explored using tab-completion in your IDE).\nFor example:\n\n```python\n>>> from pprint import pprint # For pretty printing\n>>> import noaa_coops as nc\n>>> seattle = nc.Station(9447130)\n>>> pprint(seattle.lat_lon['lat'])\n47.601944\n>>> pprint(seattle.lat_lon['lon'])\n-122.339167\n\n```\n\n### Getting Observed or Predicted Data\nStation data can be retrieved using the `.get_data` method on a `Station` \nclass object. Data is returned as a Pandas DataFrame for easy use and analysis. \nData types are listed on the [NOAA CO-OPS Data API](https://tidesandcurrents.noaa.gov/api/#products). The data types currently supported for retrieval with `noaa_coops` are:\n\n - Currents\n - Observed water levels\n - Observered daily high and low water levels (use `product=\"high_low\"`)\n - Predicted water levels\n - Predicted high and low water levels\n - Winds\n - Air pressure\n - Air temperature\n - Water temperature\n\nCompatibility with other data products may exist, but is not guaranteed at this \ntime. Feel free to submit a pull request if you would like to add addtional \nfunctionality.\n\nIn the example below, water level data is retrieved for the Seattle station (`stationid`=9447130) for a 3 month period.\n\n```python\n>>> import noaa_coops as nc\n>>> seattle = nc.Station(9447130)\n>>> df_water_levels = seattle.get_data(\n... begin_date=\"20150101\",\n... end_date=\"20150331\",\n... product=\"water_level\",\n... datum=\"MLLW\",\n... units=\"metric\",\n... time_zone=\"gmt\")\n>>> df_water_levels.head() # doctest: +NORMALIZE_WHITESPACE\n water_level sigma flags QC\ndate_time \n2015-01-01 00:00:00 1.799 0.023 0,0,0,0 v\n2015-01-01 00:06:00 1.718 0.018 0,0,0,0 v\n2015-01-01 00:12:00 1.639 0.013 0,0,0,0 v\n2015-01-01 00:18:00 1.557 0.012 0,0,0,0 v\n2015-01-01 00:24:00 1.473 0.014 0,0,0,0 v\n\n```\n\n## Requirements\n\nFor use:\n- requests\n- numpy\n- pandas\n\nFor development/contributions:\n- pytest\n- pytest-cov\n\n\n## TODO\nSee [issues](https://github.com/GClunies/py_noaa/issues) for a list of issues \nand to add issues of your own.\n\n## Contribution\nAll contributions are welcome, feel free to submit a pull request if you have a valuable addition to the package or constructive feedback.\n\n**Many thanks to the following contributors!**\n- [@delgadom](https://github.com/delgadom)\n- [@CraigHarter](https://github.com/CraigHarter)\n- [@jcconnel](https://github.com/jcconnell)\n- [@fabaff](https://github.com/fabaff)\n- [@taataam](https://github.com/taataam)\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/GClunies/noaa_coops", "keywords": "", "license": "GNU GPL", "maintainer": "", "maintainer_email": "", "name": "noaa-coops", "package_url": "https://pypi.org/project/noaa-coops/", "platform": "", "project_url": "https://pypi.org/project/noaa-coops/", "project_urls": { "Homepage": "https://github.com/GClunies/noaa_coops" }, "release_url": "https://pypi.org/project/noaa-coops/0.1.5/", "requires_dist": [ "requests", "numpy", "pandas", "zeep" ], "requires_python": "", "summary": "Python wrapper for NOAA Tides & Currents Data and Metadata", "version": "0.1.5" }, "last_serial": 5684483, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "0d5744cddd22ca4672e0ff0de519720c", "sha256": "00043f84ca4b05199ace3df87fdef75e7b2d460becc0af983c5ec7ebccedac4a" }, "downloads": -1, "filename": "noaa_coops-0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "0d5744cddd22ca4672e0ff0de519720c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 21165, "upload_time": "2019-07-01T02:46:20", "url": "https://files.pythonhosted.org/packages/bb/51/76ce051788a0fa1360e6451d7a0864c7aa1b13042ce3dff4888122eef194/noaa_coops-0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6d3db846ca83b0e4661440ad3105e22f", "sha256": "5d1706d3ae67a3959cf470dd09c18adafb57db7c5b608f954bf727416b5c8867" }, "downloads": -1, "filename": "noaa_coops-0.1.tar.gz", "has_sig": false, "md5_digest": "6d3db846ca83b0e4661440ad3105e22f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8649, "upload_time": "2019-07-01T02:46:22", "url": "https://files.pythonhosted.org/packages/f2/dd/64594c85a32134a07bc21be43a39d691c6ca717142493c42d547e7f904a4/noaa_coops-0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "60572fbc9c9b9b1549c79daae74b0cb5", "sha256": "6d2483a050846a2581e539ef72fc2720588b0bd0cf5d3c79983949bdbcca0895" }, "downloads": -1, "filename": "noaa_coops-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "60572fbc9c9b9b1549c79daae74b0cb5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 21094, "upload_time": "2019-07-01T03:43:15", "url": "https://files.pythonhosted.org/packages/44/d3/d8e4d94a2c38a869130e71b78ba399c4ae90d6d2a16c4f46a197c0b9e1e6/noaa_coops-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ab3302e6ec018ee210498b122fde5b35", "sha256": "d947b12997c822c145740c2ea37fd756de300354e3b11e4f39b975460f2740f4" }, "downloads": -1, "filename": "noaa_coops-0.1.1.tar.gz", "has_sig": false, "md5_digest": "ab3302e6ec018ee210498b122fde5b35", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10186, "upload_time": "2019-07-01T03:43:17", "url": "https://files.pythonhosted.org/packages/62/21/a2b5388fc2c664af2f39e55b39d72ce0a9c41c72a84918ed778c2deb8871/noaa_coops-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "ba6e80fc2c6860721ebff5eb8f4f024f", "sha256": "686bcf85b63a7a78102c39d9e6e62fe20df6d5d84fc68054710db8daa41e5f27" }, "downloads": -1, "filename": "noaa_coops-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "ba6e80fc2c6860721ebff5eb8f4f024f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 21100, "upload_time": "2019-07-12T16:05:54", "url": "https://files.pythonhosted.org/packages/f3/2e/52908edd16b9552a063ce693478d5e4825eade5b41de52749974eba14363/noaa_coops-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b973952ba7ff861339e154a634012338", "sha256": "55f8a4b01c69bccc6308b3c04543eac3b386af6760efe458cc33ecc471934d80" }, "downloads": -1, "filename": "noaa_coops-0.1.2.tar.gz", "has_sig": false, "md5_digest": "b973952ba7ff861339e154a634012338", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8552, "upload_time": "2019-07-12T16:05:58", "url": "https://files.pythonhosted.org/packages/cd/14/a76092d5bcffc822bd515603da264fb7e7edac1c59400bbafaa556044e09/noaa_coops-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "0dd4acc2c41af39bedbc147041b72a2c", "sha256": "2c598a139e287c6e2becc439d8f84e825607cc23cde498bafb3cc424dbdcb96f" }, "downloads": -1, "filename": "noaa_coops-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "0dd4acc2c41af39bedbc147041b72a2c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 21409, "upload_time": "2019-08-11T23:27:01", "url": "https://files.pythonhosted.org/packages/9d/af/6d4b8afa9be80e4a312709c3e9af2ca076b452767938589c6f7eaa6a95e0/noaa_coops-0.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e565901fd58491e57842654c5063055f", "sha256": "d3c9a983d1707f2c766f2bee30a3f1b56116cc3db253a0a9434f91a5e651c8b1" }, "downloads": -1, "filename": "noaa_coops-0.1.3.tar.gz", "has_sig": false, "md5_digest": "e565901fd58491e57842654c5063055f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10766, "upload_time": "2019-08-11T23:27:03", "url": "https://files.pythonhosted.org/packages/25/5f/00e3be9325846c5fb6b29a169ef988db96aff8dae01295b37f0ed0816f04/noaa_coops-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "d6bb35a1a860a959c15978309625213f", "sha256": "f782c55f4c2d4fe9804e61e284bc8a9ab8f2fe3a18c9d0e97c234de0366d2e67" }, "downloads": -1, "filename": "noaa_coops-0.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "d6bb35a1a860a959c15978309625213f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 21517, "upload_time": "2019-08-14T04:29:39", "url": "https://files.pythonhosted.org/packages/25/ad/5af88a1a9a1e81bf6ee021b90ff8603d2d60374472ef34a7f6a8d7ad4663/noaa_coops-0.1.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1cc38442521f1c5c1b240c47623f5d96", "sha256": "d6fa8cabaa78e7bcd3bdd45907cf144c33bebd7695d861b94391a9c4b2f05937" }, "downloads": -1, "filename": "noaa_coops-0.1.4.tar.gz", "has_sig": false, "md5_digest": "1cc38442521f1c5c1b240c47623f5d96", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10884, "upload_time": "2019-08-14T04:29:41", "url": "https://files.pythonhosted.org/packages/ff/bc/57d74eea25513644d76a34b8ada78e0453365e1f69ab636271dbd4367a52/noaa_coops-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "9d0642ffd3bcaa23b7691f4ed371af74", "sha256": "237d52ea2d82f8fb6952495a6d2bd6244f4e395ad517de5d03f5ab9000fe4334" }, "downloads": -1, "filename": "noaa_coops-0.1.5-py3-none-any.whl", "has_sig": false, "md5_digest": "9d0642ffd3bcaa23b7691f4ed371af74", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 21732, "upload_time": "2019-08-15T21:47:06", "url": "https://files.pythonhosted.org/packages/7e/d0/37be9230dd38248f1f06be3af137f165a00b0b8dfb9b3c764d9a45d46e13/noaa_coops-0.1.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9288d281acbd2fece2dbc9e188613af7", "sha256": "650c5a64244b8e8b4ffdf24aae7c892ff9ef9cb9444c003018046802a92fbc4a" }, "downloads": -1, "filename": "noaa_coops-0.1.5.tar.gz", "has_sig": false, "md5_digest": "9288d281acbd2fece2dbc9e188613af7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9170, "upload_time": "2019-08-15T21:47:08", "url": "https://files.pythonhosted.org/packages/56/a5/dd13f3943f7f19ef0db2740745e947b936f203cebd9c42c32a53cdacb0be/noaa_coops-0.1.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "9d0642ffd3bcaa23b7691f4ed371af74", "sha256": "237d52ea2d82f8fb6952495a6d2bd6244f4e395ad517de5d03f5ab9000fe4334" }, "downloads": -1, "filename": "noaa_coops-0.1.5-py3-none-any.whl", "has_sig": false, "md5_digest": "9d0642ffd3bcaa23b7691f4ed371af74", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 21732, "upload_time": "2019-08-15T21:47:06", "url": "https://files.pythonhosted.org/packages/7e/d0/37be9230dd38248f1f06be3af137f165a00b0b8dfb9b3c764d9a45d46e13/noaa_coops-0.1.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9288d281acbd2fece2dbc9e188613af7", "sha256": "650c5a64244b8e8b4ffdf24aae7c892ff9ef9cb9444c003018046802a92fbc4a" }, "downloads": -1, "filename": "noaa_coops-0.1.5.tar.gz", "has_sig": false, "md5_digest": "9288d281acbd2fece2dbc9e188613af7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9170, "upload_time": "2019-08-15T21:47:08", "url": "https://files.pythonhosted.org/packages/56/a5/dd13f3943f7f19ef0db2740745e947b936f203cebd9c42c32a53cdacb0be/noaa_coops-0.1.5.tar.gz" } ] }