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]
- Fixed a reference counting bug that could crash the Python VM.
- 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.