Change history

PyEPR 1.1.4 (07/01/2023)

  • Do not use deprecated keywords in setup.cfg.

  • Silence compiler warnings.

  • Fix extlinks configuration.

  • Modernize documentation generation: - drop local theme - drop local sphinxect for IPython console highlighting - use the RTD sphinx theme - update sidebar templates

  • Fix comparibility with packaging v22.0.

  • Modernize and re-format the Python code.

  • The minimum required Python version is now v3.7.

PyEPR 1.1.3 (13/09/2021)

  • Do not use the deprecated distutils package.

  • Improve command line arguments management in

  • Stop distributing .c code auto-generated by Cython in the source tarball. Now the .c code is generated by Cython during the build package phase.

PyEPR 1.1.2 (06/11/2021)

  • Enable CI testing with Python 3.10.

  • Update the internal copy of EPR C API to v2.3dev_pyerp112.

PyEPR 1.1.1 (07/08/2021)

  • Fix a serious issue in sdist generation.

PyEPR 1.1.0 (06/08/2021)

  • Old Python versions are no longer officially supported. Now PyEPR require Python >= 3.5 and Cython >= v0.29.

  • Introduced the pyproject.toml file.

  • The script has been simplified and modernized, now it always use setuptools and setup.cfg.

  • Now the EPR C API is handled using git submodule.

  • Fixed potential crash in cases in which the EPR C API fails to open the requested product

  • Update the test suite to use the public product ASA_APM_1PNPDE20091007_025628_000000432083_00118_39751_9244.N1. The previously used one is no longer available.

  • Continuous Integration moved to GitHub Actions (GHA).

  • Fix a leak of resources on Windows platforms.

  • The print_() method of Field and Record classes has been renamed into print(). The old print_() method is now deprecated and will be removed in future versions.

  • Support for pathlib.

  • Enforce type checking.

PyEPR 1.0.1 (07/03/2020)

  • Fixed a problem in the test using the epr.Product._fileno (only impacting MacOS-X). Also some advice about the correct use of epr.Product._fileno has been added to the documentation.

  • Always close the product object during tests. Prevents errors during CI cleanup actions on Windows.

PyEPR 1.0.0 (08/09/2019)

  • Do not use deprecated numpy API (requires Cython >= 0.29)

  • Minimal numpy version is now v1.7

  • Set Cython ‘language_level` explicitly to ‘3str’ if Cython >= v0.29, to ‘2’ otherwise

  • Python v2.6, v3.2, v3.3 and v3.4 are now deprecated. Support for the deprecated Python version will be removed in future releases of PyEPR

PyEPR 0.9.5 (23/08/2018)

  • Fix compatibility with numpy >= 1.14: np.fromstring() is deprecated

  • Update the pypi sidebar in the documentation

  • Use .rst extension for doc source files

  • Fix setup script to not use system libs if epr-api sources are available

  • Do not access fields of bands after that the product has been closed (fix a segmentation fault on windows)

  • unittest2 is now required for Python < 3.4

PyEPR 0.9.4 (29/04/2018)

  • Fix compatibility with Cython >= 0.28

  • PyEPR has been successfully tested with PyPy

PyEPR 0.9.3 (02/05/2015)

  • Fix PyEprExtension class in (closes gh-11)

  • Updated internal EPR API version

PyEPR 0.9.2 (08/03/2015)

  • Improved string representation of fields in case of E_TID_STRING data type. Now bytes are decoded and represented as Python strings.

  • New tutorial GDAL export example

  • Improved “Installation” and “Testing” sections of the user manual

PyEPR 0.9.1 (27/02/2015)

  • Fix source distribution (missing EPR API C sources)

PyEPR 0.9 (27/02/2015)

PyEPR 0.8.2 (03/08/2014)

  • fixed segfault caused by incorrect access to epr.Dataset.description string in case of closed products

  • fixed a memory leak in epr.Raster (closes gh-10)

  • the size parameters (src_width and src_height) in epr.Band.create_compatible_raster() are now optional. By default a epr.Raster with the same size of the scene is created

  • the test suite have been improved

  • improved the NDVI computation example

  • updates sphinx config

  • small clarification in the Installation section of the User Manual.

  • EPR C API (version bundled with the official source tar-ball)

    • in case of error always free resources before setting the error code. This avoids error shadowing in some cases.

    • fixed a bug that caused reading of the incorrect portion of data in case of mirrored annotation datasets (closes gh-9)

    • fixed a bug that caused incorrect data sub-sampling in case of mirrored datasets

PyEPR 0.8.1 (07/09/2013)

  • fixed an important bug in the error checking code introduced in previous release (closes gh-8)

  • fixed the NDVI example

  • no more display link URL in footnotes of the PDF User Manual

PyEPR 0.8 (07/09/2013)

  • now the epr.Product objects have a epr.Product.close() method that can be used to explicitly close products without relying on the garbage collector behaviour (closes gh-7)

  • new epr.Product.closed (read-only) attribute that can be used to check if a epr.Product has been closed

  • the Product class now supports context management so they can be used in with statements

  • added entries for epr.__version__ and epr.__revision__ in the reference manual

  • the epr.__revision__ module attribute is now deprecated

  • some cythonization warnings have been fixed

  • several small improvements to the documentation

PyEPR 0.7.1 (19/08/2013)

  • fixed potential issues with conversion from python strings to char*

  • new snapshot of the EPR C API sources (2.3dev):

    • the size of the record tables has been fixed

    • the EPR_NUM_PRODUCT_TABLES has been fixed

    • fixed a missing prototype

    • several GCC warnings has been silenced

    • additional checks on return codes

    • now and error is raised when an invalid flag name is used

  • better factorization of Python 3 specific code

  • use the CLOUD flag instead of BRIGHT in unit tests

  • added function/method signature to all doc-strings for better interactive help

  • several improvements to the documentation:

    • updated the README.txt file to mention EPR C API sourced inclusion in the PyEPR 0.7 (and lates) source tar-ball

    • small fix in the installation instructions: the pip tool does not have a “–prefix” parameter

    • always use the python3 syntax for the print function in all examples in the documentation

    • links to older (and dev) versions of the documentation have been added in the man page of the HTML doc

    • removed date form the doc meta-data. The documentation build date is reported in the front page of the LaTeX (PDF) doc and, starting from this release, in the footer of the HTML doc.

    • the Ohloh widget has been added in the sidebar of the HTML doc

    • improved the regexp for detecting the SW version in the :file`` script

    • formatting

PyEPR 0.7 (04/08/2013)

  • more detailed error messages in case of open failures

  • new sphinx theme for the HTML documentation

  • Travis-CI has been set-up for the project

  • now the source tar-ball also includes a copy of the EPR C API sources so that no external C library is required to build PyEPR.

    This features also makes it easier to install PyEPR using pip.

    The user can still guild PyEPR against a system version of the ERP-API library simply using the –epr-api-src option of the script with “None”” as value.

    The ERP C API included in the source tar-ball is version 2.3dev-pyepr062, a development and patched version that allows the following enhancements.

    • support for ERS products in ENVISAT format

    • support for ASAR products generated with the new ASAR SW version 6.02 (ref. doc. PO-RS-MDA-GS-2009_4/C

    • fix incorrect reading of “incident_angle” bands (closes gh-6). The issue is in the EPR C API.

PyEPR 0.6.1 (26/04/2012)

  • fix compatibility with Cython 0.16

  • added a new option to the setup script (–epr-api-src) to build PyEPR using the EPR-API C sources

PyEPR 0.6 (12/08/2011)

  • full support for Python 3

  • improved code highligh in the documentation

  • depend from cython >= 0.13 instead of cython >= 0.14.1. Cythonizing epr.pyx with Python 3 requires cython >= 0.15

PyEPR 0.5 (25/04/2011)

  • stop using PyFile_AsFile() that is no more available in Python 3

  • now documentation uses intersphinx capabilities

  • code examples added to documentation

  • tutorials added to documentation

  • the LICENSE.txt file is now included in the source distribution

  • the Cython construct with nogil is now used instead of calling Py_BEGIN_ALLOW_THREADS() and Py_END_ALLOW_THREADS() directly

  • dropped old versions of Cython; now Cython 0.14.1 or newer is required

  • suppressed several constness related warnings

PyEPR 0.4 (10/04/2011)

  • fixed a bug in the epr.Product.__str__(), Dataset.__str__() and erp.Band.__repr__() methods (bad formatting)

  • fixed epr.Field.get_elems() method for char and uchar data types

  • implemented epr.Product.read_bitmask_raster(), now the epr.Product API is complete

  • fixed segfault in epr.Field.get_unit() method when the field has no unit

  • a smaller dataset is now used for unit tests

  • a new tutorial section has been added to the user documentation

PyEPR 0.3 (01/04/2011)

PyEPR 0.2 (20/03/2011)

  • sphinx documentation added

  • added docstrings to all method and classes

  • renamed some method and parameter in order to avoid redundancies and have a more pythonic API

  • in case of null pointers a epr.EPRValueError is raised

  • improved C library shutdown management

  • introduced some utility methods to epr.Product and epr.Record classes

PyEPR 0.1 (09/03/2011)

Initial release