[ANN] argparse 0.5 - Command-line parsing library

2007-01-17 Thread Steven Bethard
Announcing argparse 0.5
---

argparse home:
   http://argparse.python-hosting.com/

argparse single module download:
   http://argparse.python-hosting.com/file/trunk/argparse.py?format=raw

argparse bundled downloads at PyPI:
   http://www.python.org/pypi/argparse/

About this release
==

This release adds support for required options, better support for
opening files (deprecating the 'outfile' type), better control over
help formatting and better support for negative number arguments.

New in this release
===

* Required options may now be created by specifying required=True in
calls to add_argument.
  http://argparse.python-hosting.com/wiki/ArgumentParser/add_argument/required

* The 'outfile' type has been deprecated. Use the new FileType factory
which can be used to specify both file mode and buffer size, and knows
how to convert '-' into sys.stdin or sys.stout as appropriate. The
'outfile' type will be removed in a future release.
  http://argparse.python-hosting.com/wiki/FileType

* The ArgumentParser constructor now accepts a ``formatter_class``
keyword argument which can be set to
argparse.RawDescriptionHelpFormatter to keep argparse from
line-wrapping your description.

* The algorithm in parse_args() has been enhanced to understand that
negative numbers are usually positional arguments, not misspelled
optional arguments.

About argparse
==

The argparse module is an optparse-inspired command line parser that
improves on optparse by:

* handling both optional and positional arguments
* supporting parsers that dispatch to sub-parsers
* producing more informative usage messages
* supporting actions that consume any number of command-line args
* allowing types and actions to be specified with simple callables
instead of hacking class attributes like STORE_ACTIONS or
CHECK_METHODS

as well as including a number of other more minor improvements on the
optparse API. To whet your appetite, here's a simple program that sums
its command-line arguments and writes them to a file::

parser = argparse.ArgumentParser()
parser.add_argument('integers', nargs='+', type=int)
parser.add_argument('--log', default=sys.stdout,
type=argparse.FileType('w'))
args = parser.parse_args()
args.log.write('%s\n' % sum(args.integers))
args.log.close()
-- 
http://mail.python.org/mailman/listinfo/python-announce-list

Support the Python Software Foundation:
http://www.python.org/psf/donations.html


Ann: apsw 3.3.10-r1 (Another Python SQLite Wrapper)

2007-01-17 Thread Roger Binns
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

APSW 3.3.10-r1 is now available.

Home page: http://www.rogerbinns.com/apsw.html

APSW provides an SQLite 3 wrapper that provides the thinnest layer over
SQLite 3 possible. Everything you can do from the C API to SQLite 3, you
can do from Python. Although APSW looks vaguely similar to the DBAPI, it
is not compliant with that API and instead works the way SQLite 3 does.

This release must be used with SQLite 3.3.10 or above

Notable changes since the last release:

* Even more test cases (you can't have too many!)

* Augmented stack traces giving more details when errors or exceptions occur

http://www.rogerbinns.com/apsw.html#augmentedstacktraces

* String/Unicode values work correctly if they have embedded NULL
characters (ie not truncated at the NULL).

* You can load SQLite shared library extensions.

* You can write virtual tables in Python

http://www.sqlite.org/cvstrac/wiki?p=VirtualTables
http://www.rogerbinns.com/apsw.html#VirtualTables

* You must call close() on connections. You can also call close on
cursors, but it usually isn't necessary.

* All strings are returned as unicode

* Uses the sqlite3_prepare_v2 api which means SQLITE_SCHEMA no longer
occurs except when there is a permanent error

* Added a statement cache


Differences between APSW and PySqlite:

http://www.rogerbinns.com/apsw.html#pysqlitediffs

Roger
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFFrXpCmOOfHg372QQRAmtsAJkBm7K1BFtojpe4AJRfIB94tniY6gCfRIrB
3q2yq/nkmJNcDCb8wcCPpSg=
=Su+i
-END PGP SIGNATURE-
-- 
http://mail.python.org/mailman/listinfo/python-announce-list

Support the Python Software Foundation:
http://www.python.org/psf/donations.html


ANN: shove 0.1, the next-generation shelve

2007-01-17 Thread L. C. Rees
shove is a object storage frontend inspired by the standard library's
shelve module. It features a dictionary-style API, automatic object
storage (with pickle) with in-storage compression (with zlib), and
multiple storage and caching backends.

The currently supported storage backends are:

* Amazon S3 Web Service
* Berkeley Source Database
* Filesystem-based
* Firebird
* FTP
* DBM
* Durus
* Memory
* Microsoft SQL Server
* MySQL
* Oracle
* PostgreSQL
* SQLite
* Subversion
* Zope Object Database (ZODB)

Currently supported caching backends are:

* Filesystem-based
* Firebird
* memcached
* Memory (thread-safe or non-thread-sa
* Microsoft SQL Server
* MySQL
* Oracle
* PostgreSQL
* SQLite

The simplest use case for shove is:

from shove import Shove

store = Shove()

creating an in-memory store and cache.

To use a different storage or caching backend, a backend-specific URI
or an existing store or cache instance must be passed to the Shove
class using the format:

STORENAME = Shove(STORE, CACHE)

Each backend-specific URI format is documented in its module source
code. The URI format follows the URI format used by SQLAlchemy:

http://www.sqlalchemy.org/docs/dbengine.myt#dbengine_establishing

shove is available for download from its CheeseShop page:

http://cheeseshop.python.org/pypi/shove

or it can be installed by using setuptools:

easy_install shove

shove has been tested and confirmed to work on Python 2.4 and Python
2.5.

shove has an extension, multishove, with the same features but with
added support for storing objects to multiple storage backends
simultaneously. shove itself can only store objects to one backend at a
time.

To use multiple backends with multishove, multiple backend-specific
URIs or store instances must be passed to the MultiShove class
following the format:

from multishove import MultiShove

STORENAME = MultiShove(STORE1, STORE2 ..., cache=CACHE)

multishove is available for download from its CheeseShop page:

http://cheeseshop.python.org/pypi/multishove

or it can be installed by using setuptools:

easy_install multishove

multishove has been tested and confirmed to work on Python 2.4 and
Python 2.5.

-- 
http://mail.python.org/mailman/listinfo/python-announce-list

Support the Python Software Foundation:
http://www.python.org/psf/donations.html


ANN: OSCON 2007: Call for Proposals

2007-01-17 Thread Kevin Altis
OSCON 2007
http://conferences.oreillynet.com/os2007/

Save the date for the 9th annual O'Reilly Open Source Convention, happening
July 23-27, 2007 at the Oregon Convention Center in beautiful Portland,
Oregon.



Call For Participation
--

Submit a proposal-fill out the form at:

http://conferences.oreillynet.com/cs/os2007/create/e_sess

Important Dates:

* The submission deadline for all proposals is February 5, 2007.

* Speakers will be notified by February 26, 2007.
* Final session details and speaker bios due May 20, 2007.
* Tutorial materials are due June 15, 2007.
* Conference: July 23-27, 2007

Proposals
-

We want to hear about your winning techniques, favorite life-savers,
and the system you've made that everyone will be using next year.
We'll have tracks for sessions and tutorials on Linux, PHP, Perl,
Python, Ruby, Java, Databases, Desktop Applications,
Web Applications (client-side and server-side), Windows,
Administration, Security, and Emerging Topics.

We are considering proposals for 45 minute sessions and 3 hour tutorials.
We rarely accept 90 minute proposals, as most general sessions are 45
minutes in length.  Your proposals are examined by a committee which draws
from them and which also solicits proposals to build the program.  Proposals
are due by midnight (PST), Feb. 5, 2007.  The OSCON Speaker Manager, Vee
McMillen, emails notification of the status of your talk (accepted or
otherwise) by February 26, 2007.  Unless the content of your talk is
particularly timely (e.g., features of a product that will be launched at
OSCON), you are required to send us your slides several weeks before the
conference begins. Submit proposals via the form below.

http://conferences.oreillynet.com/cs/os2007/create/e_sess

Don't wait until the last moment to submit your proposal for the Python
track at OSCON 2007. The proposal deadline is less than three weeks away and
we have a limited number of tutorial and session slots available for Python
talks.


-- 
http://mail.python.org/mailman/listinfo/python-announce-list

Support the Python Software Foundation:
http://www.python.org/psf/donations.html


PyWeek #4 in April!

2007-01-17 Thread richard
PyWeek #4 (a cold cup 'o tea) is has been scheduled the first week of April:

 Start: 00:00UTC Sunday 1st April
Finish: 00:00UTC Sunday 8th April
 

REGISTRATION IS NOT YET OPEN

Registration will open at the start of March. Visit the PyWeek website for 
more information: 

  http://pyweek.org/ 


THE PYWEEK CHALLENGE: 

- Invites all Python programmers to write a game in one week from scratch 
  either as an individual or in a team, 
- Is intended to be challenging and fun, 
- Will hopefully increase the public body of python game tools, code and 
  expertise, 
- Will let a lot of people actually finish a game, and 
- May inspire new projects (with ready made teams!) 

Entries must be developed during the challenge, and must incorporate some 
theme decided at the start of the challenge. The rules for the challenge are 
at: 

  http://media.pyweek.org/static/rules.html 


Richard 

-- 
Visit the PyWeek website:  http://pyweek.org/
-- 
http://mail.python.org/mailman/listinfo/python-announce-list

Support the Python Software Foundation:
http://www.python.org/psf/donations.html


ANN: amplee 0.4.0

2007-01-17 Thread Sylvain Hellegouarch
Hi all,

I finally released a new version of amplee. I've moved from 0.3.x to
0.4.x as there are a couple of modification to the API that were worse
the bump. I think this version is much more stable and bug free. Mind
you it's a long way before I can claim is entirely unit tested. But it
gets there.

The main modifications since 0.3.6 are:

 * Added a loader feature. I realized that setting up the store was a
recurrent task and I wondered how to help in this task. I came up with
the loader feature. Basically you describe your APP store within a
config file (pure INI) and calls the loader method. This will construct
entirely your store and returns it to you. This is quite handy and makes
the creation of a store much easier.

 * Handler API introduced. Amplee does the best it can to provide you
with an API an tools to handle the dirty work of APP and let you enhance
it by a callback system. In previous version those callbacks were
attached to the collection which forced to some not very friendly hacks.
Now it's a matter of creating a class that implements a set of methods
which will then be called by amplee at the right moment. This class is
what I call a handler and associated with a media-type that the
collection accepts.

 * The loading and reloading of members is more flexible. In the past
you could solely reload all members of a store or none. Now you have
more granularity upon what should be loaded into a collection's cache.

 * Many notable bugs have been fixed in the handling of Atom within the
members and they should be much more reliable now.

 * You can now find a small blog example that shows you how to use amplee.

If you think of upgrading you should note that because of the
modification on the callback API you may have some work to do. But this
should not be too difficult.


== Download ==

 * easy_install -U amplee
 * Tarballs http://www.defuze.org/oss/amplee/
 * svn co https://svn.defuze.org/oss/amplee/

== Documentation ==

http://trac.defuze.org/wiki/amplee
http://www.defuze.org/oss/amplee/doc/html/

== Examples ==

You can get some source code examples at
http://defuze.org/oss/amplee/amplee-example-0.4.0.tgz

== TODO ==

 * Add more tests
 * Improve documentation
 * Test with IronPython
 * Enhance WSGI support

Have fun,
-- Sylvain Hellegouarch
http://www.defuze.org

Reply
-- 
http://mail.python.org/mailman/listinfo/python-announce-list

Support the Python Software Foundation:
http://www.python.org/psf/donations.html