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)
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.
setup.pyscript has been simplified and modernized, now it always use setuptools and
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.
Recordclasses has been renamed into
print(). The old
print_()method is now deprecated and will be removed in future versions.
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._filenohas 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)
Minimal numpy version is now v1.7
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:
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)
PyEPR 0.9.3 (02/05/2015)
Fix PyEprExtension class in setup.py (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_STRINGdata 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)
basic support for update mode: products can now be opened in update mode (‘rb+’) and it is possible to call
epr.Field.set_elems()methods to set
epr.Fieldelements changing the contents of the
epr.Producton disk. This feature is not available in the EPR C API.
new functions/methods and properties:
epr.Band._elem_indexproperties: return the
epr.Fieldindex (within the
epr.Record) and the element index (within the
epr.Field) containing the raw data used to create the
epr.Band’s pixel values
added support for some low level feature: the _magic private attribute stores the identifier of EPR C stricture, the
epr.Record.get_offset()returns the offset in bytes of the
epr.Recordwithin the file, and the
epr.Field.get_offset()method returns the
epr.Fieldoffset within the
epr.Field.get_elems()method has been re-written to remove loops and unnecessary data copy
now generator expressions are used to implement __iter__ special methods
the index parameter of the
epr.Dataset.read_record()method is now optional (defaults to zero)
the deprecated __revision__ variable has been removed
declarations of the EPR C API have been moved to the new
the const_char and const_void definitions have been dropped, no longer necessary with Cython >= 0.19
minimum required version for Cython is now 0.19
setup.pyscript has been completely rewritten to be more “pip friendly”. The new script uses setuptools if available and functions that use numpy are evaluated lazily so to give a chance to pip and setuptools to install dependencies, numpy, before they are actually used. This should make PyEPR “pip-installable” even on system there numpy is not already installed.
testdirectory has been renamed into
the test suite now has a
setUpModule()function that automatically downloads the ENVISAT test data required for test execution. The download only happens if the test dataset is not already available.
tests can now be run using the
$ python3 setup.py test
PyEPR 0.8.2 (03/08/2014)
fixed segfault caused by incorrect access to
epr.Dataset.descriptionstring in case of closed products
the test suite have been improved
improved the NDVI computation example
updates sphinx config
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)
Productclass now supports context management so they can be used in
added entries for
epr.__revision__in the reference manual
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
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:
README.txtfile 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`setup.py` script
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
setup.pyscript 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)
PyEPR 0.5 (25/04/2011)
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 nogilis now used instead of calling
suppressed several constness related warnings
PyEPR 0.4 (10/04/2011)
fixed a bug in the
erp.Band.__repr__()methods (bad formatting)
epr.Field.get_elems()method for char and uchar data types
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)
version string of the EPR C API is now exposed as module attribute
added utility methods (not included in the C API) like:
fixed a logic error that caused empty messages in custom EPR exceptions
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
improved C library shutdown management
PyEPR 0.1 (09/03/2011)