Rubypython 0.5.1 Released

rubypython version 0.5.1 has been released!

RubyPython is a bridge between the Ruby and Python interpreters. It
embeds a
running Python interpreter in the Ruby application’s process using FFI
and
provides a means for wrapping, converting, and calling Python objects
and
methods.

RubyPython uses FFI to marshal the data between the Ruby and Python VMs
and
make Python calls. You can:

  • Inherit from Python classes.
  • Configure callbacks from Python.
  • Run Python generators (on Ruby 1.9.2 or later).

Changes:

0.5.1 / 2011-03-17

  • Major Enhancements:
    • Procs and methods can be passed to Python. [raineszm]
    • Python to Ruby inheritance: A Ruby class can inherit from a Python
      class
      (EXPERIMENTAL). [steeve]
    • The Python library can now be reloaded (EXPERIMENTAL). There is a
      good
      chance of a segfault if this is used with a native extension.
      [raineszm]
    • Python functions and methods can be called with a terminal
      exclamation
      point to enable keyword argument processing in Python
      (EXPERIMENTAL). [tmm1]
  • Minor Enhancements:
    • Improved Python generator support. [steeve]
    • PythonError now inherits from RuntimeError. [halostatue]
    • Added a Py_REFCNT macro for debugging reference counting. [tmm1]
  • Changes:
    • Moved to RSpec2. [halostatue]
    • Moved Rakefile to hoe; added autotest. [halostatue]
  • Bug Fixes:
    • Fixed a reference counting bug that could crash the Python VM.
      [steeve]
    • Fixed a memory leak/reference counting bug related to method
      invocation
      (when turning the argument list into a tuple, PyList_SetItem steals
      references). Depends on FFI 1.0.7 (or higher) with modifications to
      aggressively free temporary Python objects created. [tmm1]
    • Restored Ruby 1.8.7 compatibility where possible. [halostatue]
    • Fixed FFI loader to be more robust and do more through FFI.
      [halostatue]
    • Fixed documentation errors. [halostatue]
  • Project Management:
    • Rupy has been merged back into RubyPython.
    • Made the project website on RubyForge generatable from the readme
      and a
      template. Adopted the 960 grid system and modern CSS techniques.
    • Added a contributors document.