Commit graph

18 commits

Author SHA1 Message Date
adam
c1bb152a3b py-rpy: updated to 2.9.1
Release 2.9.1

Changes
-------
- Fixing issue 432 (see Section Bugs fixed below) involved removed the method
  `__reduce__` previously provided for all rpy2 objects representing R objects.

Bugs fixed
----------
- An error when installing with an unsupported R version was fixed.
- The docstring for `rinterface.endr()` was improperly stating that the function was not taking
  any argument.
- Target version of dplyr and tidyr are now 0.7.4 and 0.7.2 respectively.
- Fixed memory leak when pickling objects. Fixing the leak caused a
  slight change in the API (see Section Changes above).
- Conversion to :mod:`pandas` now handling R ordered factor.
- :mod:`jinja2` was not listed as a dependency
2017-11-28 09:07:23 +00:00
adam
51d22134aa py-rpy: update to 2.9.0
Release 2.9.0:

New features

- New module :mod:`rpy2.situation` to extract and report informations
  about the environment, such as where is the R HOME, what is the
  version of R, what is the version of R rpy2 was built with, etc...
  The module is also designed to be run directly and provide diagnostics:
  `python -m rpy2.situation`.

- :meth:`Environment.values`, :meth:`Environment.pop`,
  :meth:`Environment.popitems`, :meth:`Environment.clear`
  to match :meth:`dict.values`,
  :meth:`dict.pop`, :meth:`dict.popitems`, :meth:`dict.clear`.

- :class:`VectorOperationsDelegator` now has a method `__matmul__` to implement
  Python's matrix multiplication operator (PEP-0645).

- A rule to convert R POSIXct vectors to pandas Timestamp vectors was added.

- method :meth:`_repr_html_` for R vectors to display HTML in jupyter.


Changes

- Starting several times the singleton :class:`EventProcessor` longer results
  in a :class:`RuntimeError`.

- The target version for the R package `dplyr` mapped is now 0.7.1, and
  :func:`rpy2.robjects.lib.dplyr.src_dt` and
  :func:`rpy2.robjects.lib.dplyr.src_desc` are no longer present.

- :meth:`Environment.keys` is now a iterator to match :meth:`dict.keys`,
  also an interator in Python 3.

- Target version of `ggplot2` library is 2.2.1.

- Option `stringsasfactors` in the constructor for the class `DataFrame`. If `False`, the
  strings are no longer converted to factors. When converting from pandas data frames
  the default is to no longer convert columns of strings to factors.

- The R "magic" for jupyter is now more consistently using the conversion system, and the
  use of custom converters through the magic argument `-c` will work as expected.

- Docker-related files moved to directory docker/ (where variants image for rpy2 are available)


Bugs fixed

- :func:`numpy.float128` is not available on all platforms. The unit test
  for it is now skipped on systems where it is not present

- R pairlist objects can now be sliced.

- Passing parameters names that are empty string to R function was
  causing a segfault.

- Trying to build an atomic R vector from a Python object that has a length,
  but it not a sequence nor an iterator was causing a segfault
2017-10-18 16:17:12 +00:00
wiz
7f4ebada0d Fix packaging with py33. Disable for py26. 2015-04-10 08:36:30 +00:00
wiz
cea11831a3 Fix PLIST for python-2.x. 2015-04-10 06:17:19 +00:00
wiz
5d5edec070 Update to 2.5.6, in the hope it addresses PR 49817.
Release 2.5.6
=============

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

- Detection of the R version during setup on Win8 (issues #255 and #258)

- Segmentation fault when converting :mod:`pandas` :class:`Series` with
  elements of type object (issue #264)

- The default converter from Python (non-rpy2) objects to rinterface-level
  objects was producing robjects-level objects whenever the input was of
  type :class:`list` (discovered while fixing issue #264)

- Implemented suggested fix for issue with unlinking files on Windows
  (issue #191)

- Testing rpy2 in the absence of ipython no longer stops with an error
  (issue #266)


Release 2.5.5
=============

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

- Crash (segfault) when querying an R object in an R environment triggers an
  error (symbol exists, but associated values resolves to an error - issue #251)

- Change in the signature of `rcall` was not updated in the documentation
  (issue #259)

- Minor update to the documentation (issue #257)


Release 2.5.4
=============

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

- Filter PNG files on size, preventing empty files causing trouble to be
  ipython notebook rendering of graphics later on (slight modification of
  the pull request #39)

- Fix installation left unresolved with rpy2-2.5.3 (issue #248)

- Possible segfault with Python 3.4 (issue #249)


Release 2.5.3
=============

Changes
-------

- `setup.py` has `install_requires` in addition to `requires` in the hope to
   fix the missing dependency with Python 2 (:mod:`singledispatch` is required
   but not installed).

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

- Extracting configuration information from should now work when R is emitting a warning (issue #247)

- On OS X the library discovery step can yield nothing (see issue #246). A tentative fix is to issue
  a warning and keep moving.


Release 2.5.2
=============

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

- String representation of :class:`robjects.R` (issue #238)

- Check during `build_ext` if unsupported version of R (pull request #32)

- HTMl display of columns of factors in a DataFrame (issue #236)

- HTML display of factors (issue #242)


Release 2.5.1
=============

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

- Require singledispatch if Python 3.3 (issue #232)

- Fixed bug when R spits out a warning when asked configuration information (issue #233)

- Restored printing of compilation information when running `setup.py`

- Fixed installation issue on some systems (issue #234)

- Workaround obscure failure message from unittest if Python < 3.4 and
  :mod:`singledispatch` cannot be imported (issue #235)


Release 2.5.0
=============

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

- Experimental alternative way to preserve R objects from garbage collection.
  This can be activated with `rinterface.initr(r_preservehash=True)` (default
  is `False`.

- :class:`GGPlot` object getting a method :meth:`save`
  mirroring R's `ggplot2::ggsave()`.

- The conversion system is now using generics/single dispatch.

- New module :mod:`rpy2.ipython.html` with HTML display for rpy2 objects

- [Experimental] New function :func:`robjects.methods.rs4instance_factory`
  to type RS4 objects with more specificity.

Changes
-------

- The script `setup.py` was rewritten for clarity and ease of maintenance.
  Now it only uses `setuptools`.


Release 2.4.4
=============

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

- Use `input` rather than `raw_input` in the default console callback
  with Python 3 (fixes issue #222)

- Issues with conversions, pandas, and rmagic (fixes issue #218 and more)


Release 2.4.3
=============

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

- `geom_raster` was missing from `rpy2.robjects.lib.ggplot2` (pull request #30)

- Fixed issue with SVG rendering in ipython notebook (issue #217)

- Regression with `rx2()` introduced with new conversion (issue #219)

- Fixed documentation (missing `import`) (issue #213)


Release 2.4.2
=============

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

- Assigning an R `DataFrame` into an environment was failing if
  the conversion for Pandas was activated. (Issue #207)


Release 2.4.1
=============

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

- :meth:`rpy2.ipython` fixed spurious output to notebook cells.



Release 2.4.0
=============

Changes
-------

- Conversion system slightly changed, with the optional
  conversions for :mod:`numpy` and :mod:`pandas` modified
  accordingly. The changes should only matter if using
  third-party conversion functions.

- The Python 3 version is now a first class citizen. `2to3`
  is no longer used, and the code base is made directly
  compatible with Python. This lowers significantly the
  installation time with Python 3
  (which matters when developping rpy2).

- The default options to initialize R (`rpy2.rinterface.initoptions') are no longer
  `('rpy2', '--quiet', '--vanilla', '--no-save')` but now
  `('rpy2', '--quiet', '--no-save')`.

- :class:`robjects.vectors.ListVector` can be instanciated from
  any objects with a method `items()` with the expectation that the method
  returns an iterable of (name, value) tuples, or even be an iterable
  of (name, value) tuples.

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

- For instances of :class:`rpy2.robjects.Function`,
  the `__doc__` is now a property fetching information
  about the parameters in the R signature.

- Convenience function :func:`rpy2.robjects.packages.data`
  to extract the datasets in an R pacakges

- :mod:`ipython`'s `rmagic` is now part of :mod:`rpy`. To use, `%load_ext
  rpy2.ipython` from within IPython.

- new method :meth:`rpy2.rinterface.SexpEnvironment.keys`, returnings
  the names in the environment as a tuple of Python strings.

- convenience class :class:`robjects.packages.InstalledPackages`, with a companion function
  :func:`robjects.packages.isinstalled`.

- new class :class:`rinterface.SexpSymbol` to represent R symbols

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

- :meth:`rpy2.rinterface.Sexp.do_slot` was crashing when
  the parameter was an empty string (PR #155)



Release 2.3.10
==============

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

- `setup.py build` was broken when new R compiled with OpenMP (Issue #183)

Release 2.3.9
=============

- Changes in pandas 0.13.0 broke the rpy2 conversion layer (Issue #173)


Release 2.3.8
=============

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

- Crash with R-3.0.2. Changes in R-3.0.2's C API coupled to a strange behaviour
  with R promises caused the problem. (PR #150)


Release 2.3.7
=============

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

- ggplot2's "guides" were missing

- ggplot2's "theme_classic" was missing (PR #143)

- ggplot2's "element_rect" was missing (PR #144)

- :func:`rpy2.interactive.packages` was broken (PR #142)


Release 2.3.6
=============

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

- Several reports of segfault on OS X (since rpy2-2.3.1 - PR #109)

- More fixes in converting `DataFrames` with dates from `pandas`


Relase 2.3.5
============

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

- Missing mapping to ggplot2's `scale_shape_discrete` function

- Better handling of dates in Pandas

- Constructor for POSIXct improved (and fixed)

Changes
-------

- The attribute :attr:`rclass` is no longer read-only and can be set
  (since R allows it)

- Importing the module :mod:`rpy2.interactive` no longer activates
  event processing by default (triggering concurrency errors
  when used with ipython).

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

- New module :mod:`rpy2.interactive.ipython` (so far plotting
  automatically a ggplot2 figure in the iPython's console)

- It is now possible to set the :attr:`rclass`.


Relase 2.3.4
============

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

- Spurious error when running unit tests with Python 3 and numpy
  installed

- Missing mapping to ggplot2's `geom_dotplot` function

- Warnings are not longer printed (see Changes below)

Changes
-------

- Bumped target version of ggplot2 to 0.9.3.1

- Warnings are not longer printed. The C-level function in R became
  hidden in R-3.0, and the cost of an R-level check/print is relatively
  high if the R code called is very short. This might evolve into
  printing warnings only if interactive mode in Python (if this can
  be checked reliably).


Release 2.3.3
=============

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

- Some of the data.frames converted from :mod:`pandas` were triggering
  a :class:`TypeError` when calling :func:`repr`

- In :mod:`rpy2.robjects.lib.ggplot2`, a mapping to `coord_fixed` was
  missing (PR #120)

- Using the parameter `lib_loc` in a call to
  :func:`rpy2.robjects.packages.importr` was resulting in an error (PR #119)

- Creating a `layer` through the `rpy2.robjects.lib.ggplot2` interface did
  not accept parameters (PR #122)

- Testing the Python version was crashing of a number of unsupported Python
  versions (<= 2.6) (PR #117)

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

- New module pandas2ri to convert from mod:`pandas` `DataFrame` objects

- New classes :class:`rpy2.robjects.lib.grid.Unit` and
  :class:`rpy2.robjects.lib.grid.Gpar` to model their counterparts in
  R's `grid` package as they were previously missing from rpy2.


Release 2.3.2
=============

Bug fixed
---------

- Building on Win64 (pull request #6)

- Fetching data from an R package through `importr` was masking
  any R object called `data` in that package. The data are now
  under the attribute name `__rdata__`. This is not completely
  safe either, although much less likely, a warning will
  be issued if still masking anything.


Changes
-------

- More informative error message when failing to build because `R CMD config`
  does not return what is expected

Release 2.3.1
=============

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

- default console print callback with Python (issue #112 linked to it)

- deprecation warnings with ggplot2 (issue #111 and contributed patch)
2015-04-07 22:14:18 +00:00
wiz
936f44710a 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)
2014-01-19 22:50:43 +00:00
markd
2d690806fc Update py-rpy to 2.1.3
Works with recent R and recent python.
2010-06-09 21:04:26 +00:00
joerg
3722c7f2b5 Catch up with PLIST changes. Bump revision. 2008-09-19 14:39:00 +00:00
markd
6990810160 Update to match R 2.7.0 2008-04-26 02:41:00 +00:00
markd
853a07d633 Fix PLIST, bump PKGREVISION for the new R. 2007-11-07 19:49:36 +00:00
markd
eb3b550b13 Update py-rpy to 0.99.0
New features:
* Dramatically simplify the build process for Win32
* It is now possible to use setup.cfg to control various aspects of the
  build process. 'config.in' contains a template containing all available
  options and what they do.
Bug fixes
* RPy compiled with Numeric support will no longer crash when run with
  Numeric available.
* Crash during import when R is missing from the registry
* Problem using R Wavelets library with RPy
* RPy does not build on OS X, easy fix
* Plotting with RPy crashes Python
Other
* The rpy.py now communicates RHOME, RVER, RVERSION, RUSER from python to
  the _rpy module using environment variables. This avoids the need to
  have duplicate C code to obtain these values, and makes things both more
  maintainable and more robust.
2007-03-14 11:55:41 +00:00
joerg
cf6c1d2300 Catch up with R 2.3.1: different module name, different output of
R --version, different dependency. Bump revision.
2006-06-20 19:54:14 +00:00
markd
e2fe14385e Whoops, I forgot to actually fix the PLIST when I last "fixed" this. Bump
PKGREVISION again.
2006-01-27 21:50:41 +00:00
markd
0920088b52 Fix PLIST problem seen in bulk builds. 2005-12-19 11:34:46 +00:00
drochner
cffc26e315 update to 0.4.6
changes: many bugfixes, some improvements in mapping R-Python objects
2005-10-21 18:41:14 +00:00
adam
56b97808af CHANGES IN RPy 0.3.1
--------------------
Fixed bugs

o There was several memory leaks due to bad management of Python
  refcounts.

o There was wrong synchronization of the thread running the R event
  loop and the calls to the R interpreter.

o There was a bug with signal handling which caused segfault when
  'Ctrl-C' were pressed.

o The R event loop shouldn't be run in non-interactive sessions.

o The i/o Python callbacks were wrong synchronized with the R event
  loop thread.

New features

o Added a rpy_version symbol.
2003-12-04 13:50:33 +00:00
recht
e914ab3288 hange extension.mk to also install optimized files for distutils packages.
Inspired by FreeBSD "ports".

Fix the PLISTs accordingly.
Also, while at it, remove now obsolete compileall.py calls in post-install
targets and insure that extension.mk is in included before builinlinks of
other Python modules.

Discussed with/ok'ed by drochner@.
2003-09-14 16:43:45 +00:00
markd
cbc6b6880d Initial import of py-rpy-0.3.
Package provided by Kent Polk <kent@goathill.org> in personal email.

RPy is a very simple, yet robust, Python interface to the R
Programming Language. It can manage all kinds of R objects and can
execute arbitrary R functions (including the graphic functions).
All the errors from the R language are converted to Python exceptions.
Any modules that later were installed on the R system, can easily
be used from within Python, without introducing any changes.
2002-12-10 12:30:58 +00:00