Change history ============== PyEPR 0.8.2 (03/08/2014) ------------------------ * fixed segfault caused by incorrect access to :attr:`epr.Dataset.description` string in case of closed products * fixed a memory leak in :class:`epr.Raster` (closes :issue:`10`) * the size parameters (*src_width* and *src_height*) in :meth:`epr.Band.create_compatible_raster` are now optional. By default a :class:`epr.Raster` with the same size of the scene is created * the test suite have been improved * improved the :doc:`NDVI computation example ` * updates sphinx config * small clarification in the :ref:`installation` section of the :doc:`usermanual`. * 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 :issue:`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 :issue:`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 :class:`epr.Product` objects have a :meth:`epr.Product.close` method that can be used to explicitly close products without relying on the garbage collector behaviour (closes :issue:`7`) * new :attr:`epr.Product.closed` (read-only) attribute that can be used to check if a :class:`epr.Product` has been closed * the :class:`Product` class now supports context management so they can be used in ``with`` statements * added entries for :data:`epr.__version__` and :data:`epr.__revision__` in the reference manual * the :data:`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 :file:`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`setup.py` script - formatting .. _Ohloh: http://www.ohloh.net 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 :option:`--epr-api-src` option of the :file:`setup.py` 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 :issue:`6`). The issue is in the EPR C API. .. _`Travis-CI`: https://travis-ci.org/avalentino/pyepr PyEPR 0.6.1 (26/04/2012) ------------------------ * fix compatibility with cython_ 0.16 * added a new option to the setup script (:option:`--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 :file:`epr.pyx` with `Python 3`_ requires cython >= 0.15 PyEPR 0.5 (25/04/2011) ---------------------- * stop using :c:func:`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 :c:func:`Py_BEGIN_ALLOW_THREADS` and :c:func:`Py_END_ALLOW_THREADS` directly * dropped old versions of cython_; now cython_ 0.14.1 or newer is required * suppressed several constness related warnings .. _`Python 3`: http://docs.python.org/3 .. _intersphinx: http://sphinx-doc.org/latest/ext/intersphinx.html .. _cython: http://www.cython.org PyEPR 0.4 (10/04/2011) ---------------------- * fixed a bug in the :meth:`epr.Product.__str__`, :meth:`Dataset.__str__` and :meth:`erp.Band.__repr__` methods (bad formatting) * fixed :meth:`epr.Field.get_elems` method for char and uchar data types * implemented :meth:`epr.Product.read_bitmask_raster`, now the :class:`epr.Product` API is complete * fixed segfault in :meth:`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 :data:`epr.EPR_C_API_VERSION` * implemented ``__repr__``, ``__str__``, ``__eq__``, ``__ne__`` and ``__iter__`` special methods * added utility methods (not included in the C API) like: - :meth:`epr.Record.get_field_names` - :meth:`epr.Record.fields` - :meth:`epr.Dataset.records` - :meth:`epr.Product.get_dataset_names` - :meth:`epr.Product.get_band_names` - :meth:`epr.Product.datasets` - :meth:`epr.Product.bands` * 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 :exc:`epr.EPRValueError` is raised * improved C library shutdown management * introduced some utility methods to :class:`epr.Product` and :class:`epr.Record` classes .. _sphinx: http://sphinx-doc.org PyEPR 0.1 (09/03/2011) ---------------------- Initial release