Early bird registration for PyCon TX 2006 ends on January 15th, so
there's only a week left. To register, please go to:
You can still register after Jan. 15th, but the cost will go up by
US$65 (US$25 for students).
This year PyCon will feature a day of tutorials before the three days
of regular presentations. Course outlines for all the tutorials have
been posted; see
All of the PyCon tutorials are still open for new registrations, but
space is limited.
Don't forget to book your hotel room, too. PyCon TX 2006 is being
held at a Dallas/Addison hotel, and we have negotiated a special low
rate of $79 plus applicable taxes:
We hope to see you in Texas!
Chair, PyCon 2006
The Zope 3 development team is proud to announce Zope 3.2.0.
Zope 3 is the next major Zope release and has been written from scratch based
on the latest software design patterns and the experiences of Zope 2.
It is our opinion that Zope 3 is more than ready for production use,
which is why we decided to drop the 'X' for experimental from the name. We
will also continue to work on making the transition between Zope 2 and Zope 3
as smooth as possible. As a first step, Zope 2.8 includes Zope 3 features in
the form of Five. This is a long term effort. We're not there yet.
**You can't run Zope 2 applications in Zope 3.**
Installation instructions for both Windows and Un*x/Linux are now available
in the top level 'README.txt' file of the distribution. The binary installer
is recommended for Windows.
Zope 3.2 requires Python 2.4.2 to run. You must also have zlib
installed on your system.
Most Important Changes Since 3.1
- The ZServer has been replaced with the Twisted server. The Twisted
server supports all that the ZServer supporting has well has HTTP over
SSL natively and SFTP (disabled for now because of error handling
problems). Also in the future it brings a better chance of other
non-HTTP related protocols from being implemented for Zope3, like
SMTP-in and IMAP.
ZServer is still supported and will be used if you use the
--zserver when you run mkzopeinstance.
- Added a test browser. The test browser simulates a real Web browser as
much as possible as a Python object. This allows us to write
functional tests the same way the site would be experienced by the
user. This greatly simplifies functional tests, makes documentation
better and even helps analyzing usability. And of course, it can be
used in functional doctests.
- Changed the way returning large results is handled. The
response.write method is no longer supported. Applications
can now simply return files to the publisher.
- Implemented the password managers proposal. Main idea beside the
proposal is a standard way to implement password encoders/checkers,
zope.app.authentication.interfaces.IPasswordManager for details.
+ Added basic password managers: Plain Text, MD5, SHA1.
+ Support for password managers added for ZCML principals and
principals saved in local PrincipalFolers.
+ Added bin/zpasswd command line script which helps to create ZCML
+ Password managers support integrated into bin/mkzopeinstance.
+ New database generation created for convert local principals to new
- Implemented the language namespace proposal. Now you can override
the browser preferred language through the URL, like this:
Note: If you want to use a custom IUserPreferredLanguages adapter and
the '++lang++' feature together you should use
zope.app.publisher.browser.CacheableBrowserLanguages adapter as a base
class or at least as example.
- Implemented a new object introspector. Instead of just providing
information of the object's class, the new introspector focuses on
providing information that is specific to the instance, such as
directly provided interfaces and data, for example attribute values
and annotation values.
- Implemented the `devmode` switch for `zope.conf`. When turned on a
ZCML feature called `devmode` is provided. Packages can then register
functionality based on this feature. In Zope 3 itself, the devmode is
used to only load the API doc is devmode; turning off the devmode thus
closes a potential security hole and increases the start time by more
than a second.
- addMenuItem directive supports a `layer` attribute.
- Added a re-implementation of i18n message IDs (now simply
called ``Message``) that is immutable and thus can be treated
like unicode strings with respect to security proxying. This
implementation will replace the old one in upcoming versions.
- Added "test" message catalog for testing i18n. If you specify
++lang++test in a URL, then all translated strings will be
translated to [[domain][message_id], as in "[[zope][Preview]]".
Text without the domain marker isn't translated.
For a complete list of changes see the 'CHANGES.txt' file.
- "Zope 3 Development Web Site":http://dev.zope.org/Zope3
- "Zope 3 Dev Mailing List":http://mail.zope.org/mailman/listinfo/zope3-dev
- "Zope 3 Users Mailing
- IRC Channel: #zope3-dev at irc.freenode.net
Thanks goes to everyone that contributed.
The Zope 3 Development Team
DOPAL is a library to allow programs written in Python to easily
communicate the Java BitTorrent client Azureus, via the XML/HTTP plugin
(allowing communication over a network).
Version 0.54 is the first public release of DOPAL - which I've been
working on (on and off) for the last 18 months. It provides a very
Pythonic way of interacting with the objects available in Azureus's
Plugin API - you can interact with remote objects and invoke methods on
them as easily as any normal Python object (while all the connection
handling and XML generation and parsing is done behind the scenes). It
also allows you to write code which can do just the same things as Java
plugins for Azureus can (well, almost).
Please give it a try, let me know what you think...
Here's some sample output of DOPAL being used - a more elaborate
example can be found here: http://dopal.sourceforge.net/examples.html
Python 2.3.5 (#62, Feb 8 2005, 16:23:02) [MSC v.1200 32 bit (Intel)] on
Type "help", "copyright", "credits" or "license" for more information.
>>> import dopal.main
>>> connection = dopal.main.make_connection(host='10.0.0.4')
>>> plugin_interface = connection.getPluginInterface()
>>> print connection
AzureusObjectConnection for 10.0.0.4 [Azureus 22.214.171.124]
>>> downloads = plugin_interface.getDownloadManager().getDownloads()
>>> example_download = downloads
>>> print example_download
Download: Rarities [Stopped, 0.0%]
>>> print example_download.scrape_result
DownloadScrapeResult: Seeds: 272, Peers: 123
>>> example_download.restart() # Starts the download
>>> # Let a little time elapse...
>>> print example_download
Download: Rarities [Downloading, 23.3%]
The next meeting of BayPIGgies will be Thurs, January 12 at 7:30pm at
Google, room Tunis. Meet in the lobby of building 43.
This will be a combo meeting:
* First Marilyn Davis will practice her "Why Python?" talk -- she's
looking for feedback and suggestions on improving it.
* We'll fill the rest of the time with a "Newbies Night"; this is your
opportunity to get realtime responses to questions about Python
BayPIGgies meetings alternate between IronPort (San Bruno, California)
and Google (Mountain View, California). For more information and
directions, see http://baypiggies.net/
Before the meeting, we sometimes meet at 6pm for dinner. Discussion of
dinner plans is handled on the BayPIGgies mailing list.
Advance notice: We need speakers for February and later; the February
meeting is currently reserved for PyCon speakers wanting practice, and
the March meeting will probably be a PyCon wrap-up. Please e-mail
baypiggies(a)python.org if you want to suggest an agenda (or volunteer to
give a presentation).
Aahz (aahz(a)pythoncraft.com) <*> http://www.pythoncraft.com/
"19. A language that doesn't affect the way you think about programming,
is not worth knowing." --Alan Perlis
GUIE (GUI Editor) provides a simple WYSIWYG GUI editor for wxPython.
The program was made in C# and saves the GUI that was created to a XML
format I called GUIML. This GUIML is a pretty standard representation
of the GUI created with the program. Next, GUIE takes these GUIML files
and translates it to wxPython Python code. You may ask yourself why I
took the extra step? Why didn't I go straight from C# controls to
wxPython code? Why is GUIML necessary? Well, it isn't. It is there
simply for people (or maybe I) to take the GUIML and convert it to
other languages. This, by effect can convert this tool from a Python
GUI editor, to "any programming language with a GUI module" GUI editor.
Changes (as of v0.3.1)
Added: Cut + Copy + Paste Functionality!
Added: Code window (shows exported code; possible to disable in
Added: Error reporting option
Changed: Preperations for multi GUI language support
I'm pleased to announce release 0.54 of Task Coach. New in this release:
* The accelerators INSERT and Ctrl+INSERT were mapped to 'c' and
'Command-Copy' on the Mac, which caused Task Coach to create a new task
whenever the user typed a 'c'. Fixed by changing the accelerators for
new task and new subtask to Ctrl+N and Shift+Ctrl+N (on the Mac only).
* It was possible to enter control characters -- by copy-and-pasting --
resulting in invalid XML in the Task Coach file.
* One python file was missing in the source distribution of release
0.53. Added a test to check that all python files in the source are
actually added to the source distributions, so hopefully this will never
* Effort can be exported as iCalendar (ICS) file and imported into e.g.
Mozilla Sunbird. Each effort record is exported as a "VEVENT". This is
an experimental feature. Patch provided by Gissehel.
What is Task Coach?
Task Coach is a simple task manager that allows for hierarchical
tasks, i.e. tasks in tasks. Task Coach is open source (GPL) and is
developed using Python and wxPython. You can download Task Coach from:
A binary installer is available for Windows XP, in addition to the
Note that Task Coach is alpha software, meaning that it is wise to back
up your task file regularly, and especially when upgrading to a new release.
mountpy is a python script for quick automatic mounting and umounting
of external filesystems, especially suited for USB removable devices.
mountpy is developed on linux, and is meant for modern linux systems.
This is version 0.5, changes from previous version:
- use setuid wrapper from python source distribution
(suggested by Олег Бройтман/Oleg Broytmann)
- do not try to umount directory which is not a mountpoint
(caused some confusing, though harmless, messages)
| Radovan Garabík http://kassiopeia.juls.savba.sk/~garabik/ |
| __..--^^^--..__ garabik @ kassiopeia.juls.savba.sk |
Antivirus alert: file .signature infected by signature virus.
Hi! I'm a signature virus! Copy me into your signature file to help me spread!
Leo 4.4 alpha 5 is now available at:
This release completes the last major features of Leo 4.4:
- User-specified key-binding modes.
- Support for multiple key-bindings for individual minibuffer commands.
This will be the last alpha version of Leo 4.4. Beta 1 is coming in about a
week. You should be able to use this version safely; there are no known
To learn about Leo, see: http://webpages.charter.net/edreamleo/intro.html
The highlights of Leo 4.4:
- An Emacs-like mini-buffer: you can now execute any command by typing its
long name. Support for tab completion.
- A tabbed log pane. The Find and Spell Check commands now use tabs instead
of dialogs, making those commands much easier to use. Plugins or scripts can
easily create new tabs. The Completion tab shows possible typing
- Support for most commands in the Emacs Cmds menu, including cursor and
screen movement, basic character, word and paragraph manipulation, and
commands to manipulate buffers, the kill ring, regions and rectangles.
- Per-pane key bindings. You can bind shortcuts to multiple commands
depending on which of Leo's panes presently has focus. For example, you can
use arrow keys to move nodes in the outline pane, while retaining their
defaults in Leo's body pane.
- User-specified key-binding modes. This feature makes it possible to
emulate all aspects of Emacs and Vim as far as key bindings are concerned.
- Leo recovers from crashes much more reliably than in any previous version.
- @command nodes create minibuffer commands. You can bind key shortcuts to
@button and @command nodes.
- Leo handles key events and updates the screen immediately rather than
queuing them for idle time.
- Leo updates the screen immediately rather than waiting for idle time. This
Edward K. Ream email: edreamleo(a)charter.net
Please join us January 11, 7:30-9:00 PM, for the seventh meeting of
the Fredericksburg, VA Zope and Python User Group ("ZPUG"). Squid and
Zope! Python and Zope roundtable! Free food!
* Andrew Sawyers will discuss using the open source cache server
Squid with Zope, including a discussion of the O'Reilly book about
Squid (this talk was moved from our November meeting).
* We will have a Python and Zope roundtable for questions and
ideas about Zope or Python. Have a question you want to ask a Zope
core developer or a Python core developer or a community Zope or
Python user? Come by!
* We will serve delicious food and soft drinks.
We've had a nice group for all the meetings. Please come and bring
We also are now members of the O'Reilly and Apress user group
programs, which gives us nice book discounts (prices better than
Amazon's, for instance) and the possibility of free review copies.
Ask me about details at the meeting if you are interested.
General ZPUG information
When: second Wednesday of every month, 7:30-9:00.
Where: Zope Corporation offices. 513 Prince Edward Street;
Fredericksburg, VA 22408 (tinyurl for map is http://tinyurl.com/duoab).
Parking: Zope Corporation parking lot; entrance on Prince Edward Street.
Topics: As desired (and offered) by participants, within the
constraints of having to do with Python or Zope.
Contact: Gary Poster (gary(a)zope.com)
I'm assured that the reservation issues with the hotel have now been
resolved, so you can now go ahead and book your hotel room for PyCon
at the conference rate. See http://us.pycon.org/Addison/Hotels for
more information and a link to Marriott's reservation site.
If you've already booked a hotel room at the standard rate, call the
hotel back and have them change your reservation to the conference
Chair, PyCon 2006