Skip to content

Commit

Permalink
Merge pull request #356 from GeoscienceAustralia/release0.6.0
Browse files Browse the repository at this point in the history
Release 0.6.0
  • Loading branch information
Matt Garthwaite authored Oct 18, 2021
2 parents c2260b9 + c0cdf6c commit b1aaa62
Show file tree
Hide file tree
Showing 458 changed files with 26,306 additions and 4,034 deletions.
72 changes: 51 additions & 21 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -1,31 +1,38 @@
name: PyRate CI

on: [push, pull_request]

on:
pull_request:
branches:
- 'master'
push:
branches:
- '**'

jobs:
build:
runs-on: ubuntu-16.04
if: ${{ ! (contains(github.event.head_commit.message, 'ci skip') || contains(github.event.head_commit.message, 'skip ci'))}}
runs-on: ubuntu-18.04
name: Python ${{ matrix.python }}
if: "!(contains(github.event.head_commit.message, '[skip ci]') || contains(github.event.pull_request.head_commit.message, '[ci skip]'))"
strategy:
matrix:
include:
- build: 1
python-version: "3.6"
GDALVERSION: "3.0.2"
PROJVERSION: "6.1.1"
- build: 2
python-version: "3.7"
GDALVERSION: "3.0.2"
PROJVERSION: "6.2.1"
- build: 3
- build: 2
python-version: "3.7"
GDALVERSION: "3.0.4"
PROJVERSION: "6.1.1"
- build: 4
- build: 3
python-version: "3.8"
GDALVERSION: "3.0.4"
PROJVERSION: "6.1.1"
- build: 4
python-version: "3.9"
GDALVERSION: "3.0.4"
PROJVERSION: "6.3.2"

env:
PIP_WHEEL_DIR: "/home/runner/.cache/pip/wheels"
Expand All @@ -36,6 +43,7 @@ jobs:
PROJINST: "/home/runner/gdalinstall"
PROJBUILD: "/home/runner/projbuild"
PROJVERSION: ${{ matrix.PROJVERSION }}
PYTHONVERSION: ${{ matrix.python-version }}

steps:
- uses: actions/checkout@v2
Expand All @@ -44,35 +52,57 @@ jobs:
with:
path: |
/home/runner/gdalinstall
key: ${{ runner.os }}-GDAL-${{ matrix.GDALVERSION }}-proj-${{ matrix.PROJVERSION }}
key: ${{ runner.os }}-cache-GDAL-${{ matrix.GDALVERSION }}-proj-${{ matrix.PROJVERSION }}
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install packages
run: sudo apt-get install libhdf5-serial-dev libgdal-dev libatlas-dev libatlas-base-dev gfortran openmpi-bin libopenmpi-dev
- run: python -m pip install -U pip
- run: python -m pip install wheel
- name: Common set up ${{ matrix.python-version }}
run: |
sudo apt update
sudo apt upgrade
python -m pip install -U pip wheel
- name: Install packages including openmpi
if: env.PYTHONVERSION != '3.9'
run: sudo apt install libhdf5-serial-dev libnetcdf13 libatlas-base-dev gfortran openmpi-bin libopenmpi-dev
- name: Install packages except openmpi libraries
if: env.PYTHONVERSION == '3.9'
run: sudo apt install libhdf5-serial-dev libnetcdf13 libatlas-base-dev gfortran
- name: Install proj ${{matrix.PROJVERSION}}
run: |
echo "PATH=$GDALINST/gdal-$GDALVERSION/bin:$PATH" >> $GITHUB_ENV
echo "LD_LIBRARY_PATH=$GDALINST/gdal-$GDALVERSION/lib:$LD_LIBRARY_PATH" >> $GITHUB_ENV
source ./scripts/ci_proj_install.sh
- name: Install GDAL ${{matrix.GDALVERSION}}
run: |
source ./scripts/ci_gdal_install.sh
echo "GDAL_DATA=$GDALINST/gdal-$GDALVERSION/share/gdal" >> $GITHUB_ENV
echo "PROJ_LIB=$GDALINST/gdal-$GDALVERSION/share/proj" >> $GITHUB_ENV
- name: Install PyRate
echo "LDFLAGS=-L$GDALINST/gdal-$GDALVERSION/lib -Wl,-rpath,$GDALINST/gdal-$GDALVERSION/lib" >> $GITHUB_ENV
source ./scripts/ci_gdal_install.sh
- name: Python ${{ matrix.python-version }} with MPI
if: env.PYTHONVERSION != '3.9'
run: |
sed -i '/^GDAL/d' requirements.txt
pip install -r requirements.txt -r requirements-dev.txt -r requirements-test.txt
pip install GDAL==$(gdal-config --version)
python setup.py install
rm -rf Py_Rate.egg-info # remove the local egg
echo "PYTHONPATH=$PYRATEPATH:$PYTHONPATH" >> $GITHUB_ENV
echo "PYTHONPATH=$(pwd):$PYTHONPATH" >> $GITHUB_ENV
chmod 444 tests/test_data/small_test/tif/geo_070709-070813_unw.tif # makes the file readonly, used in a test
- name: Test PyRate
pip install -r requirements-dev.txt -r requirements-test.txt
- name: Python ${{ matrix.python-version }} without MPI
if: env.PYTHONVERSION == '3.9'
run: |
python setup.py install
rm -rf Py_Rate.egg-info # remove the local egg
echo "PYTHONPATH=$(pwd):$PYTHONPATH" >> $GITHUB_ENV
chmod 444 tests/test_data/small_test/tif/geo_070709-070813_unw.tif # makes the file readonly, used in a test
pip install -r requirements-test.txt
- name: Test Pyrate in Python ${{ matrix.python-version }} with MPI
if: env.PYTHONVERSION != '3.9'
run: |
pytest tests/ -m "slow"
mpirun -n 3 pytest tests/test_shared.py -k test_tiles_split -s
pytest --cov-config=.coveragerc --cov-report term-missing:skip-covered --cov=pyrate tests/ -m "not slow"
- name: Test Pyrate in Python ${{ matrix.python-version }} without MPI
if: env.PYTHONVERSION == '3.9'
run: |
pytest tests/ -m "not mpi and slow"
pytest --cov-config=.coveragerc --cov-report term-missing:skip-covered --cov=pyrate tests/ -m "not slow and not mpi"
89 changes: 0 additions & 89 deletions .travis.yml

This file was deleted.

18 changes: 11 additions & 7 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -24,21 +24,25 @@ Dependencies

The following system dependencies are required by PyRate:

- `Python <https://www.python.org/downloads/>`_, versions 3.6, 3.7 or 3.8.
- `Python <https://www.python.org/downloads/>`_, versions 3.7, 3.8 or 3.9.
- `GDAL <https://gdal.org/download.html>`_, versions 3.0.2 or 3.0.4

The following optional dependency is required for MPI processing capability:

- `Open MPI <https://www.open-mpi.org/software/ompi/v4.0/>`_, versions 2.1.6, 3.0.4, 3.1.4 or 4.0.2

The versions of each package stated above have been tested to work using `GitHub Actions <https://github.com/GeoscienceAustralia/PyRate/actions>`_ continuous integration testing.

Python dependencies for PyRate are::

joblib==0.14.1
joblib==1.0.0
mpi4py==3.0.3
networkx==2.4
numpy==1.18.3
pyproj==2.6.0
scipy==1.4.1
numexpr==2.7.1
networkx==2.5
numpy==1.19.4
pyproj==3.0.0
scipy==1.5.4
numexpr==2.7.2
nptyping==1.4.0

Install
-------
Expand Down
Binary file modified docs/PyRate_plot_screenshot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion docs/_build/html/404.html
Original file line number Diff line number Diff line change
Expand Up @@ -374,7 +374,7 @@ <h1>

<div role="contentinfo">
<p>
&copy; Copyright 2020, Geoscience Australia
&copy; Copyright 2021, Geoscience Australia
</p>
</div>
Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a
Expand Down
4 changes: 3 additions & 1 deletion docs/authors.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Development Lead
----------------

`PyRate` has been developed by `Geoscience Australia <http://www.ga.gov.au>`__
with assistance from the `National Computational Infrastructure <http://nci.org.au/>`__.
with some initial assistance from the `National Computational Infrastructure <http://nci.org.au/>`__.

Contact: `Geoscience Australia InSAR team <mailto:[email protected]>`__

Expand All @@ -25,9 +25,11 @@ Thanks to `all the contributors`_ who helped to build the ship and raise the sai
* Matt Garthwaite (GA)
* Simon Knapp (GA)
* Sarah Lawrie (GA)
* Jonathan Mettes (GA)
* Negin Moghaddam (GA)
* Brenainn Moushall (GA)
* Vanessa Newey (GA)
* Chandrakanta Ojha (GA)
* Garrick Paskos (GA)
* Nahidul Samrat (GA)
* Richard Taylor (GA)
9 changes: 5 additions & 4 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import sphinx_rtd_theme


__version__ = "0.5.0"
__version__ = "0.6.0"
# -- General configuration ------------------------------------------------

# If your documentation needs a minimal Sphinx version, state it here.
Expand All @@ -25,7 +25,8 @@
'matplotlib.sphinxext.plot_directive',
'IPython.sphinxext.ipython_console_highlighting',
'IPython.sphinxext.ipython_directive',
'sphinxcontrib.programoutput'
'sphinxcontrib.programoutput',
'm2r2'
]

# Add any paths that contain templates here, relative to this directory.
Expand All @@ -52,9 +53,9 @@
# built documents.
#
# The short X.Y version.
version = "0.4.0"
version = __version__
# The full version, including alpha/beta/rc tags.
release = "0.4.0"
release = __version__

# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
Expand Down
5 changes: 0 additions & 5 deletions docs/config.rst

This file was deleted.

5 changes: 5 additions & 0 deletions docs/configuration.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Configuration Module
====================

.. automodule:: pyrate.configuration
:members:
6 changes: 3 additions & 3 deletions docs/contributing.rst
Original file line number Diff line number Diff line change
Expand Up @@ -112,8 +112,8 @@ Before you submit a pull request, check that it meets these guidelines:
1. The pull request should include tests that cover new functionality.
2. If the pull request adds functionality, the documentation should be updated.
Put your new functionality into a function with a docstring.
3. The pull request should work for Python 3.6+.
3. The pull request should work for Python 3.7+.

Check https://travis-ci.org/GeoscienceAustralia/PyRate
under pull requests for active pull requests or run the ``tox`` command and
Check https://github.com/GeoscienceAustralia/PyRate/actions
for active pull requests or run the ``tox`` command and
make sure that the tests pass for all supported Python versions.
5 changes: 5 additions & 0 deletions docs/demerror.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
DEM Error Correction Module
===========================

.. automodule:: pyrate.core.dem_error
:members:
10 changes: 7 additions & 3 deletions docs/dependencies.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,21 @@ Dependencies
The following dependencies need to be on your system (or in your working
environment) prior to `PyRate` installation:

- Python_, versions 3.6, 3.7 or 3.8.
- Python_, versions 3.7, 3.8 or 3.9.
- GDAL_, versions 3.0.2 or 3.0.4

The following optional dependency should be on your system if you want to make
use of MPI processing:

- `Open MPI`_, versions 2.1.6, 3.0.4, 3.1.4 or 4.0.2

The versions of each package stated above have been tested to work using
`Travis CI`_ continuous integration testing.
`GitHub Actions`_ continuous integration testing.

.. _Python: https://www.python.org/downloads/
.. _GDAL: https://gdal.org/download.html
.. _`Open MPI`: https://www.open-mpi.org/software/ompi/v4.0/
.. _`Travis CI`: https://travis-ci.org/github/GeoscienceAustralia/PyRate
.. _`GitHub Actions`: https://github.com/GeoscienceAustralia/PyRate/actions

Other Python dependencies that will be installed are listed in
``PyRate/requirements.txt``.
5 changes: 5 additions & 0 deletions docs/geometry.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Geometry Module
===============

.. automodule:: pyrate.core.geometry
:members:
Loading

0 comments on commit b1aaa62

Please sign in to comment.