ConfigObj 4.0.0 final and Pythonutils 0.2.3 have just hit the streets.
http://www.voidspace.org.uk/python/configobj.htmlhttp://www.voidspace.org.uk/python/pythonutils.html
They are both pure Python modules - the source distributions include
full documentation, which is also online.
What's New ?
============
ConfigObj 4.0.0 final has two bugfixes.
Using ``setdefault`` to create a new section would return a reference
to the dictionary you passed in - not the new section.
Also fixed a trivial bug in ``write`` (wouldn't have affected anyone).
Pythonutils 0.2.3 is updated to include the ConfigObj 4.0.0 final and
cgiutils 0.3.3
ConfigObj is now marked stable. (But caveat emptor :-)
What is ConfigObj ?
===================
ConfigObj is a simple but powerful config file reader and writer: an
*ini file round tripper*. Its main feature is that it is very easy to
use, with a straightforward programmer's interface and a simple syntax
for config files. It has lots of other features though :
* Nested sections (subsections), to any level
* List values
* Multiple line values
* String interpolation (substitution)
* Integrated with a powerful validation system
- including automatic type checking/conversion
- repeated sections
- and allowing default values
* All comments in the file are preserved
* The order of keys/sections is preserved
* No external dependencies
What is Pythonutils ?
=====================
The Voidspace Pythonutils package is a simple way of installing the
Voidspace collection of modules. Several of the Voidspace Projects
depend on these modules. They are also useful in their own right of
course. They are primarily general utility modules that simplify common
programming tasks in Python.
These are currently :
* ConfigObj - simple config file handling
* validate - validation and type conversion system
* listquote - string to list conversion
* StandOut - simple logging and output control object
* pathutils - for working with paths and files
* cgiutils - cgi helpers (and functions for sending emails etc)
* urlpath - functions for handling URLs
* odict - Ordered Dictionary Class
All the best,
Fuzzyman
http://www.voidspace.org.uk/python
________________________________________________________________________
ANNOUNCEMENT
EGENIX.COM
mxODBC Zope Database Adapter
Version 1.0.9
Usable with Zope and the Plone CMS.
Available for Zope 2.3 through 2.8 on
Windows, Linux, Mac OS X, Solaris and FreeBSD
________________________________________________________________________
INTRODUCTION
The eGenix mxODBC Zope Database Adapter allows you to easily connect
your Zope or Plone installation to just about any database backend on
the market today, giving you the reliability of the commercially
supported eGenix product mxODBC and the flexibility of the ODBC
standard as middle-tier architecture.
The mxODBC Zope Database Adapter is highly portable, just like Zope
itself and provides a high performance interface to all your ODBC data
sources, using a single well-supported interface on Windows, Linux,
Mac OS X, Solaris and FreeBSD.
This makes it ideal for deployment in ZEO Clusters and Zope hosting
environments where stability and high performance are a top priority,
establishing an excellent basis and scalable solution for your Plone
CMS.
________________________________________________________________________
NEWS
The new version includes a number of enhancements which make the
mxODBC Zope Database Adapter even more robust and reliable.
The adapter includes a new, more careful connection pool management
and options to adjust the result set size in a more flexible way.
We are very pleased to also include a build for Mac OS X with this
release. This will make connecting your Zope or Plone installation on
Mac OS X to local or remote databases a breeze.
Starting with this release, we will now ship binaries for both Unicode
build variants of Zope: UCS2 and UCS4. Most recent Linux distributions
come pre-built with the UCS4 variant, e.g. SuSE 9 and 10, RedHat 9.
________________________________________________________________________
UPGRADING
If you have already bought mxODBC Zope DA 1.0.x licenses, you can use
these license for the 1.0.9 version as well. There is no need to buy
new licenses. The same is true for evaluation license users.
________________________________________________________________________
MORE INFORMATION
For more information on the mxODBC Zope Database Adapter, licensing
and download instructions, please visit our web-site:
http://zope.egenix.com/
You can buy mxODBC Zope DA licenses online from the eGenix.com shop at:
http://shop.egenix.com/
________________________________________________________________________
Thank you,
--
Marc-Andre Lemburg
eGenix.com
Professional Python Services directly from the Source (#1, Oct 17 2005)
>>> Python/Zope Consulting and Support ... http://www.egenix.com/
>>> mxODBC.Zope.Database.Adapter ... http://zope.egenix.com/
>>> mxODBC, mxDateTime, mxTextTools ... http://python.egenix.com/
________________________________________________________________________
::: Try mxODBC.Zope.DA for Windows,Linux,Solaris,FreeBSD for free ! ::::
IMDbPY 2.2 is available (tgz, deb, rpm, exe) from:
http://imdbpy.sourceforge.net/
IMDbPY is a Python package useful to retrieve and manage the data of
the IMDb movie database about both movies and people.
With this release it is possible to retrieve some new information,
including "guest appearances" for TV series; a lot of bugs were
fixed and the SQL data access system was heavily improved.
Platform-independent and written in pure Python (and few C lines), it
can retrieve data from both the IMDb's web server and a local copy of
the whole database.
IMDbPY package can be very easily used by programmers and developers
to provide access to the IMDb's data to their programs.
Some simple example scripts are included in the package; other
IMDbPY-based programs are available from the home page.
--
Davide Alberani <alberanid(a)libero.it> [PGP KeyID: 0x465BFD47]
http://erlug.linux.it/~da/
(date and time inadvertently omitted last time. sorry!)
The New York Linux User's Group invites you to a special presentation
by Alex Martelli of Google, on the Python Object Model. This
presentation will be held at P.J. Clarke's Sidecar, rather than our
usual location, and Google is picking up the tab for an hour and a half
of open bar and food. Additionally, if you're looking for a job as a
Python developer, bring your resume.
Please RSVP at http://rsvp.nylug.org to attend, as seating is limited.
PS: You may wish to bring ID and a GPG fingerprint to sign keys.
- Ron
(announcement follows)
The New York Linux User's Group Presents
Alex Martelli
- on -
The Python Object Model
Held at P.J. Clarke's Sidecar
October 26, 2005 6:00pm-10:00pm
915 Third Avenue @ 55th Street - NY
Python is a multi-paradigm programming language, but, out of the
paradigms it supports, there is no doubt that OOP (Object Oriented
Programming) is the paradigm that forms Python's core. If you have done
any substantial programming with Python, you have, most likely, used
some of its OOP features. But -- have you ever stopped to really think
about those OOP features, the mechanisms that Python uses (and exposes!)
to implement them, and how best to make use of the possibilities this
state of things offers?
This subject is generally known as the "Object Model" of a language.
This talk stops a bit short of examining every level of Python's Object
Model -- in particular, it does not get into metatypes (metaclasses) and
similar levels of "Black Magic". Rather, the talk sticks to the most
practically interesting aspects of Python's Object Model as seen from
the point of view of a programmer using Python -- understanding exactly
what's going on in all kind of everyday OOP-usage situation, what
alternatives and trade-offs these mechanisms imply (for example, when
should you use closures, and when should you use functors instead? when
to inherit, and when to delegate instead?), and how Design Patterns play
into the mix (Python subsumes and build-ins some classic DPs, and makes a
few others irrelevant due to its highly dynamic typing, but other classic
DPs yet remain extremely relevant and important for optimal day to day
use of OOP in Python).
About Alex Martelli
-------------------
Alex Martelli is Uber Technical Lead at Google, in Production Software.
He wrote Python in a Nutshell and co-edited the Python Cookbook, and is
a member of the Python Software Foundation. Before joining Google,
Martelli spent 8 years with IBM, 12 with think3 inc, and 3 as a Python
freelance consultant, mostly for AB Strakt (Sweden).
P. J. Clarke's Sidecar
----------------------
915 Third Avenue @ 55th Street - NY
Sidecar is PJ Clarkes handsome semiprivate upstairs dining room. You
enter Sidecar through a distinct yet discreet door on East 55th Street.
Subway:
Take the E, V or 6 Subways to 51st Street, cut over to Third Avenue and
walk north 4 blocks.
Take the 4, 5 or 6 Trains to 59th Street, cut over to Third and walk 4
blocks south.
Bus:
Take the 101, 102 or 103 Buses to 55th. If you're coming downtown on
Lexington, cut across to Third. If you're coming up on Third, it's right
across the street.
http://pjclarkes.com/htm/sidecar.htm
About NYLUG
-----------
NYLUG is the New York Linux Users Group, which has met every month
without fail for the last six years. Meetings are free and open to the
public, but require advance RSVP due to fire code and security
requirements at our usual meeting space at the IBM Building.
Our announcements mailing list at
http://nylug.org/mailman/listinfo/nylug-announce provides a low-volume
but steady stream of Linux, Free and Open Source, and related community
and other user group announcements for the tri-state area.
Our technical discussion list is a moderate-volume list featuring a
diverse group that from home users to enterprise security experts.
http://nylug.org/mailman/listinfo/nylug-talkhttp://www.nylug.org/
The Widget Construction Kit (WCK) is an extension API that allows
you to implement custom widgets in pure Python. The WCK can be
(and is being) used for everything from light-weight display widgets
to full-blown editor frameworks.
The Tkinter3000 implementation of the WCK supports all recent
versions of Python and Tk/Tkinter.
The 1.1 beta 1 release adds improved controller support, resource
caching for pens, brushes, and fonts, and support for creating image
objects from data in strings.
Introduction:
http://www.effbot.org/zone/wck-1.htm
Downloads:
http://www.effbot.org/downloads#tkinter3000
Documentation:
http://www.effbot.org/zone/wck.htmhttp://www.effbot.org/zone/pythondoc-api.htm
Using WCK and AggDraw to draw anti-aliased graphics:
http://www.effbot.org/zone/wck-aggview.htm
enjoy /F
IPlib 0.9 can be downloaded from:
http://erlug.linux.it/~da/soft/iplib/
IPlib is a Python module useful to convert amongst many different
notations and to manage couples of address/netmask in the CIDR notation.
Some example scripts ('ipconv', 'nmconv' and 'cidrinfo') are included.
With this release, you can use the CIDR class to test if a CIDR
net is entirely contained in another one.
--
Davide Alberani <alberanid(a)libero.it> [PGP KeyID: 0x465BFD47]
http://erlug.linux.it/~da/
TurboGears 0.8a1 is available now!
What's New
==========
This is a brief summary. The complete information about what's
new can be found here: http://www.turbogears.org/about/changelog.html
* API improvements based on feedback and patches from the first public
release. Seven people contributed patches to TurboGears directly, and
there's been quite a bit going on in the other projects.
* Easier production of XML output from controller methods
* Static file directories are set up in new quickstarted projects
* Updates to all of the main included projects
* IPython is used as the shell, if IPython is available
* Bonjour support on the Mac
* New getting started guide, and command line tool and configuration
references and a new site template by Sebastian Jansson.
* Several bug fixes
Introduction
============
TurboGears (http://www.turbogears.org) brings together four major
pieces to create an easy to install, easy to use web megaframework. It
covers everything from front end (MochiKit JavaScript for the browser,
Kid for templates in Python) to the controllers (CherryPy) to the back
end (SQLObject).
The TurboGears project is focused on providing documentation and
integration with these tools without losing touch with the communities
that already exist around those tools.
TurboGears is easy to use for a wide range of web applications.
To get a quick idea of what TurboGears is like, take a look at the 20
Minute Wiki tutorial and screencast. The total screencast with brief
intro and conclusion did take a little over 23 minutes, but it's close
to 20 minutes :)
20 Minute Wiki: http://www.turbogears.org/docs/wiki20/index.html
TurboGears site: http://www.turbogears.org/
A big thanks to Remi Delon, Ian Bicking, Bob Ippolito, Ryan Tomayko,
Phillip Eby and the many other contributors who have provided all of
these great tools. Thanks also to the TurboGears contributors!
--
Kevin Dangoor
Author of the Zesty News RSS newsreader
email: kid(a)blazingthings.com
company: http://www.BlazingThings.com
blog: http://www.BlueSkyOnMars.com
The New York Linux User's Group invites you to a special presentation
by Alex Martelli of Google, on the Python Object Model. This
presentation will be held at P.J. Clarke's Sidecar, rather than our
usual location, and Google is picking up the tab for an hour and a half
of open bar and food. Additionally, if you're looking for a job as a
Python developer, bring your resume.
Please RSVP at http://rsvp.nylug.org to attend, as seating is limited.
- Ron
(announcement follows)
The New York Linux User's Group Presents
Alex Martelli
- on -
The Python Object Model
Held at P.J. Clarke's Sidecar
915 Third Avenue @ 55th Street - NY
Python is a multi-paradigm programming language, but, out of the
paradigms it supports, there is no doubt that OOP (Object Oriented
Programming) is the paradigm that forms Python's core. If you have done
any substantial programming with Python, you have, most likely, used
some of its OOP features. But -- have you ever stopped to really think
about those OOP features, the mechanisms that Python uses (and exposes!)
to implement them, and how best to make use of the possibilities this
state of things offers?
This subject is generally known as the "Object Model" of a language.
This talk stops a bit short of examining every level of Python's Object
Model -- in particular, it does not get into metatypes (metaclasses) and
similar levels of "Black Magic". Rather, the talk sticks to the most
practically interesting aspects of Python's Object Model as seen from
the point of view of a programmer using Python -- understanding exactly
what's going on in all kind of everyday OOP-usage situation, what
alternatives and trade-offs these mechanisms imply (for example, when
should you use closures, and when should you use functors instead? when
to inherit, and when to delegate instead?), and how Design Patterns play
into the mix (Python subsumes and build-ins some classic DPs, and makes a
few others irrelevant due to its highly dynamic typing, but other classic
DPs yet remain extremely relevant and important for optimal day to day
use of OOP in Python).
About Alex Martelli
-------------------
Alex Martelli is Uber Technical Lead at Google, in Production Software.
He wrote Python in a Nutshell and co-edited the Python Cookbook, and is
a member of the Python Software Foundation. Before joining Google,
Martelli spent 8 years with IBM, 12 with think3 inc, and 3 as a Python
freelance consultant, mostly for AB Strakt (Sweden).
P. J. Clarke's Sidecar
----------------------
915 Third Avenue @ 55th Street - NY
Sidecar is PJ Clarkes handsome semiprivate upstairs dining room. You
enter Sidecar through a distinct yet discreet door on East 55th Street.
Subway:
Take the E, V or 6 Subways to 51st Street, cut over to Third Avenue and
walk north 4 blocks.
Take the 4, 5 or 6 Trains to 59th Street, cut over to Third and walk 4
blocks south.
Bus:
Take the 101, 102 or 103 Buses to 55th. If you're coming downtown on
Lexington, cut across to Third. If you're coming up on Third, it's right
across the street.
http://pjclarkes.com/htm/sidecar.htm
About NYLUG
-----------
NYLUG is the New York Linux Users Group, which has met every month
without fail for the last six years. Meetings are free and open to the
public, but require advance RSVP due to fire code and security
requirements at our usual meeting space at the IBM Building.
Our announcements mailing list at
http://nylug.org/mailman/listinfo/nylug-announce provides a low-volume
but steady stream of Linux, Free and Open Source, and related community
and other user group announcements for the tri-state area.
Our technical discussion list is a moderate-volume list featuring a
diverse group that from home users to enterprise security experts.
http://nylug.org/mailman/listinfo/nylug-talkhttp://www.nylug.org/
The Voicent Python Simple Interface class contains the following
functions.
callText
callAudio
callStatus
callRemove
callTillConfirm
These functions are used to invoke telephone calls from your Python
program. For example, callText is used to call a specified number and
automatically play your text message using text-to-speech engine.
In order for this class to work, you'll need to have Voicent Gateway
installed somewhere in your network. This class simply sends HTTP
request for telephone calls to the gateway. Voicent has a free edition
for the gateway. You can download it from http://www.voicent.com
More information can be found at:
http://www.voicent.com/devnet/docs/pyapi.htm
Thank you and have fun