Subject: CVS commit: pkgsrc/math/py-rpy
From: Thomas Klausner
Date: 2014-01-19 23:50:43
Message id: 20140119225043.C309396@cvs.netbsd.org

Log Message:
Update to 2.3.0:

Release 2.3.0
=============

New Features
------------

:mod:`rpy2.rinterface`:

- C-level API, allowing other C-level modules to make use of utilities
  without going through the Python level. The exact definition of
  the API is not yet fixed. For now there is
  PyRinteractive_IsInitialized() to assess whether R was initialized
  (through :mod:`rpy2.rinterface` or not).

- C-module _rpy_device, allowing one to implement R graphical devices
  in Python [(very) experimental]

- Tracking of R objects kept protected from garbage collection by rpy2
  is now possible.

- New method :meth:`Sexp.rid` to return the identifier of the R object
  represented by a Python/rpy2 object

:mod:`rpy2.rinteractive`:

- Dynamic build of Python docstrings out of the R manual pages

:mod:`rpy2.robjects.help`:

- Build dynamic help

:mod:`rpy2.robjects.packages:

- Build anonymous R packages from strings

- When using :func:`importr`, the datasets are added as an attribute
  :attr:`data`, itself an instance of a new class :class:`PackageData`.
  It no longer possible to access datasets are regular objects from
  a code package (because of changes in R), and the new system is
  more robust against quirks.

Changes
-------

:mod:`rpy2.rinterface`:

- :attr:`SexpClosure.env` to replace the method `closureenv`.

Release 2.2.6
=============

Bugs fixed
----------

- Newest R-2.15 and ggplot2 0.9 broke the ggplot2 interaface
  in :mod:`rpy2.robjects.lib.ggplot2`

Release 2.2.5
=============

Bugs fixed
----------

- install process: Library location for some of the R installations

- should compile on win32 (thanks to a patch from Evgeny Cherkashin),
   a work to a limited extend

Release 2.2.4
=============

Bugs fixed
----------

- Memory leak when creating R vectors from Python (issue #82)

Release 2.2.3
=============

Bugs fixed
----------

- Dynamic construction of S4 classes was looking for R help as 'class.<class>'
  rather than '<class>-class'

- The cleanup of temporary directories created by R was not happening if
  the Python process terminated without calline :func:`rpy2.rinterface.endr()`
  (issue #68, and proof-of-principle fix by chrish42)

Release 2.2.2
=============

Bugs fixed
----------

- With the robjects layer, repr() on a list containing non-vector elements
  was failing

Release 2.2.1
=============

Bugs fixed
----------

- MANIFEST.in was missing from MANIFEST.in, required with Python 3

Release 2.2.0
=============

New Features
------------

- Support for Python 3, and for some of its features ported to Python 2.7

:mod:`rpy2.robjects`:

- :meth:`Environment.keys` to list the keys

- classes :class:`robjects.vectors.POSIXlt` and
  :class:`robjects.vectors.POSIXlt` to represent vectors of R
  dates/time

- :func:`packages.get_packagepath` to get the path to an R package

- module :mod:`rpy2.robjects.help` to expose the R help system to Python

- Metaclass utilities in :mod:`rpy2.robjects.methods`, allowing to reflect
  automatically R S4 classes as Python classes.

- :meth:`rpy2.robjects.vectors.FactorVector.iter_labels` to iterate over the labels

- :class:`rpy2.robjects.vectors.ListVector` to represent R lists.

- Constructor for :class:`rpy2.robjects.vectors.ListVector` and
  :class:`rpy2.robjects.vectors.DataFrame` accept any iterable at the condition
  that the elements iterated through also valid subscripts for it (e.g., given
  an iterable v, the following is valid:

  .. code-block:: python

     x[k] for x in v

:mod:`rpy2.rinterface`:

- :data:`NA_Complex` and :class:`NAComplexType` for missing complex values.

- :class:`SexpExtPtr` to represent R objects of type EXTPTR (external pointers).

- :func:`rpy2.rinterface.parse` to parse a string a R code

- :func:`rpy2.rinterface.rternalise` to wrap Python function as \ 
:class:`SexpClosure` that can
  be called by R just as it was a function of its own.

- :class:`rpy2.rinterface.RNULLType` for R's C-level NULL value and
  :class:`rpy2.rinterface.UnboundValueType` for R's C-level R_UnboundValue
  (both singletons).

- :meth:`rinterface.SexpVector.index`, of similar behaviour to :meth:`list.index`.

- :meth:`rpy2.rinterface.Sexp.list_attrs` to list the names of all R attributes
  for a given object.

- :class:`rpy2.rinterface.ByteSexpVector` to represent R 'raw' vectors.

- constant `R_LEN_T_MAX` to store what is the maximum length for a vector in R.

- tuple `R_VERSION_BUILD` to store the version of R rpy2 was built against

- getter :attr:`Sexp.rclass` to return the R class associated with an object

:mod:`rpy2.rlike`:

- :class:`container.OrdDict` get proper methods :meth:`keys` and `get`

:mod:`rpy2.interactive`:

- A new sub-package to provide utilities for interactive work, either for
  handling R interactive events or use Python for interactive programming
  (as often done with the R console)

Changes
-------

:mod:`rpy2.robjects`:

- NA_bool, NA_real, NA_integer, NA_character and NA_complex are now
  deprecated (and removed).
  NA_Logical, NA_Real, NA_Integer, NA_Character, NA_Complex should be used.

- :class:`rpy2.robjects.packages.Package` now inherits from :class:`types.ModuleType`

- classes representing R vector also inherit their type-specific
  rinterface-level counterpart.

- Importing the :class:`rpy2.robjects.numpy2ri` is no longer sufficient
  to active the conversion. Explicit activation is now needed; the function
  `activate` can do that.

:mod:`rpy2.rinterface`:

- :class:`IntSexpVector`, :class:`FloatSexpVector`,
  :class:`StrSexpVector`, :class:`BoolSexpVector`, :class:`ComplexSexpVector`
  are now defined at the C level, improving performances
  and memory footprint whenever a lot of instances are created.

Bugs fixed
----------

- Better and more explicit detection system for needed libraries when
  compiling rpy2 (ported to release 2.1.6)

- Long-standing issue with readline fixed (issue #10)

Release 2.1.9
=============

Bugs fixed
----------

- The R class in rpy2.robjects is now truly a singleton

- When using numpy 1.5 and Python >= 2.7, the exposed buffer for R numerical \ 
(double)
  vectors or arrays was wrong.

Release 2.1.8
=============

Bugs fixed
----------

- Fixed issue with R arrays with more than 2 dimensions and numpy arrays
  (issue #47 - backported from the branch 2.2.x).

Release 2.1.7
=============

Bugs fixed
----------

- More fixes for the automated detection of include and libraries at build time.

Release 2.1.6
=============

Bugs fixed
----------

- Further fixes in the automatic detection of includes and libraries
  needed to compile rpy2 against R. The detection code has
  been refactored (backport from the 2.2.x branch)

Release 2.1.5
=============

Bugs fixed
----------

- fixes the automatic detection of R_HOME/lib during building/compiling
  when R_HOME/lib is not in lib/ (issue #54)

Release 2.1.4
=============

New features
------------

- :mod:`rpy2.robjects.lib.ggplot2` now has the functions :func:`limits`,
  :func:`xlim`, :func:`ylim` exposed (patch contributed anonymously)

Bugs fixed
----------

- Install script when the BLAS library used by R is specified as a library
  file (patch by Michael Kuhn)

Files:
RevisionActionfile
1.31modifypkgsrc/math/py-rpy/Makefile
1.13modifypkgsrc/math/py-rpy/PLIST
1.11modifypkgsrc/math/py-rpy/distinfo
1.7removepkgsrc/math/py-rpy/patches/patch-aa