Announcing HDF5 for Python (h5py) 2.0
We are proud to announce the availability of HDF5 for Python (h5py) 2.0 final.
HDF5 for Python (h5py) is a general-purpose Python interface to the
Hierarchical Data Format library, version 5. HDF5 is a mature scientific
software library originally developed at NCSA, designed for the fast,
flexible storage of enormous amounts of data.
>From a Python programmer's perspective, HDF5 provides a robust way to
store data, organized by name in a tree-like fashion. You can create
datasets (arrays on disk) hundreds of gigabytes in size, and perform
random-access I/O on desired sections. Datasets are organized in a
filesystem-like hierarchy using containers called "groups", and
accessed using the traditional POSIX /path/to/resource syntax.
Following beta feedback over the past few weeks, and taking into account the
substantial number of changes in this release, we have decided to label this
release as h5py 2.0. While most existing code will run unmodified, we
strongly encourage all users to consult the list of changes in the document
"What's new in h5py 2.0":
Downloads, FAQ and bug tracker are available at Google Code:
* Google code site: http://h5py.googlecode.com
Most exciting changes
* Significant improvements in stability, from a refactoring of the low-level
component which talks to HDF5.
* HDF5 1.8.3 through 1.8.7 now work correctly and are officially supported.
* Python 3.2 is officially supported by h5py! Thanks especially to
Darren Dale for getting this working.
* HDF5 1.6.X is no longer supported on any platform; following the release of
1.6.10 some time ago, this branch is no longer maintained by The HDF Group.
* Python 2.6 or later is now required to run h5py. This is a consequence of
the numerous changes made to h5py for Python 3 compatibility.
I'm pleased to announce version 1.1.0, the first stable release of branch
1.1 of SQLObject.
What is SQLObject
SQLObject is an object-relational mapper. Your database tables are described
as classes, and rows are instances of those classes. SQLObject is meant to be
easy to use and quick to get started with.
SQLObject supports a number of backends: MySQL, PostgreSQL, SQLite,
Firebird, Sybase, MSSQL and MaxDB (also known as SAPDB).
Where is SQLObject
News and changes:
Features & Interface
* SelectResults (returned from .select()) is allowed in IN(column, list).
* A different workaround is used in SQLiteConnection to prevent PySQLite
from converting strings to unicode - in the case of a registered text
conversion function PySQLite silently converts empty strings to Nones;
now SQLObject uses text_factory instead and properly returns empty
* It is now possible to declare one encoding for all UnicodeCol's per
table (as sqlmeta.dbEncoding) or per connection (as connection.dbEncoding).
Default (if dbEncoding is found neither in column nor in table nor in
connection) is 'utf-8'.
Source code and internals
* Decorators @classmethod and @staticmethod are used everywhere.
* All 'mydict.has_key(name)' checks were replaced with 'name in mydict'.
For a more complete list, please see the news:
Oleg Broytman http://phdru.name/ phd(a)phdru.name
Programmers don't die, they just GOSUB without RETURN.
Pyro 4.7 has just been released!
Get it from Pypi: http://pypi.python.org/pypi/Pyro4/
* AutoProxy feature! Pyro objects are replaced by proxies automatically.
* Asynchronous method calls: do a call and get the results somewhere in the future.
* One-line-server-setup using Pyro4.Daemon.serveSimple
* nameserver.register() behavior change: overwrites existing names.
* added Pyro4.util.excepthook that you can use for sys.excepthook
* part of the new manual has been written, including a tutorial.
Pyro = Python Remote Objects. It is a library that enables you to build applications in
which objects can talk to each other over the network, with minimal programming effort.
You can just use normal Python method calls, with almost every possible parameter and
return value type, and Pyro takes care of locating the right object on the right
computer to execute the method. It is designed to be very easy to use, and to generally
stay out of your way. But it also provides a set of powerful features that enables you
to build distributed applications rapidly and effortlessly. Pyro is written in 100% pure
Python and therefore runs on many platforms and Python versions, including Python 2.x,
Python 3.x, IronPython, Jython and Pypy.
Irmen de Jong
PyGUI 2.5 is available:
Lots of new stuff in this version. Highlights include:
- Improved facilities for customising the standard menus.
- Functions for creating PyGUI Images from PIL images and numpy arrays.
- ListButton - a pop-up or pull-down menu of choices.
- GridView - a user-defined view consisting of a regular grid of cells.
- PaletteView - a GridView specialised for implementing tool palettes.
There is also a big pile of other improvements and bug fixes. See the
CHANGES file for full details.
What is PyGUI?
PyGUI is a cross-platform GUI toolkit designed to be lightweight
and have a highly Pythonic API.
I'm glad to inform you about new quarterly release 0.34 of the free
(even for commercial purposes, license: BSD) cross-platform OOSuite
package software (OpenOpt, FuncDesigner, SpaceFuncs,
* Python 3 compatibility
* Lots of improvements and speedup for interval calculations
* Now interalg can obtain all solutions of nonlinear equation
(example) or systems of them (example) in the involved box lb_i <= x_i
<= ub_i (bounds can be very large), possibly constrained (e.g. sin(x)
+ cos(y+x) > 0.5).
* Many other improvements and speedup for interalg.
See http://forum.openopt.org/viewtopic.php?id=425 for more details.
Nimp (Nested Imports) is a little meta-importer hook for Python 2.3-2.7 and 3.0-3.2 that enables the use of *nested packages* (`com.ibm.foo.bar`), as is commonplace in Java and various other languages. It works by collecting all packages that begin with a common prefix on your `sys.path` and "merging" them into logical packages.
Install: pip install nimp
Consider the following package layout (say, under site-packages, or anywhere on your python path):
... package files ...
... package files ...
... package files ...
... package files ...
Using Nimp is easy:
You can place these two lines in your `site.py`; after calling `nimp.install()`, the following imports will "magically" work:
import com # a namespace package (empty)
from com.ibm.storage.plugins import MySQLPlugin
PyCon Finland will take place October 17-18 in Turku. The first day
will feature presentations and the second is reserved for sprints.
We are currently accepting proposals for both talks and sprints. If
you would like to give a presentation, organize a sprint or see
presentations on a particular topic, please see instructions at
http://python.fi/pyconfi. The deadline for proposals is 1.8. The
organizers will notify accepted presenters and sprint coordinators by
The presentation slots will be 40 minutes + 10 minutes of discussion
at the end. Shared sessions are also possible. The language for the
presentations should be English to encourage international
We are also looking for sponsors for the event. If you are interested
in sponsoring, please contact Python Finland at hallitus(a)python.fi for
details about sponsorship packages.
Spokesperson, Python Finland