HyP3-lib v1.0.0
This is a significant refactor of hyp3-lib into a pip installable package called hyp3lib.
NOTE: There are significant changes to the overall repository structure and this will break all
existing HyP3 workflows!
Removed
- Any official python 2 support (Note: this version will likely still work with python 2, but future versions are
not expected to)
Added
- A packaging and testing structure -- now
pipinstallable and testing is done viapytestandtox hyp3lib.draw_polygon_on_rasterhas been included from the depreciatedpython_data_utilshyp3lib.get_asfhas been included from the (now) depreciatedasf_api_assistant- A
mkdir_pfunction has been added tohyp3lib.file_subroutinesthat will create a directory, and all parent
directories as needed (works like unixmkdir -p)
Changed
- All python modules have the
from __future__ import print_function, absolute_import, division, unicode_literals
imports added to make python 2 behave more like python 3 (NOTE: Python 2 is not longer officially supported, but it
should work for this version) - All of
hyp3-lib/srcis now contained in thehyp3libpackage - Any "script" in in hyp3-lib has been turned into an entrypoint with the same name and should mostly function
identically ifhpy3libin installed. This includes:apply_wb_mask.pybyteSigmaScale.pycopy_metadata.pycreateAmp.pycutGeotiffsByLine.pycutGeotiffs.pydraw_polygon_on_raster.pydem2isce.pyenh_lee_filter.pyextendDateline.pygeotiff_lut.pyget_bounding.pygetDemFor.pyget_asf.pyget_dem.pyget_orb.pyiscegeo2geotif.pymake_arc_thumb.pymakeAsfBrowse.pymakeChangeBrowse.pymake_cogs.pymakeColorPhase.pymakeKml.pyoffset_xml.pypar_s1_slc_single.pyps2dem.pyraster_boundary2shape.pyrasterMask.pyresample_geotiff.pyrtc2colordiff.pyrtc2color.pysimplify_shapefile.pySLC_copy_S1_fullSW.pysubset_geotiff_shape.pytileList2shape.pyutm2dem.pyverify_opod.py
- Config files are packaged and accessible programmatically from
os.path.join(os.path.dirname(hyp3lib.etc.__file__), "config") - The
repackage_into_cogs.shscript has been moved intohyp3lib/etc/bin
and will be distributed as package data. You can get the location
programmatically viaos.path.abspath(os.path.join(os.path.dirname(hyp3lib.etc.__file__), "bin"))