Announcing
----------
The 2.8.7.1 release of wxPython is now available for download at
http://wxpython.org/download.php. This release has had some bugs
fixed, some minor patches applied, and also incorporates the Google
Summer of Code 2007 version of XRCed, and adds the Editra source code
editor.
Source code is available, as well as binaries for Python 2.3, 2.4 and
2.5, for Windows and Mac, as well some packages for various Linux
distributions. A summary of changes is listed below and also at
http://wxpython.org/recentchanges.php.
NOTE: On Mac OS X 10.5 (Leopard) the Python 2.5 binaries of wxPython
expect to be used with the user-installed version of MacPython, not
the Apple installed version. A fix for this issue is being worked on
for the next release. In the meantime you can either install
MacPython 2.5.1 and adjust your paths so that that Python is used, or
you can stick with Apple's Python and the wxPython 2.8.4.0 that comes
with Leopard.
What is wxPython?
-----------------
wxPython is a GUI toolkit for the Python programming language. It
allows Python programmers to create programs with a robust, highly
functional graphical user interface, simply and easily. It is
implemented as a Python extension module that wraps the GUI components
of the popular wxWidgets cross platform library, which is written in
C++.
wxPython is a cross-platform toolkit. This means that the same program
will usually run on multiple platforms without modifications.
Currently supported platforms are 32-bit Microsoft Windows, most Linux
or other Unix-like systems using GTK2, and Mac OS X 10.3+, in most
cases the native widgets are used on each platform to provide a 100%
native look and feel for the application.
Changes in 2.8.7.1
------------------
Applied Patch [ 1783958 ] to use the native renderer for drawing the
checkboxes in CheckListCtrlMixin.
Incorporated the new version of XRCed. This is the result of a Google
Summer of Code 2007 project by Roman Rolinsky, and includes a number
of UI enhancements, as well as a mechanism for adding support for new
components without needing changes to XRCed itself. These new
components can be those supported at the C++ layer of XRC, as well as
custom XRC handlers written in Python. See
http://wiki.wxpython.org/XRCed_Refactoring_Project
wxMac: Fixed wx.BusyInfo so it doesn't steal the activated status
from the parent window. (This actually applies to all frames with the
wx.FRAME_TOOL_WINDOW style and no decorations.)
wxMac: Fixed the lack of painting the area between scrollbars on
Leopard.
wxMac: Fixed assertion errors dealing with toolbars on Leopard.
wxMac: Multiline textcontrols now support attributes for margins and
alignement; only a single tab distance can be set though.
Added the wx.Image.AdjustChannels method. This function muliplies all
4 channels (red, green, blue, alpha) with a factor (around
1.0). Useful for gamma correction, colour correction and to add a
certain amount of transparency to a image.
Added Editra to the distribution, to give us a simple yet powerful
programmer's code editor to replace the never finished PyAlaMode
editor and related tools. Many thanks to Cody Precord for the work he
has done on this tool and for allowing us to make it part of wxPython.
Editra has syntax highlighting and other support for over 40
programming languages, excellent OS X integration, is extendable via
plugins, and for those that are on the VI side of the fence there is a
VI emulation mode. For more information see the Editra website at
http://editra.org/
wxGTK: wx.Frame.ShowFullScreen now preserves the menubar's
accelerators.
wxGTK: wx.GetClientDisplayRect fixed.
Applied patch [1838043], which adds a demo of the wx.RendererNative
class functionality.
Applied patch [1837449], which uses wx.RenderNative for drawing the
combo button in the PopupControl.
Added GetDirItemData to wx.GenericDirCtrl, which returns a reference
to the data object associated with an item in the control. (Patch
#1836326)
--
Robin Dunn
Software Craftsman
http://wxPython.org Java give you jitters? Relax with wxPython!
Hi,
We're happy to announce the release 1.2.2 of ViTables, the GUI for the PyTables
and PyTables Pro packages.
The current release focuses on fixing usability issues and bugs. It also gives
support for larger datasets (up to 2**64 rows). You can see the change log for
details:
http://www.carabos.com/products/vitables_changelog
If you are curious about how it looks like just watch the first introductory
video:
http://www.carabos.com/videos
Once more, you are encouraged to buy ViTables, test it, use it, and spread the
word.
And now, the official announcement:
=========================
Announcing ViTables 1.2.2
=========================
We are proud to present ViTables 1.2.2, the latest release of our viewer for
PyTables/HDF5 files.
As it happens with the entire PyTables family, the main strength of ViTables is
its ability to manage really large datasets in a fast and comfortable manner.
For example, with ViTables you can open a table with several thousand million
rows almost instantaneously, and throw queries on it that run in typically less
than a few tenths of second (if PyTables Pro is behind it) with very low memory
requirements. The fact that it runs on top of PyTables ensures its speed and
memory efficiency. Being a multiplatform application, ViTables runs flawlessly
in Unix (and hence, GNU/Linux), Mac OS X and Windows. Finally, for a better
user experience, we have created binary installers for Windows and Mac OS X.
The Unix version is installable using Python distutils.
In this release you will find some bug fixes and usability enhancements,
among them:
- capability for navigating datasets whith even 2**64 rows
- enhanced displaying of datasets
- Spanish translation added
Platforms
---------
At the moment, ViTables has been fully tested only on GNU/Linux, Windows
and MacOS X platforms, but as it is made on top of Python, PyQt and
PyTables, its portability should be really good and it should work just
fine in other Unices.
How to get it
-------------
Go to:
http://www.carabos.com/buy
to find directions on how to buy it. You can get it under a personal license or
a site one.
Remember that, when you buy a license, you are contributing to the liberation
process of PyTables Pro and ViTables. See:
http://www.carabos.com/liberation
for details.
Share your experience
---------------------
We are very interested in your feedback about ViTables. Please send your
opinions, suggestions, bugs, etc. to vitables(a)carabos.com.
Thank you!
Enjoy Data with ViTables, the troll of the PyTables family!
--
::
\ / Vicent Mas http://www.carabos.com
0;0
/ \ Cárabos Coop. Enjoy Data
V V
" "
Hi all,
The second version of alsaseq, bindings to the ALSA sequencer has been
released. Fixed some bugs in alsaseq.c, added id() function. Added
funtions in alsamidi.py, and a class to read and write ALSA events into
a CSV file.
alsaseq is a Python module that allows to interact with ALSA sequencer
clients. It can create an ALSA client, connect to other clients, send
and receive ALSA events immediately or at a scheduled time using a
sequencer queue. It provides a subset of the ALSA sequencer
capabilities in a simplified model.
It is implemented in C language and licensed under the Gnu GPL license
version 2 or later.
Home
http://pp.com.mx/python/alsaseq
Download
http://pp.com.mx/python/alsaseq/alsaseq-0.2.tar.gz
Regards,
Patricio Páez pp at pp.com.mx
The second version of Underscode, the Python identifier-like encoding,
has been released. The only change from 0.1.0 is that underscores are
encoded as 0x5f and spaces as __, which makes most encoded strings a lot
more readable. I know this breaks backwards compatibility, but at this
stage of the project I think that not many people (if any) are affected
by the change. So toy'n'enjoy!
==============
Underscode
==============
-------------------------------------
A Python identifier-like encoding
-------------------------------------
:Author: `Ivan Vilata i Balaguer <ivan(a)selidor.net>`__
:URL: http://underscode.selidor.net/
About Underscode
================
Underscode_ is an encoding which is capable of representing *any*
Unicode string as a valid (and quite similar) Python identifier. The
way Unicode strings are encoded minimises the chances of clashing with
other existing names, while not obscuring the resulting string too much.
Some method decorators are provided which allow arbitrary objects to be
accessed as normal instance attributes, with optional tab-completion
support for interactive usage. The standard Python codec API is also
supported.
Underscode-encoded (or *underscoded*) strings can be quickly spotted
because they end with an *odd* number of underscores, and they contain
escape sequences beginning with an underscore where characters not
allowed in identifiers would be found. Some examples of underscoded
strings are:
* ``_`` encodes the empty string.
* ``foo_`` encodes ``foo``.
* ``class_`` encodes ``class``.
* ``foo__bar_`` encodes ``foo bar``.
* ``foo_x5fbar_`` encodes ``foo_bar``.
* ``_2006_09_18_``, like ``_20060918_``, encodes ``20060918``.
* ``_x2fbin_x2fls_``, encodes ``/bin/ls``.
* ``The__Knights__Who__Say___u201cNi_x21_u201d_`` encodes the properly
quoted ``The Knights Who Say “Ni!”``.
As you see, underscoded strings are quite similar to their decoded
counterparts when these are more or less identifier-like, but complex
strings can still be handled.
Underscode is a very basic tool which may have several uses:
* Avoiding clashes between method names and table field names in ORMs.
* Enabling interactive attribute-like completion for children in
hierarchically arranged structures (DOM trees, filesystems...), with
full Unicode support.
* As an aid in the generation of RPC stubs for identifiers which are not
allowed by Python.
* Computing unique IDs for sections in automatically generated XML or
HTML documents.
* Naming page handlers for web server frameworks like CherryPy.
* ... just use your imagination!
The Underscode package is released under the GNU Lesser General Public
License (LGPL) version 3 or later (see http://www.gnu.org/licenses/).
Underscoded strings as attributes
---------------------------------
Underscode provides a module with decorators that allow you to use plain
attribute access as a flexible way of accessing all kinds of "child
objects" without polluting the normal attribute namespace, and with
optional interactive completion if you wish so. For instance, you can
make the (string) keys of a dictionary accessible as attributes::
from underscode.decorators import proxy_method
class AttributedDict(dict):
@proxy_method(dict.__getitem__)
def __getattr__(self, name):
return super(AttributedDict, self).__getattr__(name)
@proxy_method(dict.__setitem__)
def __setattr__(self, name, value):
super(AttributedDict, self).__setattr__(name, value)
@proxy_method(dict.__delitem__)
def __delattr__(self, name):
super(AttributedDict, self).__delattr__(name)
Then, access to an attribute which looks like an underscoded string gets
the name decoded and used as an argument to ``__getitem__()``:
>>> d = AttributedDict()
>>> d
{}
>>> d.foo = 1
>>> d.foo_ = 42
>>> d.foo_, d['foo'], d.foo
(42, 42, 1)
>>> d
{u'foo': 42}
>>> del d.foo_
>>> d
{}
Adding tab-completion on underscoded attributes to this simple example
is as easy as applying some ready-to-use decorators on the methods used
as arguments to ``proxy_method``. See the documentation of the
``underscode.decorators`` module for more information and examples.
Python codec API support
------------------------
Since the Underscode package is compliant with the standard Python codec
API, you can use Underscode to encode and decode strings with the usual
``unicode.encode()`` and ``str.decode()`` calls at any time just by
importing the ``underscode.codec`` subpackage (it is not automatically
imported by the main ``underscode`` package):
>>> import underscode.codec
>>> print u'this is \u201ca test\u201d'
this is “a test”
>>> u'this is \u201ca test\u201d'.encode('underscode')
'this__is___u201ca__test_u201d_'
>>> 'this__is___u201ca__test_u201d_'.decode('underscode')
u'this is \u201ca test\u201d'
Getting Underscode
==================
You can download the source code distribution of Underscode from the
Python Package Index at http://pypi.python.org/. It uses the standard
``setup.py`` method for installation, runs on any platform and has no
additional dependencies but Python version 2.4 or greater.
You may also be interested in following the development of Underscode;
you can get a copy of its development `Bazaar-NG`_ branch with::
$ bzr get https://bzr.selidor.net/selidor/underscode/trunk underscode
Helping Underscode
==================
There is a discussion group for Underscode at Google Groups:
http://groups.google.com/group/underscode
It would be great to discuss your opinions and feelings on Underscode in
the group, to know how you used it in your project, and to help solving
yours and others problems there! If you come across a bug or you have
some enhancement proposal, you may use the Trac_ instance available at
http://underscode.selidor.net/
.. _Underscode: http://underscode.selidor.net/
.. _Bazaar-NG: http://bazaar-ng.org/
.. _Trac: http://trac.edgewall.org/
::
Ivan Vilata i Balaguer @ Welcome to the European Banana Republic! @
http://www.selidor.net/ @ http://www.nosoftwarepatents.com/ @
You can get it from:
http://sf.net/projects/rope/files
Ropemacs is an emacs mode that uses rope_ library to provide features
like refactorings and code-assists. You should install rope_ library
and Pymacs before using ropemacs.
.. _`rope`: http://rope.sf.net/
--
http://www.fastmail.fm - mmm... Fastmail...
Dear Python community,
I'm happy to announce that the Python Software Foundation is part of a
new Google Open Source program, the Highly Open Participation Contest.
This contest is an effort by Google to engage pre-college students in
open source programming: Google is offering prizes and awards for
completing a variety of tasks for several organizations.
You can read the official announcement of the PSF's involvement over on
the Python Software Foundation blog, at
http://pyfound.blogspot.com/
or read about the overall Google Highly Open Participation Contest on
the GHOP page itself,
http://code.google.com/opensource/ghop/2007-8
Python's project page is:
http://code.google.com/p/google-highly-open-participation-psf/
There are several ways that the community can help; please check out the
MentorPage,
http://code.google.com/p/google-highly-open-participation-psf/wiki/MentorPa…
for more information. We could use more mentors, and there's room for
~40 more tasks -- why not write one up on your own project?
Also be sure to thank the people who made this possible,
http://code.google.com/p/google-highly-open-participation-psf/wiki/Contribu…
and, of course, Google!
best,
--titus
Hi,
We're happy to announce version 3.0.2 of Wing IDE, an advanced development
environment for the Python programming language. It is available from:
http://wingware.com/downloads
This release focuses on fixing usability issues found in Wing 3.0.1, including
missed Search in Project matches, failure to offer auto-completion for code
in extension modules, and about 25 other bugs.
See the change log for details:
http://wingware.com/pub/wingide/3.0.2/CHANGELOG.txt
It is a free upgrade for all Wing 3.x users.
*About Wing IDE*
Wing IDE is an integrated development environment for the Python programming
language. It provides powerful debugging, editing, code intelligence,
testing, and search capabilities that reduce development and debugging
time, cut down on coding errors, and make it easier to understand
and navigate Python code.
New features added in Wing 3.0 include:
* Multi-threaded debugger
* Debug value tooltips in editor, debug probe, and interactive shell
* Autocompletion and call tips in debug probe and interactive shell
* Automatically updating project directories
* Testing tool, currently supporting unittest derived tests (*)
* OS Commands tool for executing and interacting with external commands (*)
* Rewritten indentation analysis and conversion (*)
* Introduction of Wing IDE 101, a free edition for beginning programmers
* Available as a .deb package for Debian and Ubuntu
* Support for Stackless Python
* Support for 64 bit Python on Windows and Linux
(*)'d items are available in Wing IDE Professional only.
System requirements are Windows 2000 or later, OS X 10.3.9 or later for PPC or
Intel (requires X11 Server), or a recent Linux system (either 32 or 64 bit).
*Purchasing & Upgrading*
Wing IDE Professional & Wing IDE Personal are commercial software and require
a license to run. To upgrade a 2.x license or purchase a new 3.x license:
Upgrade https://wingware.com/store/upgrade
Purchase https://wingware.com/store/purchase
Any 2.x license sold after May 2nd 2006 is free to upgrade; others cost
1/2 the normal price to upgrade.
--
The Wingware Team
Wingware | Python IDE
Advancing Software Development
www.wingware.com
Hi everyone,
We at Carabos are happy to announce the simultaneous release of the new
2.0.2 versions of both PyTables and PyTables Pro. They are mainly
bugfix releases, and users of previous versions are encouraged to
upgrade.
And now the official announce:
============================================
Announcing PyTables and PyTables Pro 2.0.2
============================================
PyTables is a library for managing hierarchical datasets and designed to
efficiently cope with extremely large amounts of data with support for
full 64-bit file addressing. PyTables runs on top of the HDF5 library
and NumPy package for achieving maximum throughput and convenient use.
PyTables Pro adds OPSI, a powerful indexing engine for executing
very fast queries in large tables.
In this version, some bugs have been fixed, being the most important a
problem when moving or renaming a group. Some small improvements have
been added as well. Besides, a *critical* bug has been fixed in the Pro
version (the problem arose when doing repeated queries using the same
index). Because of this, an upgrade is strongly recommended.
In case you want to know more in detail what has changed in this
version, have a look at ``RELEASE_NOTES.txt``. Find the HTML version
for this document at:
http://www.pytables.org/moin/ReleaseNotes/Release_2.0.2
You can download a source package of the version 2.0.2 with
generated PDF and HTML docs and binaries for Windows from
http://www.pytables.org/download/stable/
For an on-line version of the manual, visit:
http://www.pytables.org/docs/manual-2.0.2
Migration Notes for PyTables 1.x users
======================================
If you are a user of PyTables 1.x, probably it is worth for you to look
at ``MIGRATING_TO_2.x.txt`` file where you will find directions on how
to migrate your existing PyTables 1.x apps to the 2.x versions. You can
find an HTML version of this document at
http://www.pytables.org/moin/ReleaseNotes/Migrating_To_2.x
Resources
=========
Go to the PyTables web site for more details:
http://www.pytables.org
About the HDF5 library:
http://hdfgroup.org/HDF5/
About NumPy:
http://numpy.scipy.org/
To know more about the company behind the development of PyTables, see:
http://www.carabos.com/
Acknowledgments
===============
Thanks to many users who provided feature improvements, patches, bug
reports, support and suggestions. See the ``THANKS`` file in the
distribution package for a (incomplete) list of contributors. Many
thanks also to SourceForge who have helped to make and distribute this
package! And last, but not least thanks a lot to the HDF5 and NumPy
(and numarray!) makers. Without them, PyTables simply would not exist.
Share your experience
=====================
Let us know of any bugs, suggestions, gripes, kudos, etc. you may
have.
----
**Enjoy data!**
-- The PyTables Team
::
Ivan Vilata i Balaguer >qo< http://www.carabos.com/
Cárabos Coop. V. V V Enjoy Data
""