diff options
| author | CoprDistGit <infra@openeuler.org> | 2023-05-15 03:46:39 +0000 |
|---|---|---|
| committer | CoprDistGit <infra@openeuler.org> | 2023-05-15 03:46:39 +0000 |
| commit | 6d8743b5349318225c7c95a794cb78f3adab52b7 (patch) | |
| tree | c599bf09552d6568480319726cc2b75627fe329d | |
| parent | 35c7eca952a75844c5c24e7dafec0943d3bded8f (diff) | |
automatic import of python-noaa-coops
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | python-noaa-coops.spec | 457 | ||||
| -rw-r--r-- | sources | 1 |
3 files changed, 459 insertions, 0 deletions
@@ -0,0 +1 @@ +/noaa_coops-0.3.1.tar.gz diff --git a/python-noaa-coops.spec b/python-noaa-coops.spec new file mode 100644 index 0000000..305e2a8 --- /dev/null +++ b/python-noaa-coops.spec @@ -0,0 +1,457 @@ +%global _empty_manifest_terminate_build 0 +Name: python-noaa-coops +Version: 0.3.1 +Release: 1 +Summary: Python wrapper for NOAA Tides & Currents Data and Metadata. +License: Apache-2.0 +URL: https://github.com/GClunies/noaa_coops +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/79/98/9050482cf57a15da9a07598f5ed16ecbff6a46069b0be181e6d3f4f89af5/noaa_coops-0.3.1.tar.gz +BuildArch: noarch + +Requires: python3-requests +Requires: python3-numpy +Requires: python3-pandas +Requires: python3-zeep + +%description +# noaa_coops + +[](https://pypi.python.org/pypi/noaa-coops) +[](https://pypi.python.org/pypi/noaa-coops) + +A Python wrapper for the NOAA CO-OPS Tides & Currents [Data](https://tidesandcurrents.noaa.gov/api/) +and [Metadata](https://tidesandcurrents.noaa.gov/mdapi/latest/) APIs. + +## Installation +This package is distributed via [PyPi](https://pypi.org/project/noaa-coops/) and can be installed using , `pip`, `poetry`, etc. +```bash +# Install with pip +❯ pip install noaa_coops + +# Install with poetry +❯ poetry add noaa_coops +``` + +## Getting Started + +### Stations +Data is accessed via `Station` class objects. Each station is uniquely identified by an `id`. To initialize a `Station` object, run: + +```python +>>> from noaa_coops import Station +>>> seattle = Station(id="9447130") # Create Station object for Seattle (ID = 9447130) +``` + +Stations and their IDs can be found using the Tides & Currents [mapping interface](https://tidesandcurrents.noaa.gov/). Alternatively, you can search for stations in a bounding box using the `get_stations_from_bbox` function, which will return a list of stations found in the box (if any). +```python +>>> from pprint import pprint +>>> from noaa_coops import Station, get_stations_from_bbox +>>> stations = get_stations_from_bbox(lat_coords=[40.389, 40.9397], lon_coords=[-74.4751, -73.7432]) +>>> pprint(stations) +['8516945', '8518750', '8519483', '8531680'] +>>> station_one = Station(id="8516945") +>>> pprint(station_one.name) +'Kings Point' +``` + +### Metadata +Station metadata is stored in the `.metadata` attribute of a `Station` object. Additionally, the keys of the metadata attribute dictionary are also assigned as attributes of the station object itself. + +```python +>>> from pprint import pprint +>>> from noaa_coops import Station +>>> seattle = Station(id="9447130") +>>> pprint(list(seattle.metadata.items())[:5]) # Print first 3 items in metadata +[('tidal', True), ('greatlakes', False), ('shefcode', 'EBSW1')] # Metadata dictionary can be very long +>>> pprint(seattle.lat_lon['lat']) # Print latitude +47.601944 +>>> pprint(seattle.lat_lon['lon']) # Print longitude +-122.339167 +``` + +### Data Inventory +A description of a Station's data products and available dates can be accessed via the `.data_inventory` attribute of a `Station` object. + +```python +>>> from noaa_coops import Station +>>> from pprint import pprint +>>> seattle = Station(id="9447130") +>>> pprint(seattle.data_inventory) +{'Air Temperature': {'end_date': '2019-01-02 18:36', + 'start_date': '1991-11-09 01:00'}, + 'Barometric Pressure': {'end_date': '2019-01-02 18:36', + 'start_date': '1991-11-09 00:00'}, + 'Preliminary 6-Minute Water Level': {'end_date': '2023-02-05 19:54', + 'start_date': '2001-01-01 00:00'}, + 'Verified 6-Minute Water Level': {'end_date': '2022-12-31 23:54', + 'start_date': '1995-06-01 00:00'}, + 'Verified High/Low Water Level': {'end_date': '2022-12-31 23:54', + 'start_date': '1977-10-18 02:18'}, + 'Verified Hourly Height Water Level': {'end_date': '2022-12-31 23:00', + 'start_date': '1899-01-01 00:00'}, + 'Verified Monthly Mean Water Level': {'end_date': '2022-12-31 23:54', + 'start_date': '1898-12-01 00:00'}, + 'Water Temperature': {'end_date': '2019-01-02 18:36', + 'start_date': '1991-11-09 00:00'}, + 'Wind': {'end_date': '2019-01-02 18:36', 'start_date': '1991-11-09 00:00'}} +``` + +### Data Retrieval +Available data products can be found in NOAA CO-OPS Data API docs. + +Station data can be fetched using the `.get_data` method on a `Station` object. Data is returned as a Pandas [DataFrame](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.html) for ease of use and analysis. DataFrame columns are named according to the NOAA CO-OPS API [docs](https://api.tidesandcurrents.noaa.gov/api/prod/responseHelp.html), with the `t` column (timestamp) set as the DataFrame index. + +The example below fetches water level data from the Seattle station (id=9447130) for a 1 month period. The corresponding [web output](https://tidesandcurrents.noaa.gov/waterlevels.html?id=9447130&units=metric&bdate=20150101&edate=20150131&timezone=GMT&datum=MLLW) is shown below the code as a reference. + +```python +>>> from noaa_coops import Station +>>> seattle = Station(id="9447130") +>>> df_water_levels = seattle.get_data( +... begin_date="20150101", +... end_date="20150131", +... product="water_level", +... datum="MLLW", +... units="metric", +... time_zone="gmt") +>>> df_water_levels.head() + v s f q +t +2015-01-01 00:00:00 1.799 0.023 0,0,0,0 v +2015-01-01 00:06:00 1.718 0.018 0,0,0,0 v +2015-01-01 00:12:00 1.639 0.013 0,0,0,0 v +2015-01-01 00:18:00 1.557 0.012 0,0,0,0 v +2015-01-01 00:24:00 1.473 0.014 0,0,0,0 v + +``` + + + + +## Development + +### Requirements +This package and its dependencies are managed using [poetry](https://python-poetry.org/). To install the development environment for `noaa_coops`, first install poetry, then run (inside the repo): + +```bash +poetry install +``` + +### TODO +Click [here](https://github.com/GClunies/noaa_coops/issues) for a list of existing issues and to submit a new one. + +### Contribution +Contributions are welcome, feel free to submit a pull request. + + +%package -n python3-noaa-coops +Summary: Python wrapper for NOAA Tides & Currents Data and Metadata. +Provides: python-noaa-coops +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-noaa-coops +# noaa_coops + +[](https://pypi.python.org/pypi/noaa-coops) +[](https://pypi.python.org/pypi/noaa-coops) + +A Python wrapper for the NOAA CO-OPS Tides & Currents [Data](https://tidesandcurrents.noaa.gov/api/) +and [Metadata](https://tidesandcurrents.noaa.gov/mdapi/latest/) APIs. + +## Installation +This package is distributed via [PyPi](https://pypi.org/project/noaa-coops/) and can be installed using , `pip`, `poetry`, etc. +```bash +# Install with pip +❯ pip install noaa_coops + +# Install with poetry +❯ poetry add noaa_coops +``` + +## Getting Started + +### Stations +Data is accessed via `Station` class objects. Each station is uniquely identified by an `id`. To initialize a `Station` object, run: + +```python +>>> from noaa_coops import Station +>>> seattle = Station(id="9447130") # Create Station object for Seattle (ID = 9447130) +``` + +Stations and their IDs can be found using the Tides & Currents [mapping interface](https://tidesandcurrents.noaa.gov/). Alternatively, you can search for stations in a bounding box using the `get_stations_from_bbox` function, which will return a list of stations found in the box (if any). +```python +>>> from pprint import pprint +>>> from noaa_coops import Station, get_stations_from_bbox +>>> stations = get_stations_from_bbox(lat_coords=[40.389, 40.9397], lon_coords=[-74.4751, -73.7432]) +>>> pprint(stations) +['8516945', '8518750', '8519483', '8531680'] +>>> station_one = Station(id="8516945") +>>> pprint(station_one.name) +'Kings Point' +``` + +### Metadata +Station metadata is stored in the `.metadata` attribute of a `Station` object. Additionally, the keys of the metadata attribute dictionary are also assigned as attributes of the station object itself. + +```python +>>> from pprint import pprint +>>> from noaa_coops import Station +>>> seattle = Station(id="9447130") +>>> pprint(list(seattle.metadata.items())[:5]) # Print first 3 items in metadata +[('tidal', True), ('greatlakes', False), ('shefcode', 'EBSW1')] # Metadata dictionary can be very long +>>> pprint(seattle.lat_lon['lat']) # Print latitude +47.601944 +>>> pprint(seattle.lat_lon['lon']) # Print longitude +-122.339167 +``` + +### Data Inventory +A description of a Station's data products and available dates can be accessed via the `.data_inventory` attribute of a `Station` object. + +```python +>>> from noaa_coops import Station +>>> from pprint import pprint +>>> seattle = Station(id="9447130") +>>> pprint(seattle.data_inventory) +{'Air Temperature': {'end_date': '2019-01-02 18:36', + 'start_date': '1991-11-09 01:00'}, + 'Barometric Pressure': {'end_date': '2019-01-02 18:36', + 'start_date': '1991-11-09 00:00'}, + 'Preliminary 6-Minute Water Level': {'end_date': '2023-02-05 19:54', + 'start_date': '2001-01-01 00:00'}, + 'Verified 6-Minute Water Level': {'end_date': '2022-12-31 23:54', + 'start_date': '1995-06-01 00:00'}, + 'Verified High/Low Water Level': {'end_date': '2022-12-31 23:54', + 'start_date': '1977-10-18 02:18'}, + 'Verified Hourly Height Water Level': {'end_date': '2022-12-31 23:00', + 'start_date': '1899-01-01 00:00'}, + 'Verified Monthly Mean Water Level': {'end_date': '2022-12-31 23:54', + 'start_date': '1898-12-01 00:00'}, + 'Water Temperature': {'end_date': '2019-01-02 18:36', + 'start_date': '1991-11-09 00:00'}, + 'Wind': {'end_date': '2019-01-02 18:36', 'start_date': '1991-11-09 00:00'}} +``` + +### Data Retrieval +Available data products can be found in NOAA CO-OPS Data API docs. + +Station data can be fetched using the `.get_data` method on a `Station` object. Data is returned as a Pandas [DataFrame](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.html) for ease of use and analysis. DataFrame columns are named according to the NOAA CO-OPS API [docs](https://api.tidesandcurrents.noaa.gov/api/prod/responseHelp.html), with the `t` column (timestamp) set as the DataFrame index. + +The example below fetches water level data from the Seattle station (id=9447130) for a 1 month period. The corresponding [web output](https://tidesandcurrents.noaa.gov/waterlevels.html?id=9447130&units=metric&bdate=20150101&edate=20150131&timezone=GMT&datum=MLLW) is shown below the code as a reference. + +```python +>>> from noaa_coops import Station +>>> seattle = Station(id="9447130") +>>> df_water_levels = seattle.get_data( +... begin_date="20150101", +... end_date="20150131", +... product="water_level", +... datum="MLLW", +... units="metric", +... time_zone="gmt") +>>> df_water_levels.head() + v s f q +t +2015-01-01 00:00:00 1.799 0.023 0,0,0,0 v +2015-01-01 00:06:00 1.718 0.018 0,0,0,0 v +2015-01-01 00:12:00 1.639 0.013 0,0,0,0 v +2015-01-01 00:18:00 1.557 0.012 0,0,0,0 v +2015-01-01 00:24:00 1.473 0.014 0,0,0,0 v + +``` + + + + +## Development + +### Requirements +This package and its dependencies are managed using [poetry](https://python-poetry.org/). To install the development environment for `noaa_coops`, first install poetry, then run (inside the repo): + +```bash +poetry install +``` + +### TODO +Click [here](https://github.com/GClunies/noaa_coops/issues) for a list of existing issues and to submit a new one. + +### Contribution +Contributions are welcome, feel free to submit a pull request. + + +%package help +Summary: Development documents and examples for noaa-coops +Provides: python3-noaa-coops-doc +%description help +# noaa_coops + +[](https://pypi.python.org/pypi/noaa-coops) +[](https://pypi.python.org/pypi/noaa-coops) + +A Python wrapper for the NOAA CO-OPS Tides & Currents [Data](https://tidesandcurrents.noaa.gov/api/) +and [Metadata](https://tidesandcurrents.noaa.gov/mdapi/latest/) APIs. + +## Installation +This package is distributed via [PyPi](https://pypi.org/project/noaa-coops/) and can be installed using , `pip`, `poetry`, etc. +```bash +# Install with pip +❯ pip install noaa_coops + +# Install with poetry +❯ poetry add noaa_coops +``` + +## Getting Started + +### Stations +Data is accessed via `Station` class objects. Each station is uniquely identified by an `id`. To initialize a `Station` object, run: + +```python +>>> from noaa_coops import Station +>>> seattle = Station(id="9447130") # Create Station object for Seattle (ID = 9447130) +``` + +Stations and their IDs can be found using the Tides & Currents [mapping interface](https://tidesandcurrents.noaa.gov/). Alternatively, you can search for stations in a bounding box using the `get_stations_from_bbox` function, which will return a list of stations found in the box (if any). +```python +>>> from pprint import pprint +>>> from noaa_coops import Station, get_stations_from_bbox +>>> stations = get_stations_from_bbox(lat_coords=[40.389, 40.9397], lon_coords=[-74.4751, -73.7432]) +>>> pprint(stations) +['8516945', '8518750', '8519483', '8531680'] +>>> station_one = Station(id="8516945") +>>> pprint(station_one.name) +'Kings Point' +``` + +### Metadata +Station metadata is stored in the `.metadata` attribute of a `Station` object. Additionally, the keys of the metadata attribute dictionary are also assigned as attributes of the station object itself. + +```python +>>> from pprint import pprint +>>> from noaa_coops import Station +>>> seattle = Station(id="9447130") +>>> pprint(list(seattle.metadata.items())[:5]) # Print first 3 items in metadata +[('tidal', True), ('greatlakes', False), ('shefcode', 'EBSW1')] # Metadata dictionary can be very long +>>> pprint(seattle.lat_lon['lat']) # Print latitude +47.601944 +>>> pprint(seattle.lat_lon['lon']) # Print longitude +-122.339167 +``` + +### Data Inventory +A description of a Station's data products and available dates can be accessed via the `.data_inventory` attribute of a `Station` object. + +```python +>>> from noaa_coops import Station +>>> from pprint import pprint +>>> seattle = Station(id="9447130") +>>> pprint(seattle.data_inventory) +{'Air Temperature': {'end_date': '2019-01-02 18:36', + 'start_date': '1991-11-09 01:00'}, + 'Barometric Pressure': {'end_date': '2019-01-02 18:36', + 'start_date': '1991-11-09 00:00'}, + 'Preliminary 6-Minute Water Level': {'end_date': '2023-02-05 19:54', + 'start_date': '2001-01-01 00:00'}, + 'Verified 6-Minute Water Level': {'end_date': '2022-12-31 23:54', + 'start_date': '1995-06-01 00:00'}, + 'Verified High/Low Water Level': {'end_date': '2022-12-31 23:54', + 'start_date': '1977-10-18 02:18'}, + 'Verified Hourly Height Water Level': {'end_date': '2022-12-31 23:00', + 'start_date': '1899-01-01 00:00'}, + 'Verified Monthly Mean Water Level': {'end_date': '2022-12-31 23:54', + 'start_date': '1898-12-01 00:00'}, + 'Water Temperature': {'end_date': '2019-01-02 18:36', + 'start_date': '1991-11-09 00:00'}, + 'Wind': {'end_date': '2019-01-02 18:36', 'start_date': '1991-11-09 00:00'}} +``` + +### Data Retrieval +Available data products can be found in NOAA CO-OPS Data API docs. + +Station data can be fetched using the `.get_data` method on a `Station` object. Data is returned as a Pandas [DataFrame](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.html) for ease of use and analysis. DataFrame columns are named according to the NOAA CO-OPS API [docs](https://api.tidesandcurrents.noaa.gov/api/prod/responseHelp.html), with the `t` column (timestamp) set as the DataFrame index. + +The example below fetches water level data from the Seattle station (id=9447130) for a 1 month period. The corresponding [web output](https://tidesandcurrents.noaa.gov/waterlevels.html?id=9447130&units=metric&bdate=20150101&edate=20150131&timezone=GMT&datum=MLLW) is shown below the code as a reference. + +```python +>>> from noaa_coops import Station +>>> seattle = Station(id="9447130") +>>> df_water_levels = seattle.get_data( +... begin_date="20150101", +... end_date="20150131", +... product="water_level", +... datum="MLLW", +... units="metric", +... time_zone="gmt") +>>> df_water_levels.head() + v s f q +t +2015-01-01 00:00:00 1.799 0.023 0,0,0,0 v +2015-01-01 00:06:00 1.718 0.018 0,0,0,0 v +2015-01-01 00:12:00 1.639 0.013 0,0,0,0 v +2015-01-01 00:18:00 1.557 0.012 0,0,0,0 v +2015-01-01 00:24:00 1.473 0.014 0,0,0,0 v + +``` + + + + +## Development + +### Requirements +This package and its dependencies are managed using [poetry](https://python-poetry.org/). To install the development environment for `noaa_coops`, first install poetry, then run (inside the repo): + +```bash +poetry install +``` + +### TODO +Click [here](https://github.com/GClunies/noaa_coops/issues) for a list of existing issues and to submit a new one. + +### Contribution +Contributions are welcome, feel free to submit a pull request. + + +%prep +%autosetup -n noaa-coops-0.3.1 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-noaa-coops -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Mon May 15 2023 Python_Bot <Python_Bot@openeuler.org> - 0.3.1-1 +- Package Spec generated @@ -0,0 +1 @@ +e1d180cd061d35f52e85dc0dfa0e7110 noaa_coops-0.3.1.tar.gz |
