Skip to content

Commit

Permalink
Merge pull request #156 from jswhit/v2.0.6rel
Browse files Browse the repository at this point in the history
v2.0.6 release
  • Loading branch information
jswhit authored Nov 27, 2020
2 parents cb5db2c + a6d905c commit 4fe6516
Show file tree
Hide file tree
Showing 32 changed files with 1,095 additions and 1,042 deletions.
33 changes: 21 additions & 12 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,35 +1,44 @@
language: python
dist: bionic
dist: focal
sudo: false

arch:
- amd64
- ppc64le
sudo: false

addons:
apt:
packages:
- libgrib-api-dev
- libproj-dev
- proj-bin
- libeccodes-dev

env:
global:
- DEPENDS="numpy pyproj"

python:
- "3.5"
- "3.6"
- "3.8"
- DEPENDS="numpy pyproj<3.0.0"
- PROJ_DIR=/usr
- PROJ_LIB=/usr/share/proj

matrix:
fast_finish: true
include:
- name: "python-2.7"
env: PY=2.7
- name: "python-3.7"
env: PY=3.7
- name: "python-3.8"
env: PY=3.8
- name: "python-3.9"
env: PY=3.9

notifications:
email: false

before_install:
- pip install pyproj==1.9.6
- sudo apt-get install libeccodes-dev
- pip install --upgrade pip
- pip install $DEPENDS

install:
- python setup.py build
- python setup.py install

script:
Expand Down
5 changes: 3 additions & 2 deletions Changelog
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
since version 2.0.5
===================
version 2.0.6 (git tag v2.0.6rel)
=================================
* restore python 2 compatability.
* distinguish between run and build time dependenices in setup.py (PR #112).
* Fix problem printing grib messages with NLDAS grib files (PR #141).

Expand Down
2 changes: 0 additions & 2 deletions MANIFEST.in
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,8 @@ include setup.cfg.template
include setup.py
include test.py
include README.md
include README.macosx
include utils/*grib*
recursive-include docs *
recursive-include ports *
recursive-include ncepgrib2_docs *
include sampledata/*.grb
include sampledata/*.grb2
Expand Down
21 changes: 0 additions & 21 deletions README.macosx

This file was deleted.

16 changes: 9 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ Python module for reading and writing GRIB files (edition 1 and edition 2).
GRIB is the World Meteorological Organization (WMO) standard
file format for the exchange of weather data.

Provides a interfaces for the ECWMF GRIB_API C library and
Provides a high-level interfaces for the ECWMF ECCODES C library and
the NCEP grib2 C library, including
command line utilities for listing (grib_list) and repacking (grib_repack)
GRIB files.
Expand All @@ -12,15 +12,17 @@ Quickstart:

* Clone the github repository, or download a source release from https://pypi.python.org/pypi/pygrib.

* Copy setup.cfg.template to setup.cfg, open in text editor, follow instructions in
comments for editing. If you are using the old grib_api library instead of the new eccodes
library, be sure to uncomment the last line setup.cfg.
* install dependencies (eccodes library, numpy, pyproj). On linux, this can
be done via `pip install numpy pyproj; sudo apt-get install libeccodes-dev`.

* Run 'python setup.py build'
* Copy `setup.cfg.template` to `setup.cfg`, open in text editor, follow instructions in
comments for editing.

* Run 'python setup.py install' (with sudo if necessary)
* Run `python setup.py build`

* Run 'python test.py' to test your pygrib installation.
* Run `python setup.py install` (with sudo if necessary)

* Run `python test.py` to test your pygrib installation.

For full installation instructions and API documentation, see https://jswhit.github.io/pygrib.

Expand Down
12 changes: 9 additions & 3 deletions docs/api-objects.txt
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ pygrib.datetime_to_julian pygrib-module.html#datetime_to_julian
pygrib.tolerate_badgrib pygrib-module.html#tolerate_badgrib
pygrib.gribmessage pygrib.gribmessage-class.html
pygrib.gribmessage.latlons pygrib.gribmessage-class.html#latlons
pygrib.gribmessage.__getattribute__ pygrib.gribmessage-class.html#__getattribute__
pygrib.gribmessage.__reduce__ pygrib.gribmessage-class.html#__reduce__
pygrib.gribmessage.has_key pygrib.gribmessage-class.html#has_key
pygrib.gribmessage._all_keys pygrib.gribmessage-class.html#_all_keys
pygrib.gribmessage.__init__ pygrib.gribmessage-class.html#__init__
Expand All @@ -42,7 +42,9 @@ pygrib.gribmessage._get_key pygrib.gribmessage-class.html#_get_key
pygrib.gribmessage._reshape_mask pygrib.gribmessage-class.html#_reshape_mask
pygrib.gribmessage.analDate pygrib.gribmessage-class.html#analDate
pygrib.gribmessage.__getitem__ pygrib.gribmessage-class.html#__getitem__
pygrib.gribmessage.__setstate__ pygrib.gribmessage-class.html#__setstate__
pygrib.gribmessage.keys pygrib.gribmessage-class.html#keys
pygrib.gribmessage.__getattribute__ pygrib.gribmessage-class.html#__getattribute__
pygrib.gribmessage.validDate pygrib.gribmessage-class.html#validDate
pygrib.gribmessage.expand_grid pygrib.gribmessage-class.html#expand_grid
pygrib.gribmessage.__setitem__ pygrib.gribmessage-class.html#__setitem__
Expand All @@ -56,15 +58,18 @@ pygrib.gribmessage.__repr__ pygrib.gribmessage-class.html#__repr__
pygrib.gribmessage.expand_reduced pygrib.gribmessage-class.html#expand_reduced
pygrib.index pygrib.index-class.html
pygrib.index.__new__ pygrib.index-class.html#__new__
pygrib.index.__setstate__ pygrib.index-class.html#__setstate__
pygrib.index.keys pygrib.index-class.html#keys
pygrib.index.__reduce__ pygrib.index-class.html#__reduce__
pygrib.index.write pygrib.index-class.html#write
pygrib.index.select pygrib.index-class.html#select
pygrib.index.types pygrib.index-class.html#types
pygrib.index.__init__ pygrib.index-class.html#__init__
pygrib.index.__call__ pygrib.index-class.html#__call__
pygrib.index.close pygrib.index-class.html#close
pygrib.index.__init__ pygrib.index-class.html#__init__
pygrib.index.types pygrib.index-class.html#types
pygrib.index.name pygrib.index-class.html#name
pygrib.open pygrib.open-class.html
pygrib.open.__reduce__ pygrib.open-class.html#__reduce__
pygrib.open.close pygrib.open-class.html#close
pygrib.open.message pygrib.open-class.html#message
pygrib.open.next pygrib.open-class.html#next
Expand All @@ -81,6 +86,7 @@ pygrib.open.tell pygrib.open-class.html#tell
pygrib.open._advance pygrib.open-class.html#_advance
pygrib.open.__exit__ pygrib.open-class.html#__exit__
pygrib.open.__getitem__ pygrib.open-class.html#__getitem__
pygrib.open.__setstate__ pygrib.open-class.html#__setstate__
pygrib.open.read pygrib.open-class.html#read
pygrib.open.__next__ pygrib.open-class.html#__next__
pygrib.open.has_multi_field_msgs pygrib.open-class.html#has_multi_field_msgs
Expand Down
8 changes: 2 additions & 6 deletions docs/class-tree.html
Original file line number Diff line number Diff line change
Expand Up @@ -49,9 +49,6 @@
</b></center><br />
<h1 class="epydoc">Class Hierarchy</h1>
<ul class="nomargin-top">
<li> <strong class="uidlink">object</strong>:
<em class="summary">The most base type</em>
<ul>
<li> <strong class="uidlink"><a href="pygrib.gribmessage-class.html">pygrib.gribmessage</a></strong>:
<em class="summary">Grib message object.</em>
</li>
Expand All @@ -61,8 +58,6 @@ <h1 class="epydoc">Class Hierarchy</h1>
<li> <strong class="uidlink"><a href="pygrib.open-class.html">pygrib.open</a></strong>:
<em class="summary">open(filename)</em>
</li>
</ul>
</li>
</ul>
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
Expand Down Expand Up @@ -90,7 +85,8 @@ <h1 class="epydoc">Class Hierarchy</h1>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Mon Dec 29 14:23:16 2014
Generated by Epydoc 3.0.1
on Wed Nov 25 08:27:21 2020
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
Expand Down
4 changes: 2 additions & 2 deletions docs/epydoc.css
Original file line number Diff line number Diff line change
Expand Up @@ -162,8 +162,8 @@ table.summary a.summary-sig-name:visited

/* Subclass list
*/
ul.subclass-list { display: inline; }
ul.subclass-list li { display: inline; }
ul.subclass-list { display: inline; margin: 0; padding: 0; }
ul.subclass-list li { display: inline; margin: 0; padding: 0; }

/* To render variables, classes etc. like functions */
table.summary .summary-name { color: #006080; font-weight: bold;
Expand Down
3 changes: 2 additions & 1 deletion docs/help.html
Original file line number Diff line number Diff line change
Expand Up @@ -240,7 +240,8 @@ <h2> The Navigation Bar </h2>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Mon Dec 29 14:23:16 2014
Generated by Epydoc 3.0.1
on Wed Nov 25 08:27:21 2020
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
Expand Down
69 changes: 43 additions & 26 deletions docs/identifier-index.html
Original file line number Diff line number Diff line change
Expand Up @@ -377,70 +377,86 @@ <h1 class="epydoc">Identifier Index</h1>
<tr>
<td width="33%" class="link-index"><a href="pygrib.index-class.html#__call__">__call__()</a><br />
<span class="index-where">(in&nbsp;<a href="pygrib.index-class.html">index</a>)</span></td>
<td width="33%" class="link-index"><a href="pygrib.open-class.html#__getitem__">__getitem__()</a><br />
<span class="index-where">(in&nbsp;<a href="pygrib.open-class.html">open</a>)</span></td>
<td width="33%" class="link-index"><a href="pygrib-module.html#__package__">__package__</a><br />
<span class="index-where">(in&nbsp;<a href="pygrib-module.html">pygrib</a>)</span></td>
<td width="33%" class="link-index"><a href="pygrib.index-class.html#__init__">__init__()</a><br />
<span class="index-where">(in&nbsp;<a href="pygrib.index-class.html">index</a>)</span></td>
<td width="33%" class="link-index"><a href="pygrib.gribmessage-class.html#__repr__">__repr__()</a><br />
<span class="index-where">(in&nbsp;<a href="pygrib.gribmessage-class.html">gribmessage</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="pygrib.open-class.html#__call__">__call__()</a><br />
<span class="index-where">(in&nbsp;<a href="pygrib.open-class.html">open</a>)</span></td>
<td width="33%" class="link-index"><a href="pygrib.gribmessage-class.html#__init__">__init__()</a><br />
<span class="index-where">(in&nbsp;<a href="pygrib.gribmessage-class.html">gribmessage</a>)</span></td>
<td width="33%" class="link-index"><a href="pygrib.gribmessage-class.html#__repr__">__repr__()</a><br />
<td width="33%" class="link-index"><a href="pygrib.open-class.html#__init__">__init__()</a><br />
<span class="index-where">(in&nbsp;<a href="pygrib.open-class.html">open</a>)</span></td>
<td width="33%" class="link-index"><a href="pygrib.gribmessage-class.html#__setattr__">__setattr__()</a><br />
<span class="index-where">(in&nbsp;<a href="pygrib.gribmessage-class.html">gribmessage</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="pygrib.gribmessage-class.html#__delattr__">__delattr__()</a><br />
<span class="index-where">(in&nbsp;<a href="pygrib.gribmessage-class.html">gribmessage</a>)</span></td>
<td width="33%" class="link-index"><a href="pygrib.index-class.html#__init__">__init__()</a><br />
<span class="index-where">(in&nbsp;<a href="pygrib.index-class.html">index</a>)</span></td>
<td width="33%" class="link-index"><a href="pygrib.gribmessage-class.html#__setattr__">__setattr__()</a><br />
<td width="33%" class="link-index"><a href="pygrib.open-class.html#__iter__">__iter__()</a><br />
<span class="index-where">(in&nbsp;<a href="pygrib.open-class.html">open</a>)</span></td>
<td width="33%" class="link-index"><a href="pygrib.gribmessage-class.html#__setitem__">__setitem__()</a><br />
<span class="index-where">(in&nbsp;<a href="pygrib.gribmessage-class.html">gribmessage</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="pygrib.gribmessage-class.html#__delitem__">__delitem__()</a><br />
<span class="index-where">(in&nbsp;<a href="pygrib.gribmessage-class.html">gribmessage</a>)</span></td>
<td width="33%" class="link-index"><a href="pygrib.open-class.html#__init__">__init__()</a><br />
<span class="index-where">(in&nbsp;<a href="pygrib.open-class.html">open</a>)</span></td>
<td width="33%" class="link-index"><a href="pygrib.gribmessage-class.html#__setitem__">__setitem__()</a><br />
<td width="33%" class="link-index"><a href="pygrib.gribmessage-class.html#__new__">__new__()</a><br />
<span class="index-where">(in&nbsp;<a href="pygrib.gribmessage-class.html">gribmessage</a>)</span></td>
<td width="33%" class="link-index"><a href="pygrib.gribmessage-class.html#__setstate__">__setstate__()</a><br />
<span class="index-where">(in&nbsp;<a href="pygrib.gribmessage-class.html">gribmessage</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="pygrib.open-class.html#__enter__">__enter__()</a><br />
<span class="index-where">(in&nbsp;<a href="pygrib.open-class.html">open</a>)</span></td>
<td width="33%" class="link-index"><a href="pygrib.open-class.html#__iter__">__iter__()</a><br />
<td width="33%" class="link-index"><a href="pygrib.index-class.html#__new__">__new__()</a><br />
<span class="index-where">(in&nbsp;<a href="pygrib.index-class.html">index</a>)</span></td>
<td width="33%" class="link-index"><a href="pygrib.index-class.html#__setstate__">__setstate__()</a><br />
<span class="index-where">(in&nbsp;<a href="pygrib.index-class.html">index</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="pygrib.open-class.html#__exit__">__exit__()</a><br />
<span class="index-where">(in&nbsp;<a href="pygrib.open-class.html">open</a>)</span></td>
<td width="33%" class="link-index"><a href="pygrib.open-class.html#__new__">__new__()</a><br />
<span class="index-where">(in&nbsp;<a href="pygrib.open-class.html">open</a>)</span></td>
<td width="33%" class="link-index"><a href="pygrib.open-class.html#__setstate__">__setstate__()</a><br />
<span class="index-where">(in&nbsp;<a href="pygrib.open-class.html">open</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="pygrib.gribmessage-class.html#__getattr__">__getattr__()</a><br />
<span class="index-where">(in&nbsp;<a href="pygrib.gribmessage-class.html">gribmessage</a>)</span></td>
<td width="33%" class="link-index"><a href="pygrib.open-class.html#__next__">__next__()</a><br />
<span class="index-where">(in&nbsp;<a href="pygrib.open-class.html">open</a>)</span></td>
<td width="33%" class="link-index"><a href="pygrib-module.html#__version__">__version__</a><br />
<span class="index-where">(in&nbsp;<a href="pygrib-module.html">pygrib</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="pygrib.open-class.html#__exit__">__exit__()</a><br />
<span class="index-where">(in&nbsp;<a href="pygrib.open-class.html">open</a>)</span></td>
<td width="33%" class="link-index"><a href="pygrib.gribmessage-class.html#__new__">__new__()</a><br />
<td width="33%" class="link-index"><a href="pygrib.gribmessage-class.html#__getattribute__">__getattribute__()</a><br />
<span class="index-where">(in&nbsp;<a href="pygrib.gribmessage-class.html">gribmessage</a>)</span></td>
<td width="33%" class="link-index"><a href="pygrib-module.html#__package__">__package__</a><br />
<span class="index-where">(in&nbsp;<a href="pygrib-module.html">pygrib</a>)</span></td>
<td width="33%" class="link-index"><a href="pygrib-module.html#_ftimedict">_ftimedict</a><br />
<span class="index-where">(in&nbsp;<a href="pygrib-module.html">pygrib</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="pygrib.gribmessage-class.html#__getattr__">__getattr__()</a><br />
<td width="33%" class="link-index"><a href="pygrib.gribmessage-class.html#__getitem__">__getitem__()</a><br />
<span class="index-where">(in&nbsp;<a href="pygrib.gribmessage-class.html">gribmessage</a>)</span></td>
<td width="33%" class="link-index"><a href="pygrib.gribmessage-class.html#__reduce__">__reduce__()</a><br />
<span class="index-where">(in&nbsp;<a href="pygrib.gribmessage-class.html">gribmessage</a>)</span></td>
<td width="33%" class="link-index"><a href="pygrib.index-class.html#__new__">__new__()</a><br />
<span class="index-where">(in&nbsp;<a href="pygrib.index-class.html">index</a>)</span></td>
<td width="33%" class="link-index"><a href="pygrib-module.html#_private_atts">_private_atts</a><br />
<span class="index-where">(in&nbsp;<a href="pygrib-module.html">pygrib</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="pygrib.gribmessage-class.html#__getattribute__">__getattribute__()</a><br />
<span class="index-where">(in&nbsp;<a href="pygrib.gribmessage-class.html">gribmessage</a>)</span></td>
<td width="33%" class="link-index"><a href="pygrib.open-class.html#__new__">__new__()</a><br />
<td width="33%" class="link-index"><a href="pygrib.open-class.html#__getitem__">__getitem__()</a><br />
<span class="index-where">(in&nbsp;<a href="pygrib.open-class.html">open</a>)</span></td>
<td width="33%" class="link-index"><a href="pygrib.index-class.html#__reduce__">__reduce__()</a><br />
<span class="index-where">(in&nbsp;<a href="pygrib.index-class.html">index</a>)</span></td>
<td width="33%" class="link-index">&nbsp;</td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="pygrib.gribmessage-class.html#__getitem__">__getitem__()</a><br />
<td width="33%" class="link-index"><a href="pygrib.gribmessage-class.html#__init__">__init__()</a><br />
<span class="index-where">(in&nbsp;<a href="pygrib.gribmessage-class.html">gribmessage</a>)</span></td>
<td width="33%" class="link-index"><a href="pygrib.open-class.html#__next__">__next__()</a><br />
<td width="33%" class="link-index"><a href="pygrib.open-class.html#__reduce__">__reduce__()</a><br />
<span class="index-where">(in&nbsp;<a href="pygrib.open-class.html">open</a>)</span></td>
<td width="33%" class="link-index">&nbsp;</td>
</tr>
Expand Down Expand Up @@ -473,7 +489,8 @@ <h1 class="epydoc">Identifier Index</h1>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Mon Dec 29 14:23:16 2014
Generated by Epydoc 3.0.1
on Wed Nov 25 08:27:21 2020
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
Expand Down
Loading

0 comments on commit 4fe6516

Please sign in to comment.