From knight@baldmt.com Tue Apr 1 13:29:51 2003 From: knight@baldmt.com (Steven Knight) Date: Tue, 1 Apr 2003 07:29:51 -0600 (CST) Subject: ANNOUNCE: SCons 0.13 (build tool in Python) is now available Message-ID: SCons is a software construction tool (build tool, or make tool) written in Python. It is based on the design which won the Software Carpentry build tool competition in August 2000. Version 0.13 of SCons has been released and is available for download from the SCons web site: http://www.scons.org/ Or through the download link at the SCons project page at SourceForge: http://sourceforge.net/projects/scons/ RPM and Debian packages and a Win32 installer are all available, in addition to the traditional .tar.gz and .zip files. WHAT'S NEW IN THIS RELEASE? Release 0.13 contains an important fix for a critical bug found shortly after SCons version 0.12 was released. SCons version 0.12 has a bug that occurs when a build directory is used without duplicating source files in the build tree ("BuildDir(duplicate=0)") and any subsidiary SConscript file includes another SConscript file. This bug has been fixed in version 0.13, and a test has been added to the regression test base to catch this situation in the future. Release 0.13 also contains an unrelated fix to support fetching files using earlier versions of Perforce that don't use the Windows registry. ABOUT SCONS Distinctive features of SCons include: - a global view of all dependencies; no multiple passes to get everything built properly - configuration files are Python scripts, allowing the full use of a real scripting language to solve difficult build problems - a modular architecture allows the SCons Build Engine to be embedded in other Python software - the ability to scan files for implicit dependencies (#include files); - improved parallel build (-j) support that provides consistent build speedup regardless of source tree layout - use of MD5 signatures to decide if a file has really changed; no need to "touch" files to fool make that something is up-to-date - easily extensible through user-defined Builder and Scanner objects - build actions can be Python code, as well as external commands An scons-users mailing list is available for those interested in getting started using SCons. You can subscribe at: http://lists.sourceforge.net/lists/listinfo/scons-users Alternatively, we invite you to subscribe to the low-volume scons-announce mailing list to receive notification when new versions of SCons become available: http://lists.sourceforge.net/lists/listinfo/scons-announce ACKNOWLEDGEMENT Special thanks to Charles Crain for making this release possible by finding and fixing the critical bug fixed in this release. On behalf of the SCons team, --SK From paul@prescod.net Tue Apr 1 18:55:14 2003 From: paul@prescod.net (Paul Prescod) Date: Tue, 01 Apr 2003 10:55:14 -0800 Subject: Vancouver Python XML User's Group Message-ID: Smoke: an automated build, regression and performance tracking toolset Presented by Trent Mick Tuesday April 1, 2003 7:00 PM ActiveState, 580 Granville St. Smoke is a SQL-backed client-server system used to manage information about builds of software packages as the source code base evolves, which builds pass, which regression tests pass, and how performance metrics evolve with the software. Smoke is open source, and built on top of Quixote and Chaco. http://www.vanpyz.org/news From fog@initd.org Wed Apr 2 15:40:37 2003 From: fog@initd.org (Federico Di Gregorio) Date: 02 Apr 2003 17:40:37 +0200 Subject: psycopg 1.0.x series halted, switch to 1.1.x Message-ID: --=-LE5rwtpAaRMo3fFJyp8e Content-Type: text/plain Content-Transfer-Encoding: quoted-printable hi *, i don't usually post here about new releases of my psycopg module (people using it know how to reach me or the mailing list) but this is not a simple release and *two* people suggested me to write to python-announce. psycopg 1.1.3 is as much as stable (probably more after the last couple of bugs fixed) as the 1.0.x series, so there will never be 1.0.16. people using psycopg are invited to upgrade asap to 1.1.3 and to use that version as reference for reporting bugs. for more information about psycopg, see http://initd.org/software/initd/psycopg ciao, federico --=20 Federico Di Gregorio Debian GNU/Linux Developer fog@debian.org INIT.D Developer fog@initd.org Best friends are often failed lovers. -- Me --=-LE5rwtpAaRMo3fFJyp8e Content-Type: application/pgp-signature; name=signature.asc -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (GNU/Linux) iD8DBQA+iwR1vcCgrgZGjesRApRaAJ9Q/Q9sFaHzCkb1YRn1BLHtaJMwxwCfRaYE FsDcSCEjXTJ3n3Vxd08otxc= =3Bae -----END PGP SIGNATURE----- --=-LE5rwtpAaRMo3fFJyp8e-- From ianb@colorstudy.com Thu Apr 3 02:50:46 2003 From: ianb@colorstudy.com (Ian Bicking) Date: 02 Apr 2003 20:50:46 -0600 Subject: Paper online: "Web Framework Shootout" Message-ID: Since PyCon papers are perhaps best distributed in a DIY fashion, I've made my paper available at: The Web Framework Shootout http://colorstudy.com/docs/shootout.html This paper compares several web application development frameworks (CherryPy, SkunkWeb, Webware, Zope, Spyce, Albatross, jonpy, Twisted), with much of the commentary in the form of commented code examples. I hope it will help inform the Python community on some of the choices available in web development. -- Ian Bicking ianb@colorstudy.com http://colorstudy.com 4869 N. Talman Ave., Chicago, IL 60625 / 773-275-7241 "There is no flag large enough to cover the shame of killing innocent people" -- Howard Zinn From info@wingide.com Thu Apr 3 18:28:27 2003 From: info@wingide.com (Wing IDE Announce) Date: Thu, 3 Apr 2003 13:28:27 -0500 (EST) Subject: ANN: Wing IDE 1.1.9 Released, Supports Python 2.3 Message-ID: Hi, We're happy to announce the release of Wing IDE 1.1.9. Wing IDE is a powerful commercial software development environment for the Python programming language. It provides: (1) an industrial-strength networked debugger with graphical and command line debug process probing, (2) an editor with auto-completion, goto-definition, and many other Python-aware features, (3) a source code and doc-string browser, and (4) a project manager. Wing supports many commonly used Python technologies with easy-to-use quick start guides: Zope http://wingide.com/doc/zope wxPython http://wingide.com/doc/wxpython PyQt http://wingide.com/doc/pyqt Plone http://wingide.com/doc/plone mod_python http://wingide.com/doc/mod_python Tkinter, PyGTK, pygame, and debugging inside embedded interpreters or CGI scripts running under a web server are all also supported. Wing IDE runs on Windows 98 through XP, Linux, and OS X. FreeBSD and Solaris are available with compilation from source code. This release adds: * Support for Python 2.3 * Expanded debug value extraction classes that emulate dicts, descend from built-in classes, or define __members__ * Support for OS X framework builds of Python * Improved auto-indent within long logical lines * Edge marker on editor * Expanded cursor repositioning commands * Improved browser detection and launching on Linux * Improved and configurable console debugging on Linux/Unix * Several other minor features and improvements More Info: http://wingide.com/wingide Quick Start: http://wingide.com/support/quickstart Free Trial: http://wingide.com/wingide/demo Downloads: http://wingide.com/downloads Please send questions or suggestions to support@wingide.com. Thanks, The Wing IDE Team -- Wing IDE for Python Archaeopteryx Software, Inc Take Flight! www.wingide.com From michael@stroeder.com Fri Apr 4 00:30:38 2003 From: michael@stroeder.com (=?ISO-8859-1?Q?Michael_Str=F6der?=) Date: Fri, 04 Apr 2003 02:30:38 +0200 Subject: ANN: python-ldap-2.0.0pre07 Message-ID: HI! Find a new pre-release of python-ldap: http://python-ldap.sourceforge.net/ python-ldap provides an object-oriented API to access LDAP directory servers from Python programs. It mainly wraps the OpenLDAP 2.x libs for that purpose. Additionally it contains modules for other LDAP-related stuff (e.g. processing LDIF, LDAPURLs and LDAPv3 schema). Download link: http://prdownloads.sourceforge.net/python-ldap/python-ldap-2.0.0pre07.tar.gz?download Changes since 2.0.0pre06: LDAPObject.c: * Wrapped OpenLDAP's ldap_search_ext() * Removed empty __doc__ strings * Removed fileno * Removed all stuff related to caching in OpenLDAP libs ldap.ldapobject: * Fixed SASL rebind in ldap.ldapobject.ReconnectLDAPObject * use search_ext() instead ldap_search() * new class attribute timeout for setting a global time-out value for all synchronous operations ldap.schema: * Fixed two typos in ldap.schema.models * Some attempts to improve performance of parser/tokenizer * Completely reworked to have separate OID dictionaries for the different schema element classes * Fixed the Demo/schema*.py to reflect changes to ldap.schema Documentation updates and various __doc__ string modifications. ldapurl: * Removed all Unicode stuff from module ldapurl * Consistent URL encoding in module ldapurl ldif: * Removed ldif.FileWriter * Proper handling of FILL (see RFC 2849) From beau@nyc-search.com Fri Apr 4 06:13:14 2003 From: beau@nyc-search.com (beau@nyc-search.com) Date: Fri, 04 Apr 2003 06:13:14 GMT Subject: Python Technical Lead, New York, NY Message-ID: This is a multi-part message in MIME format. --------------8F634A78A2EDE2A0EABC0456 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit http://www.nyc-search.com/jobs/python.html --------------8F634A78A2EDE2A0EABC0456 Content-Type: text/html; charset=us-ascii; name="python.html" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="python.html" Content-Base: "http://www.nyc-search.com/jobs/python. html" Content-Location: "http://www.nyc-search.com/jobs/python. html" Python Technical Lead, New York, NY Python Technical Lead, New York, NY

We are seeking an experienced and highly-talented programmer/scripter/analysts to fill the position of Technical Lead for our quality control group. The successful candidate will collaborate with engineering, QC, and clients, and shall be responsible for developing and executing testing scripts to ensure all aspects of client data, as transformed to reports, meet stringent quality standards.

Job Requirements:

  • Solid experience programming with Python and Java, preferably in a UNIX environment.
  • Strong knowledge of databases (Oracle) and SQL - knowledge of PL/SQL preferred.
  • Strong analytical skills (mathematics or statistics background preferred).
  • Demonstrated business knowledge of public education systems in the United States helpful.
  • We are using Python to: Prototype and simulate key product functionality, as well as test the client data for consistency and test product subsystems for correctness.
  • Candidates who elaborate on their knowledge of the above *key* requirements will get the best response.
My client hires on a contract basis first and then it becomes full time if both parties are happy.

Candidates MUST be permanent and local tri-state (NY, NJ, CT) residents.

Please submit Word resume and hourly/salary requirements to python@nyc-search.com
  --------------8F634A78A2EDE2A0EABC0456-- From wesc@fuzzyorange.com Fri Apr 4 07:11:20 2003 From: wesc@fuzzyorange.com (Wesley Chun) Date: Thu, 3 Apr 2003 23:11:20 -0800 (PST) Subject: ANN: BayPIGgies mtg Wed Apr 9 7:30pm In-Reply-To: Message-ID: BayPIGgies: Silicon Valley-San Francisco Bay Area Python Users Group When: April 9, 2003 @ 7:30pm Where: Stanford University, Palo Alto, CA Agenda: Introduction to Machine Learning and Support Vector Machines Speaker: Asa Ben-Hur The basic concepts of machine learning will be presented, with a focus on Support Vector Machines (SVM), which have shown their effectiveness in many domains of application. Examples of applying the methodology in areas such as text categorization and bioinformatics will be discussed. # Call For Talks: We are actively seeking speakers for BayPIGgies! If you would like to give a talk at one of our 2003 meetings (any Python related topic), contact us to coordinate! more info including directions: http://www.baypiggies.net hope 2 c u tomorrow nite! -wesley - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - "Core Python Programming", Prentice Hall PTR, =A9 2001 http://starship.python.net/crew/wesc/cpp/ Silicon Valley-San Francisco Bay Area Python Users Group (BayPIGgies) http://baypiggies.net wesley.j.chun :: wesc at deirdre.org or wesc at fuzzyorange.com cyberweb.consulting : henderson, nv : cyberweb at rocketmail.com http://www.roadkill.com/~wesc/cyberweb/ From wesc@deirdre.org Fri Apr 4 07:24:04 2003 From: wesc@deirdre.org (wesc@deirdre.org) Date: Thu, 3 Apr 2003 23:24:04 -0800 (PST) Subject: ANN: Python II course (Silicon Valley, CA) Message-ID: this is a friendly reminder to ask you to please sign up for Python II ASAP if you're interested. the class starts on Monday, April 14th... more details here: http://artemis.ucsc-extension.edu/~wesc/024d50cd.htm Register online, or contact Sherry at 408-861-3765 or smirkarimi@ucsc-extension.edu to enroll. On a related note, this will be the last course i will be instructing for UC Santa Cruz Extension for a long time. Work, family, and the Python community are making it hard to devote the time necessary. if you're interested in training new Silicon Valley engineers about the wonders of Python, contact me privately, and i will help u get started. -wesley ps. 'twas great seeing familiar & new faces @ PyCon last wk! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - "Core Python Programming", Prentice Hall PTR, (c)2001 http://starship.python.net/crew/wesc/cpp/ Silicon Valley-San Francisco Bay Area Python Users Group (BayPIGgies) http://www.baypiggies.net wesley.j.chun :: wesc at deirdre.org or wesc at fuzzyorange.com cyberweb.consulting : henderson, nv : cyberweb at rocketmail.com http://roadkill.com/~wesc/cyberweb/ E-Mail using vi(m)/emacs with M$ outlook: http://groups.google.com/groups?threadm=fcd9edc1.0208281104.752da4bd%40posting.google.com From drifty@bigfoot.com Fri Apr 4 19:44:35 2003 From: drifty@bigfoot.com (Brett C.) Date: 4 Apr 2003 11:44:35 -0800 Subject: python-dev Summary for 2003-03-16 through 2003-03-31 Message-ID: +++++++++++++++++++++++++++++++++++++++++++++++++++++ python-dev Summary for 2003-03-16 through 2003-03-31 +++++++++++++++++++++++++++++++++++++++++++++++++++++ This is a summary of traffic on the `python-dev mailing list`_ from March 16, 2003 through March 31, 2003. It is intended to inform the wider Python community of on-going developments on the list and to have an archived summary of each thread started on the list. To comment on anything mentioned here, just post to python-list@python.org or `comp.lang.python`_ with a subject line mentioning what you are discussing. All python-dev members are interested in seeing ideas discussed by the community, so don't hesitate to take a stance on something. And if all of this really interests you then get involved and join `python-dev`_! This is the fourteenth summary written by Brett Cannon (Managed to keep my sanity as long as A.M. Kuchling did before he stopped doing the Summaries =). All summaries are archived at http://www.python.org/dev/summary/ . Please note that this summary is written using reStructuredText_ which can be found at http://docutils.sf.net/rst.html . Any unfamiliar punctuation is probably markup for reST_ (otherwise it is probably regular expression syntax); you can safely ignore it (although I suggest learning reST; its simple and is accepted for `PEP markup`__). Also, because of the wonders of programs that like to reformat text, I cannot guarantee you will be able to run the text version of this summary through Docutils_ as-is unless it is from the original text file. __ http://www.python.org/peps/pep-0012.html .. _python-dev: http://www.python.org/dev/ .. _python-dev mailing list: http://mail.python.org/mailman/listinfo/python-dev .. _comp.lang.python: http://groups.google.com/groups?q=comp.lang.python .. _Docutils: http://docutils.sf.net/ .. _reST: .. _reStructuredText: http://docutils.sf.net/rst.html .. contents:: .. _last summary: http://www.python.org/dev/summary/2003-03-01_2003-03-15.html ====================== Summary Announcements ====================== PyCon is now over! It was a wonderful experience. Getting to meet people from python-dev in person was great. The sprint was fun and productive (work on the AST branch, caching where something is found in an inheritance tree, and a new CALL_ATTR opcode were all worked on). It was definitely worth attending; I am already looking forward to next year's conference. I am trying a new way of formatting the Quickies_ section. I am trying non-inline implicit links instead of inlined ones. I am hoping this will read better in the text version of the summary. If you have an opinion on whether the new or old version is better let me know. And remember, the last time I asked for an opinion Michael Chermside was the only person to respond and thus ended up making an executive decision. .. _PyCon: http://www.python.org/pycon/ ======================== `Re: lists v. tuples`__ ======================== __ http://mail.python.org/pipermail/python-dev/2003-March/034029.html Splinter threads: - `Re: Re: lists v. tuples `__ This developed from a thread from covered in the `last summary`_ that discussed the different uses of lists and tuples. By the start date for this summary, though, it had turned into a discussion on comparisons. This occured when sorting heterogeneous objects came up. Guido commented that having anything beyond equality and non-equality tests for non-related objects does not make sense. This also led Guido to comment that "TOOWTDI makes me want to get rid of __cmp__" (TOOWTDI is "There is Only One Way to Do It"). Now before people start screaming bloody murder over the possible future loss of __cmp__() (which probably won't happen until Python 3), realize that all comparisons can be done using the six other rich comparisons (__lt__(), __eq__(), etc.). There is some possible code elegance lost if you have to use two rich comparisons instead a single __cmp__() comparison, but it is nothing that will prevent you from doing something that you couldn't do before. There can also be a performance penalty in sorting in some instances. This all led Guido to suggest introducing the function before(). This would be used for arbitrary ordering of objects. Alex Martelli said it would "be very nice if before(x,y) were the same as x`__ The thread that will not die (nor does it look like it will in the near future; Guido asked to postpone discussing it until he gets back from `Python UK`_ which will continue the discussion into the next summary. I am ending up an expert at capabilities against my will. =) In case you have not been following all of this, capabilities as being discussed here is the idea that security is based on passing around references to objects. If you have a reference you can use it with no restrictions. Security comes in by controlling who you give references to. So I might ask for a reference to file(), but I won't necessarily get it. I could, instead, be handed a reference to a restrictive version of file() that only opens files in an OSs temporary file directory. So, in capabilities-land, executing ``open_file = file`` only works if you have the reference to 'file', otherwise the assignment fails and you just don't get access. If that is not clear, read the `last summary`_ on this thread. And now, on to the new stuff... There were also suggestions to add arguments to import statements to give a more fine-grained control over them. But it was pointed out that classes fit this bill. The idea of limiting what modules are accessible by some code by not using a universally global scope (i.e., not using sys.modules) but by having a specific scope for each function was suggested. As Greg Ewing put it, "it would be dynamic scoping of the import namespace". While trying to clarify things (which were at PyCon thanks to the Open Space discussion held there on this subject), a good distinction between a rexec_ world (as in the module) and a capabilities was made by Guido. In capabilities, security is based on passing around references that have the amount of power you are willing for it to have. In a rexec world, it is based on what powers the built-ins give you; there is no worry about passing around code. Also, in the rexec world, you can have the idea of a "workspace" where __builtin__ has very specific definitions of built-ins that are used when executing untrusted code. It has been pointed out that rexec can be viewed as a specific implementation of capabilities. Since you are restricting what references code by making only certain references available to the codes you are using capabilities, just more at a namespace level than on a per-reference level. Ka-Ping Yee wrote up an example of some code of what it would be like to code with capabilities (can be found at http://mail.python.org/pipermail/python-dev/2003-March/034287.html ). .. _Python UK: http://www.python-uk.org/ .. _rexec: http://www.python.org/dev/doc/devel/lib/module-rexec.html ========= Quickies ========= `tzset`__ time.tzset() is going to be kept in Python, but only on UNIX. The testing suite was also loosened so as to not throw as many false-negatives. __ http://mail.python.org/pipermail/python-dev/2003-March/034062.html `Windows IO`__ stdin and stdout on Windows are TTYs. You can get 3rd-party modules to get more control over the TTY. __ http://mail.python.org/pipermail/python-dev/2003-March/034102.html `Who approved PyObject_GenericGetIter()???`__ Splinter threads: `Re: [Python-checkins] python/dist/src/Modules _hotshot.c,...`__; `PyObject_GenericGetIter()`__ Raymond Hettinger wrote a function called PyObject_GenericGetIter() that returned self for objects that were an iterator themselves. Thomas Wouters didn't like the name and neither did Guido since it was generic at all; it worked specifically with objects that were iterators themselves. Thus the function was renamed to PyObject_SelfIter(). __ http://mail.python.org/pipermail/python-dev/2003-March/034107.html __ http://mail.python.org/pipermail/python-dev/2003-March/034103.html __ http://mail.python.org/pipermail/python-dev/2003-March/034110.html `test_posix failures?`__ A test for posix.getlogin() was failing for Barry Warsaw under XEmacs (that is what he gets for not using Vim_ =). Thomas Wouters pointed out it only works when there is a utmp file somewhere. Basically it was agreed the test that was failing should be removed. __ http://mail.python.org/pipermail/python-dev/2003-March/034120.html .. _Vim: http://www.vim.org/ `Shortcut bugfix`__ Raymond Hettinger reported that a change in `_tkinter.c`_ for a function led to it returning strings or ints which broke PMW_ (although having a function return two different things was disputed in the thread; I think it used to return a string and now returns an int). The suggestion of making string.atoi() more lenient on its accepted arguments was made but shot down since it changes semantics. If you want to keep old way of having everything in Tkinter return strings instead of more proper object types (such as ints where appropriate), you can put teh line ``Tkinter.wantobjects = 0`` before the first creation of a tkapp object. __ http://mail.python.org/pipermail/python-dev/2003-March/034138.html .. __tkinter.c: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/python/python/dist/src/Modules/_tkinter.c .. _PMW: http://pmw.sourceforge.net/ `csv package ready for prime-time?`__ Related: `csv package stitched into CVS hierarchy`__ Skip Montanaro: Okay to move csv_ package from the sandbox into the stdlib? Guido van Rossum: Yes. __ http://mail.python.org/pipermail/python-dev/2003-March/034162.html __ http://mail.python.org/pipermail/python-dev/2003-March/034179.html .. _csv: http://www.python.org/dev/doc/devel/lib/module-csv.html `string.strip doc vs code mismatch`__ Neal Norwitz asked for someone to look at http://python.org/sf/697220 which updates string.strip() from the string_ module to take an optional second argument. The patch is still open. __ http://mail.python.org/pipermail/python-dev/2003-March/034167.html .. _string: http://www.python.org/dev/doc/devel/lib/module-string.html `Re: More int/long integration issues`__ The point was made that it would be nice if the statement ``if num in range(...): ...`` could be optimized by the compiler if range() was only the built-in by substituting it with something like xrange() and thus skip creating a huge list. This would allow the removal of xrange() without issue. Guido suggested a restartable iterator (generator would work wonderfully if you could just get everything else to make what range() returns look like the list it should be). __ http://mail.python.org/pipermail/python-dev/2003-March/034019.html `socket timeouts fail w/ makefile()`__ Skip Montanaro discovered that using the makefile() method on a socket cause the file-like object to not observe the new timeout facility introduced in Python 2.3. He has since patched it so that it works properly and that sockets always have a makefile() (wasn't always the case before). __ http://mail.python.org/pipermail/python-dev/2003-March/034177.html `New Module? Tiger Hashsum`__ Tino Lange implemented a wrapper for the `Tiger hash sum`_ for Python and asked how he could get it added to the stdlib. He was told that he would need community backing before his module could be added in order to make sure that there is enough demand to warrant the edition. __ http://mail.python.org/pipermail/python-dev/2003-March/034191.html .. _Tiger hash sum: http://www.cs.technion.ac.il/~biham/Reports/Tiger/ `Icon for Python RSS Feed?`__ Tino Lange asked if an XML RSS feed icon could be added at http://www.python.org/ for http://www.python.org/channews.rdf . It has been added. __ http://mail.python.org/pipermail/python-dev/2003-March/034196.html `How to suppress instance __dict__?`__ David Abrahams asked if there was an easy way to suppress an instance __dict__'s creation from a metaclass. The answer turned out to be no. __ http://mail.python.org/pipermail/python-dev/2003-March/034197.html `Weekly Python Bug/Patch Summary`__ Another summary can be found at http://mail.python.org/pipermail/python-dev/2003-March/034286.html Skip Montanaro's weekly reminder how Python ain't perfect. __ http://mail.python.org/pipermail/python-dev/2003-March/034200.html `[ot] offline`__ Samuele Pedroni is off relaxing is is going to be offline for two weeks starting March 23. __ http://mail.python.org/pipermail/python-dev/2003-March/034204.html `funny leak`__ Christian Tismer discovered a memory leak in a funky def statement he came up with. The leak has since been squashed (done at PyCon_ during the sprint, actually). __ http://mail.python.org/pipermail/python-dev/2003-March/034212.html `Checkins to Attic?`__ CVS_ uses something called the Attic to put files that are only in a branch but not the HEAD of a tree. __ http://mail.python.org/pipermail/python-dev/2003-March/034230.html .. _CVS: http://www.cvshome.org/ `ossaudiodev tweak needs testing`__ Greg Ward asked people who are running Linux or FreeBSD to execute ``Lib/test/regrtest.py -uaudio test_ossaudiodev`` so as to test his latest change to ossaudiodev_. __ http://mail.python.org/pipermail/python-dev/2003-March/034233.html .. _ossaudiodev: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/python/python/dist/src/Modules/ossaudiodev.c `cvs.python.sourceforge.net fouled up`__ Apparently when you get that nice message from SourceForge_ telling you that recv() has aborted because of server overloading you can rest assured that people with checkin rights get to continue to connect since they get priority. __ http://mail.python.org/pipermail/python-dev/2003-March/034234.html .. _SF: .. _SourceForge: http://www.sf.net/ `Doc strings for typeslots?`__ You can't add custom docstrings to things stored in typeobject slots at the C level. __ http://mail.python.org/pipermail/python-dev/2003-March/034239.html `Compiler treats None both as a constant and variable`__ As of now the compiler outputs opcode that treats None as both a global and a constant. That will change as some point when assigning to None becomes an error instead of a warning as it is in Python 2.3; possibly 2.4 the change will be made. __ http://mail.python.org/pipermail/python-dev/2003-March/034281.html `iconv codec`__ M.A. Lemburg stated that he questioned whether the iconv codec was ready for prime-time. There have been multiple issues with it and most seem to stem from a platform's codec and not ones that come with Python. This affects all u"".encode() calls when the codec does not come with Python. Hye-Shik Chang said he would get his iconv codec NG patch up on SF in the next few days and that would be applied. __ http://mail.python.org/pipermail/python-dev/2003-March/034300.html From jepler@unpythonic.net Sat Apr 5 17:32:15 2003 From: jepler@unpythonic.net (Jeff Epler) Date: Sat, 5 Apr 2003 11:32:15 -0600 Subject: Novelwriting 0.3: rule-based random document generation Message-ID: http://unpythonic.net/~jepler/novelwriting/index.html Description ----------- Novelwriting[1] generates random text based on a user-defined grammar. It is similar to the Dada Engine[2], which is used by the Postmondernism Generator[3]. The name was chosen based on the Monty Python sketch, "Thomas Hardy / Novel Writing"[4]. It requires Python 2.2. Example ------- Start: folk-saying; folk-saying: person " once said that " folk-saying ".\n"; person: "My " relative | "The President" | "Cardinal Fang"; relative: "mother" | "aunt" | "grandmother" ; folk-saying: "a rolling stone gathers no moss" | "a stitch in time saves nine" | "no-one expects the Spanish Inquisition"; ;; Advantages compared to the Dada Engine -------------------------------------- The Dada Engine has only a limited degree of programmability. In Novelwriting, you can use the full power of Python at any point in a rule. For example: Start: product-claim product-name: "Novelwriting" | "Dada Engine"; product-claim: @set(this-product, product-name) " is twice as good as " @alternative(product-name, @get(this-product)); ;; from novelwriting.calls import get, set, alternative (The facility provided by @get/@set is available in the Dada Engine, but @alternative is impossible to write) Limitations compared to the Dada Engine --------------------------------------- Novelwriting does not have a formatting library like the Dada Engine. Novelwriting does not have a nice syntax for text substitution rules or maps. Novelwriting does not have parameterized rules. [1] http://unpythonic.net/~jepler/novelwriting/index.html [2] http://dev.null.org/dadaengine/ [3] http://www.csse.monash.edu.au/cgi-bin/postmodern [4] http://www.stone-dead.asn.au/albums-cds/sketches/matching-tie-and-handkerchief/thomas-hardy-novel-writing.html From ccosse@asymptopia.com Sat Apr 5 22:50:43 2003 From: ccosse@asymptopia.com (Charlie Cosse) Date: 5 Apr 2003 14:50:43 -0800 Subject: Asymptopia BlackJack Message-ID: Asymptopia BlackJack V1.0 is a GPL casino-style graphical blackjack game using PyGame. It's addictive and you don't lose real money! Download it from asymptopia.com. From cms103@owlfish.com Sun Apr 6 00:09:13 2003 From: cms103@owlfish.com (Colin Stewart) Date: 5 Apr 2003 16:09:13 -0800 Subject: ANNOUNCE: TALAggregator - Free RSS Aggregator Message-ID: Hi, I've made available my free multi-user RSS Aggregator. Features: - Handles RSS that's invalid XML as well as valid XML - Feeds read once regardless of the number of users subscribed - Web based interface using TAL Templates (hence the name!) - Mozilla sidebar support Any feedback will be greatly welcomed! TALAggregator: http://www.owlfish.com/software/TALAggregator/ Colin. From itamar@itamarst.org Sun Apr 6 05:56:46 2003 From: itamar@itamarst.org (Itamar Shtull-Trauring) Date: Sat, 5 Apr 2003 23:56:46 -0500 Subject: Cog 0.4 - simple object database Message-ID: About Cog ========= Cog is the Checkpointed Object Graph object database, providing semi-transparent persistence for large sets of interrelated Python objects. It handles automatic loading of objects on reference, and saving of modified objects back to disk. Reference counting is used to automatically remove no longer referenced objects from storage, and objects will be automatically be attached to the database if a persistent object references them. Cog does not provide traditional transaction support. Instead, it provides only a way to flag the database as self-consistent, and guarantees that on system restart, the database will be restored to the most recent possible self-consistent state. Cog was originally written by Oliver Jowett (http://www.randomly.org). Download from http://itamarst.org/software/cog/ New in Version 0.4 ================== - Automatic backups at user-specified intervals. - Utility class, a persistent dict-like mapping. - Many small bug fixes and improvements. -- Itamar Shtull-Trauring http://itamarst.org/ http://www.zoteca.com -- Python & Twisted consulting From lennart@regebro.nu Mon Apr 7 08:44:28 2003 From: lennart@regebro.nu (Lennart Regebro) Date: 7 Apr 2003 00:44:28 -0700 Subject: Python MIDI project Message-ID: There have been several projects doing MIDI for Python. However, few of them make any attempt of being platform-independant, and none of them have become standard and well accepted. Therefore I have started the Python MIDI project. It aims at creating a low-level interface for sending and receiving data that can: * Be ported to any MIDI and python capable platform * Do not need any third-party python modules or extensions * Is sufficiently 'pythonesque' to become standard * Be simple to use and understand Some introductory text can be found at http://lennart.regebro.nu/music/python-midi/ There is also a mailing-list. Subscribe by sending a mail to pythonmidi-subscribe@regebro.nu From ckea25d02@sneakemail.com Tue Apr 8 02:28:28 2003 From: ckea25d02@sneakemail.com (Greg Ewing (using news.cis.dfn.de)) Date: Tue, 08 Apr 2003 13:28:28 +1200 Subject: ANN: Pyrex 0.7 Message-ID: Pyrex 0.7 is now available: http://www.cosc.canterbury.ac.nz/~greg/python/Pyrex/ Main new features: * C attributes of extension types can be exposed directly to Python code instead of using accessor methods. * C functions, etc. can more easily be wrapped with Python objects having the same name. There are also many other improvements and bug fixes -- see the web page and CHANGES file for more. What is Pyrex? -------------- Pyrex is a new language for writing Python extension modules. It lets you freely mix operations on Python and C data, with all Python reference counting and error checking handled automatically. -- Greg Ewing, Computer Science Dept, University of Canterbury, Christchurch, New Zealand http://www.cosc.canterbury.ac.nz/~greg From ianb@colorstudy.com Tue Apr 8 05:32:05 2003 From: ianb@colorstudy.com (Ian Bicking) Date: 07 Apr 2003 23:32:05 -0500 Subject: ANN: SQLObject 0.3 Message-ID: SQLObject 0.3 has been release: http://sqlobject.org Changes ------- * Automatic table creation based off class. * Create classes from database. * Dynamically add and remove columns to live classes and databases. * anydbm-based backend (queryable database without SQL). * Better caching. * Some bugs fixed. What is it? ----------- SQLObject is an object-relational mapper. It allows you to translate RDBMS table rows into Python objects, and manipulate those objects to transparently manipulate the database. SQLObject emphasizes convenience. It's easy to learn and easy to use, and doesn't require too much typing or use of any tools outside of your editor and your Python source. -- Ian Bicking ianb@colorstudy.com http://colorstudy.com 4869 N. Talman Ave., Chicago, IL 60625 / 773-275-7241 "There is no flag large enough to cover the shame of killing innocent people" -- Howard Zinn From rlratzel@siliconmetrics.com Tue Apr 8 08:13:43 2003 From: rlratzel@siliconmetrics.com (Rick Ratzel) Date: 8 Apr 2003 00:13:43 -0700 Subject: elmer 1.0.2 - "glues" languages together Message-ID: I've released elmer 1.0.2 to SourceForge: http://elmer.sourceforge.net Elmer allows function calls and various data types, both native and custom, to pass transparently between two languages...in the current version, those languages are Python and either Tcl or C. It is still considered ALPHA, and the online help and examples still need alot of work (the "test" directory in the distribution is probably a better place for examples at this point). Any feedback is greatly appreciated. Below is the bulk of the README: -------------------------------- Rick Ratzel April 8, 2003 INTRODUCTION: Elmer allows code written in an embeddable programming language to be called from another extendable programming language. Elmer generates "glue" code which embeds an interpreter for one type of language into an extension for another. Elmer allows function calls and various data types, both native and custom, to pass transparently between the two languages. Elmer currently supports the generation of glue code to allow the embedding of a Python module into a Tcl or C application, without having to use the Python C APIs directly. Embedding a C module into any other extendable language will most likely not be supported (see SWIG, the Simplified Wrapper and Interface Generator). REQUIREMENTS: Elmer is written in Python and C and is currently supported on many different flavors of UNIX, including Sun Solaris, HP-UX, and Linux. If building an Elmer distribution, a Python installation with the distutils package, a Tcl installation (8.0 or higher), and a C compiler are required. BUILDING ELMER: Typing "configure" from a build directory, followed by "make" should produce the elmer executable and library file (libelmer.a) needed for glueing code together. Typing "configure --help" will list the available options to configure, including the specification of the Tcl, Python, and Python freeze.py script in the event that configure could not find them. The --enable-frozen and --disable-frozen configure options allow elmer to be build as either a standalone executable (frozen) or as a regular Python script which requires a Python installation at runtime. Once built, elmer and the files "elmer.h" and "libelmer.a" will be required to create applications glued together with elmer-generated code. From andersjm@dancontrol.dk Tue Apr 8 17:15:58 2003 From: andersjm@dancontrol.dk (Anders J. Munch) Date: Tue, 8 Apr 2003 18:15:58 +0200 Subject: ANN: Capon 0.1 - a software build framework Message-ID: Capon 0.1 --------- Capon is a software build framework. Or you might say, a Make replacement. Or you might say, an alternate notation for Python. Or you might say, a delegation-based object-oriented programming language. Capon is free software. Why Capon? ---------- Capon blurs the line between a conventional make utility and a general-purpose programming language to provide the best of both worlds. Requirements ------------ Capon needs Python 2.0 or higher. (But has only been tested with 2.2.2.) Where to get it --------------- http://www.dancontrol.net/share/capon/index.html Anders Munch Haderslev, Denmark, 2003-04-07 From oliphant@ieee.org Tue Apr 8 23:42:02 2003 From: oliphant@ieee.org (Travis E. Oliphant) Date: Tue, 08 Apr 2003 16:42:02 -0600 Subject: Magick 0.2 Message-ID: I am announcing the release of a Python Interface to Image Magick http://www.imagemagick.org ImageMagick is a very powerful image library that also contains a very powerful drawing API reminiscient of display PDF. It provides support for reading and writing a very impressive number of image formats, including a few movie formats. Download version 0.2 at http://www.sourceforge.net/projects/pylab There is a currently another Python interface to ImageMagick based on the Boost system. This interface uses a more traditional approach to wrap the ImageMagick C-library. It can be installed with a simple python setup.py install As long as you have the ImageMagick library installed in a standard place this should work. Theoretically it should work (with some minor modifications to the setup.py script) on Windows as well because ImageMagick DLL's can be obtained for Windows. But, I have not tested this. The interface is well-tested with an 8-bit Quantum for ImageMagick (though it should work for higher Quantum depths, too). Two objects are available in the module: an MImage object which is the ImageMagick image list. an DrawInfo object which is a drawing context for drawing in ImageMagick's graphic language. Example: >>> import magick >>> im = magick.image('file1.jpg', 'file2.png', 'file3.tiff') This will load a sequence of images which you can manipulate like a list. If you have X-windows >>> im[0].display() should display the first image in the sequence. Images can be constructed quite easily from Numeric Arrays as well. im = magick.image(a) will construct an image if a is a 2-D to a 4-D array. RGB(A) images are MxNx3(4) Numeric arrays, grayscale images are MxN arrays. Sequences of images can be created this way by pre-pending a dimension to the front. Palette images can be created by passing in a tuple of arrays, where the first array is a grayscale image and the second array gives the palette). Support for most of ImageMagick is already included. Properties for the image magick structure can be obtained and set. Support for ImageMagick's drawing API is also available through the im.draw(obj) command obj is either a string containing the primitives to draw, a drawinfo object (which has some properties set plus a string of commands to draw), or an object with a __primitives__ method which returns the string to draw. Full affine transformations are available in the API and rotated text is handled quite well. Documentation is quite sparse still, but most commands are the same as those documented on the ImageMagick site. API calls that return new images are called as magick.XXXX API calls that modify an image in place are called as im.XXXX where im is Magick Image. The interface is quite usable right now, despite the low release number, so if you've heard of imagemagick and want to give it a try, now is a good time to do it from the Python interpreter. Comments always welcome. -Travis Oliphant oliphant.travis@ieee.org From news free" Naja is a freeware tool written in Python/wxPython. Naja is a download manager and a website grabber. It can be used for extract JPEG images from news server. Version 0.7.7 of Naja has been released and is available for download from the Keyphrene web site: http://www.keyphrene.com products/naja From g_will@cyberus.ca Wed Apr 9 21:01:56 2003 From: g_will@cyberus.ca (Gordon Williams) Date: Wed, 9 Apr 2003 16:01:56 -0400 Subject: [ANN] wxPyPlot V1.0 Beta 2 Message-ID: Hi All, I have released Version 1.0 beta 2 of wxPyPlot for producing simple plots in wxPython. This is a fix for Linux users because of some problems with fonts and clipping area. Users will require wxPython 2.4.0.6 or later and Numeric. For your viewing pleasure, the website now has some html docs as well as a few more screen shots of things. Check out: http://www.cyberus.ca/~g_will/wxPython/wxpyplot.html Comments and suggestions welcome. Regards, Gordon Williams ------------------------------------------------------------- What is wxPyPlot?? wxPyPlot is an enhanced derivative version of wxPlotCanvas to provide simple lightweight plotting in wxPython. The emphasis is both on simple and lightweight. Before starting this work I looked at two plotting packages that could be adapted to work with wxPython. SciPy Plt and Chaco are sophisticated and powerful, but at the expense of consuming huge amounts of computer resources for simple plots. They can be found at http://scipy.com. I was looking for something that could be incorporated into a Boa application and had the ability to plot lines with large numbers of points quickly for data capture applications. wxPlotCanvas had the speed and some of the functionality that I was looking for, but lacked a lot of features that I needed. This effort has filled the gap. Features: - Automatic Scaling of Axes - Legends for lines and markers - Plot Title and Axis Labels - Zoom Region with Mouse (Rubber Band) or Programmatically - Scroll Up/Down, Left/Right - Plot Grid (Graticule) on Graph - Printing, Preview, and Page Set-up (margins) -WYSIWYG - Cursor X-Y User Axis Values - Simple, Lightweight and Fast - Can be Used with Boa Applications if Desired - Lots of Comments and Doc Strings along with Example Usage I have tested this out on Windows using Python 2.2 and wxPython 2.4.0.6. If you have the chance to test it on Linux, please let me know how it works. Suggestions and improvements welcome. Screen shots, source and instructions for Boa can be found at http://www.cyberus.ca/~g_will/wxPython/wxpyplot.html From garabik-news-2003-04@kassiopeia.juls.savba.sk Thu Apr 10 10:29:01 2003 From: garabik-news-2003-04@kassiopeia.juls.savba.sk (Radovan Garabik) Date: 10 Apr 2003 09:29:01 GMT Subject: ANNOUNCE: unicode 0.4, command line unicode database query tool Message-ID: I am happy to announce version 0.4 of unicode(1). unicode is a simple command line utility inspired by ascii(1), written in python, that displays properties for a given unicode character, or searches unicode database for a character name conforming to a given regular expression. It works best on unix UTF-8 console, but (in a limited manner) it works even with Win32 version of python. URL: http://kassiopeia.juls.savba.sk/~garabik/software/unicode/ -- ----------------------------------------------------------- | Radovan Garabík http://melkor.dnp.fmph.uniba.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! From uche.ogbuji@fourthought.com Thu Apr 10 14:51:29 2003 From: uche.ogbuji@fourthought.com (Uche Ogbuji) Date: Thu, 10 Apr 2003 07:51:29 -0600 Subject: Article: Gems From the [XML-SIG] Archives Message-ID: http://www.xml.com/pub/a/2003/04/09/py-xml.html "In this and in subsequent articles I will mine the richness of the XML-SIG mailing list for some of its choicest bits of code. I start in this article with a couple of very handy snippets from 1998 and 1999. Where necessary, I have updated code to use current APIs, style, and conventions in order to make it immediately useful to readers. All code in this article was tested using Python 2.2.1 and PyXML 0.8.2." -- Uche Ogbuji Fourthought, Inc. http://uche.ogbuji.net http://4Suite.org http://fourthought.com Introducing N-Triples - http://www-106.ibm.com/developerworks/xml/library/x-think17/index.html Use internal references in XML vocabularies - http://www-106.ibm.com/developerworks/xml/library/x-tipvocab.html EXSLT by example - http://www-106.ibm.com/developerworks/library/x-exslt.html The worry about program wizards - http://www.adtmag.com/article.asp?id=7238 Use rdf:about and rdf:ID effectively in RDF/XML - http://www-106.ibm.com/developerworks/xml/library/x-tiprdfai.html Keep context straight in XSLT - http://www-106.ibm.com/developerworks/xml/library/x-tipcurrent.html Using SAX for Proper XML Output - http://www.xml.com/pub/a/2003/03/12/py-xml.html From altis@semi-retired.com Fri Apr 11 04:37:26 2003 From: altis@semi-retired.com (Kevin Altis) Date: Thu, 10 Apr 2003 20:37:26 -0700 Subject: Promoting Python Message-ID: One of the hot topics at PyCon was Promoting Python. We had two Open Space sessions at PyCon that were relevant: http://www.python.org/cgi-bin/moinmoin/MarketingPythonOpenSpace http://www.python.org/cgi-bin/moinmoin/PythonOrgWebsiteRedesignOpenSpace I would like to invite you to join the marketing-python list if you're interested in contributing ideas or would like to help implement plans to increase the user-base of Python and make sure that you never have to answer the question "What is Python?" ever again. If you have marketing, PR, or business experience that you can share that is a big plus! http://pythonology.org/mailman/listinfo/marketing-python One of the top priorities is to improve the python.org website. A mailing list has been created to coordinate activities. We will need volunteers to help make python.org a better site. If you have experience building large web sites, are an experienced web designer, or can help with the nuts and bolts of the web site maintenance your contributions to making a better python.org will be quite welcome. http://mail.python.org/mailman/listinfo/pydotorg-redesign I recommend that you take time to read the marketing-python and pydotorg-redesign archives, at least the posts from the last few weeks to catch-up with the discussions. Welcome to the revolution! ka --- Kevin Altis altis@semi-retired.com http://radio.weblogs.com/0102677/ From riemer@ppprs1.phy.tu-dresden.de Fri Apr 11 13:23:02 2003 From: riemer@ppprs1.phy.tu-dresden.de (Tilo Riemer) Date: Fri, 11 Apr 2003 14:23:02 +0200 Subject: Announce: acpi.py 0.1.0 Message-ID: Hello, acpi.py 0.1.0 is released. Acpi.py provides an uniform and platform-independent interface to ACPI. At the moment it implements only battery relevant functions. The module is available for Linux 2.4. Support for other platforms is planned. You can download it from http://www.iapp.de/~riemer/projects/acpi.py. Best regards, Tilo From riemer@lincvs.org Fri Apr 11 13:24:56 2003 From: riemer@lincvs.org (Tilo Riemer) Date: Fri, 11 Apr 2003 14:24:56 +0200 Subject: Announce: apm-py 0.2.0 Message-ID: Hello, apm.py 0.2.0 is released. This version adds support for Mac OS X (tested with 10.2.x). Many thanks to Alessandro Gatti for the patch. You can download it from http://www.iapp.de/~riemer/projects/apm.py Best regards, Tilo From michael@stroeder.com Fri Apr 11 14:32:52 2003 From: michael@stroeder.com (=?ISO-8859-1?Q?Michael_Str=F6der?=) Date: Fri, 11 Apr 2003 15:32:52 +0200 Subject: ANN: python-ldap-2.0.0pre08 Message-ID: HI! Find a new pre-release of python-ldap: http://python-ldap.sourceforge.net/ python-ldap provides an object-oriented API to access LDAP directory servers from Python programs. It mainly wraps the OpenLDAP 2.x libs for that purpose. Additionally it contains modules for other LDAP-related stuff (e.g. processing LDIF, LDAPURLs and LDAPv3 schema). Download link: http://prdownloads.sourceforge.net/python-ldap/python-ldap-2.0.0pre08.tar.gz?download Changes since 2.0.0pre07: ldap.schema: * For backward compability with Python versions prior to 2.2 Lib/ldap/schema/tokenizer.py and Lib/ldap/schema/models.py use (()) instead of tuple() for creating empty tuples. From python-announce@whytheluckystiff.net Fri Apr 11 18:43:38 2003 From: python-announce@whytheluckystiff.net (why the lucky stiff) Date: Fri, 11 Apr 2003 11:43:38 -0600 Subject: Syck 0.15 -- YAML extension for Python In-Reply-To: <20030411172601.13514.68214.Mailman@mail.python.org> References: <20030411172601.13514.68214.Mailman@mail.python.org> Message-ID: Over the last few months, I've been developing a YAML parser in C which loads data directly into Python native structures. I imagine some of you have used Steve Howell's PyYaml. This extension is much swifter and quite competitive with Pickle/cPickle. Release notes are in the YAML below, so if you don't have a clue what I'm talking about, then I'm sure you can linkhop until it makes sense. --- released: { name: Syck, version: 0.15 } for: [ Ruby, PHP, Python ] by: why the lucky stiff about: > Syck is a YAML parser, an extension for scripting languages, written in C. So what is YAML? YAML is a new language for data. Describe objects in plain text. Load the data into your scripting language as arrays, dictionaries, classes, or primitives. links: YAML: http://www.yaml.org/ YAML Cookbook: http://yaml4r.sf.net/cookbook/ YAML Type Repository: http://yaml.org/type/ YAML Specification: http://yaml.org/spec/ Syck: http://www.whytheluckystiff.net/syck/ Syck Benchmarks: http://www.whytheluckystiff.net/arch/2003/03/19 Tarball @ SourceForge: http://aleron.dl.sourceforge.net/sourceforge/yaml4r/syck-0.15.tar.gz status: > Syck is about 60% compliant with the YAML spec. Most of the remaining issues deal with whitespace. Syck also doesn't yet support any of the shortcut syntax optimizations from the specification. The extensions are quite usable, though. Ruby, PHP and Python can load from a string containing YAML. Ruby also has support for stream loading from any IO object. benchmarks: > Syck is quite speedy, although not as swift as most language's native serialization. Syck runs at about: 30-35% of the speed of Ruby's Marshal. 15-50% of the speed of PHP's deserialize(). 600% of the speed of Python's Pickle. 33-40% of the speed of Python's cPickle. (Based on various types of structured data.) installation: > Syck contains working extensions for the Ruby, PHP, and Python languages. Each requires compilation of the libsyck library, followed by compilation of the extension. To compile libsyck, first download libsyck. tar xzvf syck-0.15.tar.gz cd syck-0.15 ./configure make sudo make install To install the Ruby extension: cd ext/ruby/ext ruby extconf.rb make sudo make install To install the Python extension: cd ext/python python setup.py build sudo python setup.py install To install the PHP extension: sh make_module.sh sudo make install (if you weren't root during make_module.sh) php -q syck.php examples: | To load this document in Ruby: ($:~)$ irb >> require 'syck' => true >> yp = YAML::Syck::Parser.new( {} ) => # >> yp.load( File.open( 'syck-0.15.yml' ) ) => {"status"=>"Syck is about 60% compliant ..."} To load this document in PHP: ($:~)$ php -a Interactive mode enabled .. php then outputs .. X-Powered-By: PHP/4.2.3 Content-type: text/html Array ( [released] => Array ( [name] => Syck [version] => 0.15 ) .. and so on .. To load this document in Python: ($:~)$ python Python 2.1.3 (#1, Jul 11 2002, 17:52:24) [GCC 2.95.3 20010315 (release) [FreeBSD]] on freebsd4 Type "copyright", "credits" or "license" for more information. >>> import syck >>> f = open( 'syck-0.15.yml' ) >>> syck.load( f.read() ) {'by': 'why the lucky stiff', ... } From nelson@crynwr.com Fri Apr 11 23:51:29 2003 From: nelson@crynwr.com (Russell Nelson) Date: 11 Apr 2003 18:51:29 -0400 Subject: announce: 'publish', a python blogger Message-ID: Been using my blogging software for a few weeks now. Seems to work fairly well. You give it a pile of .html files, and it publishes them in date order. Lets you modify the .html and when you next run publish, it makes a back-link to the previous version. Creates an index.html containing the front-page of the blog, an archive containing a list of all postings, and an rss.xml feed. -- --My blog is at angry-economist.russnelson.com | If war is the answer, then Crynwr sells support for free software | PGPok | the question must be truly 521 Pleasant Valley Rd. | +1 315 268 1925 voice | horrific. Potsdam, NY 13676-3213 | +1 315 268 9201 FAX | From nelson@crynwr.com Sat Apr 12 02:26:37 2003 From: nelson@crynwr.com (Russell Nelson) Date: 11 Apr 2003 21:26:37 -0400 Subject: announce: 'publish', a python blogger Message-ID: Been using my blogging software for a few weeks now. Seems to work fairly well. You give it a pile of .html files, and it publishes them in date order. Lets you modify the .html and when you next run publish, it makes a back-link to the previous version. Creates an index.html containing the front-page of the blog, an archive containing a list of all postings, and an rss.xml feed. Naturally, it's OSI Certified Open Source software. Look at the blog, and if you don't think it's too ugly, check out the link to the source. http://angry-economist.russnelson.com -- --My blog is at angry-economist.russnelson.com | If war is the answer, then Crynwr sells support for free software | PGPok | the question must be truly 521 Pleasant Valley Rd. | +1 315 268 1925 voice | horrific. Potsdam, NY 13676-3213 | +1 315 268 9201 FAX | From erellon@narod.ru Sat Apr 12 12:01:18 2003 From: erellon@narod.ru (erellon) Date: 12 Apr 2003 04:01:18 -0700 Subject: Announce: PyAnt v0.32 released. Message-ID: Greeting to community, PyAnt summary: PyAnt is a Python project for porting Jakarta's Ant to the Python. It's not intended to replace Ant, but to take it's role for many pPython and not only Python projects. If you ever used Ant and if you use Python, very probably, you will find PyAnt useful for you Changes since release v0.31: + Added HMAC algorithm for task + Code redesigned to implement task , now it's complete Usage sample here "Samples\build_pyant.xml" Task specs are in "docs\taskdefs\PyANTtask.xml" + Added initial support for epydoc. Let's bring documenting to the building process! * Fixed support for Linux in this release, first generated RPM file added. Links: Visit project SF page - http://sourceforge.net/projects/pyant Author: Ivan V. Begtin aka Erellon From ccosse@asymptopia.com Mon Apr 14 07:14:40 2003 From: ccosse@asymptopia.com (Charlie Cosse) Date: 13 Apr 2003 23:14:40 -0700 Subject: Tux Math Scrabble v2.0 released Message-ID: Tux Math Scrabble is a math version of the popular board game for ages 4-40. Highly entertaining as well as great educational value. Challenges young people to construct compound equations and consider multiple abstract possibilities. Three skill-levels for practice from basic addition and subtraction through multiplication and division. Great for use in schools and at home. Runs on Windows and Linux. Written in Python with PyGame as multimedia toolkit. Kid tested, grownup approved. Windows/Linux Install Scripts Included. Download at: http://www.asymptopia.com From altis@semi-retired.com Mon Apr 14 20:10:53 2003 From: altis@semi-retired.com (Kevin Altis) Date: Mon, 14 Apr 2003 12:10:53 -0700 Subject: Python 11 - OSCON 2003 early bird registration deadline Message-ID: The deadline for Python 11 - OSCON 2003 early bird registration is May 23rd, 2003. The conference will be held July 7-11, 2003 in Portland, Oregon, USA. http://conferences.oreillynet.com/os2003/ http://conferences.oreillynet.com/pub/w/23/register.html Save up to $400 when you register by May 23rd for the Python 11/OSCON 2003 conference. Additional discounts are available. I'm including the text of the special discounts available for the conference below since they are quite significant; see the URL above for further info and mailto links. All of the discounts listed at the bottom of the registration page are in addition to the early bird discount. The early bird discount is (obviously) time-limited, but the others are not. Special Discounts ================= Early Bird Pricing - Save up to $400 when you register by May 23, 2003. SPECIAL TUTORIAL OFFER - Buy 2 tutorials, get 2 free (when you purchase a full conference pass). Full Time Student - 65% off with proof of status, a copy of ID & class schedule. Fax to 707-829-1342. Please use os03st in discount field. Academic Instructor - 50% off with proof of full time academic instructor status on organization letterhead. Fax to 707-829-1342. Please use os03ac in discount field. Academic Staff - 25% off with proof of full time academic employee status on organization letterhead. Fax to 707-829-1342. Please use os03sa in discount field. Company Team Discount - 10% off per person if you register 3 or more people from one company. Please use os03team in discount field. Proof of status of employment for each attendee must be faxed to 707-829-1342. Federal Government Discount - 20% off with proof of agency connection. Use discount code, os03gov, and fax to 707-829-1342. User Group Members - UG discounts are available. For discount information or to see if your group is eligible please email Marsee Henon for details. To sign your group up with the O'Reilly User Group Program please go to http://ug.oreilly.com/. Alumni - Have you attended one of our O'Reilly conferences? If so, you are eligible for a 30% alumni discount. Please email Linda Holder for verification and your special discount code. ka --- Kevin Altis, Python 11 co-chair altis@semi-retired.com http://www.pycs.net/altis/ http://www.pythoncard.org/ From jeffreymsimpson@cox.net Tue Apr 15 04:22:11 2003 From: jeffreymsimpson@cox.net (Jeff Simpson) Date: 14 Apr 2003 20:22:11 -0700 Subject: ANN: Coil 0.2 - an MVC framework Message-ID: Coil is an MVC framework for the Python programming language. Coil is based largely on the ideas and design of Struts. Coil allows you to cleanly separate the model, view and controller via an XML configuration file. Coil is currently alpha quality, but usable. There is a very basic login example in the source tarball demonstrating the basic work flow. I am currently building an mp3 server to use as a better demo. For more information please visit the SourceForge site, http://sourceforge.net/projects/coil/ Supported Features ------------------ - Cheetah supported for the "view" - Form objects with validation support - Action objects for controller abstraction - DispatchAction support which allows multiple method entry points on the same action object - ActionForward for abstracting a page location by name TODO ---- - Better Spyce support (currently some hacks are required to make Spyce work with Coil) - Message Resources (externalized data used in view) - Dynamic forms - Better configuration parser - Locale support - Datasource support - Enhance session support If you have some feedback or would like to help with the project please contact me. Thanks -Jeff From stuff@nonpoint.mailzilla.net Tue Apr 15 19:42:39 2003 From: stuff@nonpoint.mailzilla.net (Phil) Date: 15 Apr 2003 11:42:39 -0700 Subject: Kodos 1.1 released - Regular expression visual debugger for Python Message-ID: Kodos 1.1 has been released and is available at: http://kodos.sourceforge.net Kodos is a regular expression designer, tester, debugger and validator that allows a developer to create and modify regular expressions against a test string. The intuitive interface allows the developer the ability to modify the regular expression (regex) and to see the effects against their test string in real-time. Key Features: - Matches can be easily viewed and each match can be seen distinctly - Regex groups and named groups are clearly displayed - Sample source code is shown so even python developers new to regular expressions can quickly add the produced regular expressions to their own projects. - Ability to load and save your test cases - Kodos relies on PyQt for the GUI elements. Changes since 1.0: Added the ability to (un)pause regex processing. Added "import file" option to file menu. Added a bug reporting mechanism within the application Added an additional preference (email server) to the preferences menu (for use with the bug reporting window). Fixed tabbing issue within preferences). Added a 3 second timeout for editing (may eventually move this to preferences). I've been able to produce situations where the findall and search (with a non 0 start) methods of the compiled re object take awhile to complete. This timeout fixes these situations. I've also uncovered a case where the re (python2.1 and python2.2, maybe others) locks up entirely (perhaps an infinite loop). Unfortunately, the timeout doesn't fix this event (since control never yields from this re method, furthermore, the alarm signal is never fired) and it causes Kodos to freeze. Currently, I don't have a solution for this but I'm not sure if anyone is experiencing this problem (this seems to be a python re bug and not specifically a Kodos bug, however, it would be nice if it could be handled gracefully). Code cleanup. All windows share the same Kodos toolbar text logo (previously, there was a disconnect between main window, help and reference windows). Fixed a bug that prevented Kodos from launching if used with PyQt (Qt) 2.x From ckea25d02@sneakemail.com Wed Apr 16 04:21:06 2003 From: ckea25d02@sneakemail.com (Greg Ewing (using news.cis.dfn.de)) Date: Wed, 16 Apr 2003 15:21:06 +1200 Subject: [ANN] Pyrex 0.7.1 Message-ID: Pyrex 0.7.1 is now available: http://www.cosc.canterbury.ac.nz/~greg/python/Pyrex/ This release fixes several bugs. See the web page and CHANGES file for more information. There is also one new demo included, showing how to pass a Python function to a C function as a callback. What is Pyrex? -------------- Pyrex is a new language for writing Python extension modules. It lets you freely mix operations on Python and C data, with all Python reference counting and error checking handled automatically. -- Greg Ewing, Computer Science Dept, University of Canterbury, Christchurch, New Zealand http://www.cosc.canterbury.ac.nz/~greg From mso@oz.net Wed Apr 16 03:45:38 2003 From: mso@oz.net (Mike Orr) Date: 15 Apr 2003 19:45:38 -0700 Subject: PyCon article (Linux Journal) Message-ID: My article on the PyCon conference is on the Linux Journal site. http://www.linuxjournal.com/article/6800 From peter.christen@anu.edu.au Wed Apr 16 05:09:24 2003 From: peter.christen@anu.edu.au (Peter Christen) Date: Wed, 16 Apr 2003 14:09:24 +1000 Subject: ANN: Febrl-0.2 Message-ID: The ANU Data Mining Group (datamining.anu.edu.au) is pleased to announce the second release of prototype program code intended to make probabilistic record linkage easier, faster and more accurate for biomedical and other researchers. The programs, known collectively as "Febrl" - Freely Extensible Biomedical Record Linkage - address the data cleaning and standardisation tasks which are essential first steps for most record linkage projects, and provide routines for probabilistic record linkage and record deduplication. Since its initial release (Version 0.1) the Febrl system has undergone a major redesign resulting in an object-oriented approach which allows easier configuration and is more extensible. The main features of the Febrl Version 0.2 are - Probabilistic and rules-based cleaning and standardisation routines for names, addresses and dates. - A variety of supplied look-up and frequency tables for names and addresses. - Various comparison functions for names, addresses, dates and localities, including approximate string comparisons, phonetic encodings, geographical distance comparisons, and time and age comparisons. - Several blocking (indexing) methods, including the traditional compound key blocking used in many record linkage programs. - Probabilistic record linkage routines based on the classical Fellegi and Sunter approach. - Access methods for fixed format and comma-separated value (CSV) text files, as well as SQL databases. - Supports parallelism for higher performance on parallel platforms, based on MPI (Message Passing Interface), a standard for parallel programming, and Pypar, an efficient and easy-to-use module that allows Python programs to run in parallel on multiple processors and communicate using MPI. - A 122 page manual. Febrl, which is written is the free, open source Python programming language, is itself available under a free, open source license, which we hope will encourage others to contribute to its further development and support. Contact details, background information, documentation and, of course, the program code are all available from the project Web site at http://datamining.anu.edu.au/linkage.html as well as from 'sourceforge.net' at http://sourceforge.net/projects/febrl We would like to stress that the programs are still in the early stages of development, and we do not yet recommend them for production use, but we encourage you to try them and to provide us with feedback. We particularly welcome bug reports and ideas for future development. There are many ways to help with the project: testing, programming and software engineering, testing, documentation and technical writing, testing, translation, testing, provision of (anonymous, non-confidential) training and example data sets, and testing (did we mention that already?). Peter Christen and Tim Churches Principal Developers of Febrl From ckea25d02@sneakemail.com Thu Apr 17 01:57:51 2003 From: ckea25d02@sneakemail.com (Greg Ewing (using news.cis.dfn.de)) Date: Thu, 17 Apr 2003 12:57:51 +1200 Subject: ANN: Pyrex 0.7.2 Message-ID: Pyrex 0.7.2 is now available: http://www.cosc.canterbury.ac.nz/~greg/python/Pyrex/ This release fixes another couple of bugs, and also supplies the Demo/callback/cheesefinder.c file that got missed out before. What is Pyrex? -------------- Pyrex is a new language for writing Python extension modules. It lets you freely mix operations on Python and C data, with all Python reference counting and error checking handled automatically. -- Greg Ewing, Computer Science Dept, University of Canterbury, Christchurch, New Zealand http://www.cosc.canterbury.ac.nz/~greg From jgardner@jonathangardner.net Thu Apr 17 03:39:05 2003 From: jgardner@jonathangardner.net (Jonathan Gardner) Date: 16 Apr 2003 19:39:05 -0700 Subject: PyQt Tutorial at NorthWest Linux Fest Message-ID: I am teaching a beginner's PyQt (Python + Qt) tutorial at the NorthWest Linux Fest in Bellingham, WA on April 26. More information about the linux fair can be found at http://www.linuxnorthwest.com/ I will be covering the basics about PyQt. If you attend, you will learn what it is, where you can find the sources for it, how to compile it and install it on your system, as well as how to use it. There won't be enough time to cover everything, but there will be enough time to show you the ropes and get you started in the documentation. We'll also be able to whip out an application using some RAD methods. I used PyQt to develop a claims management and submission system for a local optometrist with great results. I think it is ready for production use in a variety of environments. If you have any questions, feel free to ask. From stuff@mailzilla.net Fri Apr 18 15:52:31 2003 From: stuff@mailzilla.net (Phil) Date: 18 Apr 2003 07:52:31 -0700 Subject: rwhois.py 1.2 - Message-ID: http://sourceforge.net/projects/rwhois/ A recursive whois module/client for python. It provides your typical whois lookup and the ability to parse records into usable python objects for use in your code. This is a modified version of the whois.py module, originally by Jonan Santiago. This updated version includes support for many of the new top-level domains and their respective whois server. Currently supported domains include: .com .net .gov .mil .edu .org .biz .info .aero .museum .coop .int .name .us and many country-specific domains. http://sourceforge.net/projects/rwhois/ Phil From logistix@cathoderaymission.net Sat Apr 19 02:20:05 2003 From: logistix@cathoderaymission.net (logistix) Date: Fri, 18 Apr 2003 21:20:05 -0400 Subject: PyXR 0.9.2- Cross-Referenced HTML from Python Source Message-ID: PyXR 0.9.2- Cross-Referenced HTML from Python Source PyXR generates HTML pages from python source files. It also generates cross-referenced hyperlinks and integrates with the Python Library Reference as well, which makes it distinctive from the 8 million other prettyprinters out there. It's been tested on Python 2.2 and 2.3 for Windows, OpenBSD 3.2 and RedHat 7.3. There's no reason it shouldn't work on other platforms with minor configuration. Major Improvements in version 0.9.2: Much improved package location algorithm. User-specifiable coloring via CSS (so you can make the output match your favorite IDE) A PyXR'ed version of Python 2.2.2's source can be viewed at: http://www.cathoderaymission.net/~logistix/PyXR/python22/src/ More information about PyXR itself is available at: http://www.cathoderaymission.net/~logistix/python/pyxr.html The package is available at: http://www.cathoderaymission.net/~logistix/python/PyXR.zip Enjoy! From edreamleo@charter.net Sat Apr 19 14:09:45 2003 From: edreamleo@charter.net (Edward K. Ream) Date: Sat, 19 Apr 2003 08:09:45 -0500 Subject: ANN: Leo's new web site Message-ID: Please note my new email address and Leo's new URL. See below. Edward -------------------------------------------------------------------- Edward K. Ream email: edreamleo@charter.net Leo: Literate Editor with Outlines Leo: http://webpages.charter.net/edreamleo/front.html -------------------------------------------------------------------- From peter@engcorp.com Sun Apr 20 16:58:35 2003 From: peter@engcorp.com (Peter Hansen) Date: Sun, 20 Apr 2003 11:58:35 -0400 Subject: Toronto-area Python user group: meeting Tuesday April 22nd Message-ID: We apologize for the late notice (again!): PyGTA, the user group for Python, Zope and their ilk in the Greater Toronto Area and environs, will be meeting at the usual location (519 Church St. Community Centre, room 23), time (8pm to 10pm) and date (fourth Tuesday of the month, or April 22nd this time). Nobody has (yet?) committed to doing a presentation this month, but Peter Hansen, Director of Software Engineering at Kaval Wireless in Markham hopes to present a brief introduction to "Using Python for Industrial Control". Please come and support the group with your participation. The usual post-meeting meeting will be convened at Just Desserts on Yonge. Meeting information is always available on our web site at http://web.engcorp.com/pygta/wiki/NextMeeting . If you didn't receive this message by email, you are not yet on our announcement mailing list. See the web page to subscribe. -Peter Hansen, Ian Garmaise, meeting organizers From michael@stroeder.com Sat Apr 19 15:56:44 2003 From: michael@stroeder.com (=?ISO-8859-1?Q?Michael_Str=F6der?=) Date: Sat, 19 Apr 2003 16:56:44 +0200 Subject: ANN: python-ldap-2.0.0pre09 Message-ID: HI! Find a new pre-release of python-ldap: http://python-ldap.sourceforge.net/ python-ldap provides an object-oriented API to access LDAP directory servers from Python programs. It mainly wraps the OpenLDAP 2.x libs for that purpose. Additionally it contains modules for other LDAP-related stuff (e.g. processing LDIF, LDAPURLs and LDAPv3 schema). Download link: http://prdownloads.sourceforge.net/python-ldap/python-ldap-2.0.0pre09.tar.gz?download Changes since 2.0.0pre08: Modified setup.py to support Cyrus-SASL 2.x. ldap.ldapobject: * apply() is not used anymore since it seems deprecated * Fixed __setstate__() and __getstate__() of ReconnectLDAPObject ldap.schema: * Completed classes for nameForms, dITStructureRules and dITContentRules From gward@python.net Mon Apr 21 03:07:57 2003 From: gward@python.net (Greg Ward) Date: Sun, 20 Apr 2003 22:07:57 -0400 Subject: ANNOUNCE: Optik 1.4.1 Message-ID: Optik 1.4.1 =========== Optik is a powerful, flexible, extensible, easy-to-use command-line parsing library for Python. Using Optik, you can add intelligent, sophisticated handling of command-line options to your scripts with very little overhead. Here's an example of using Optik to add some command-line options to a simple script: from optik import OptionParser [...] parser = OptionParser() parser.add_option("-f", "--file", action="store", type="string", dest="filename", help="write report to FILE", metavar="FILE") parser.add_option("-q", "--quiet", action="store_false", dest="verbose", default=1, help="don't print status messages to stdout") (options, args) = parser.parse_args() With these few lines of code, users of your script can now do the "usual thing" on the command-line: -f outfile --quiet -qfoutfile --file=outfile -q --quiet --file outfile (All of these result in options.filename == "outfile" options.verbose == 0 ...just as you might expect.) Even niftier, users can run one of -h --help and Optik will print out a brief summary of your script's optons: usage: [options] options: -h, --help show this help message and exit -fFILE, --file=FILE write report to FILE -q, --quiet don't print status messages to stdout That's just a taste of the flexibility Optik gives you in parsing your command-line. See the documentation included in the package for details. AUTHOR, COPYRIGHT, AVAILABILITY ------------------------------- Optik was written by Greg Ward The latest version of Optik can be found at http://optik.sourceforge.net/ Copyright (c) 2001-2003 Gregory P. Ward. All rights reserved. CHANGES IN OPTIK 1.4 -------------------- * Changed to use the new textwrap module included with Python 2.3. Includes a copy of textwrap.py for use with older Python versions. * Set __all__ in each of the optik.* modules, to make life easier for optik/__init__.py. * Rewrote the test suite to use PyUnit, and added some new tests that revealed some long-hidden bugs. Fixed those bugs. (Thanks to Johannes Gijsbers for doing all the work!) * For versions of Python with builtin True and False values (ie. Python 2.2.1 and later), make store_true/store_false use them. * Add forwards-compatibility 'optparse' module, so scripts can import from 'optparse' and work under base Python 2.3, or under older Pythons with Optik 1.4.1 or later installed. -- Greg Ward http://www.gerg.ca/ Rules for Urban Cycling, #1: Green means go; yellow means go like hell; red means proceed with caution. From itamar@itamarst.org Mon Apr 21 16:04:38 2003 From: itamar@itamarst.org (Itamar Shtull-Trauring) Date: Mon, 21 Apr 2003 11:04:38 -0400 Subject: ANN: Twisted 1.0.4 Message-ID: Twisted is an event-driven networking framework for server and client applications. More detailed information can be found after the "What's New" section. For more information, visit http://www.twistedmatrix.com, join the list http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python or visit us on #twisted at irc.freenode.net. What's New in 1.0.4 =================== This release is mainly a bug fix release. 1.0.4 includes large numbers of bug fixes, small feature enhancements, additional tests and so on. Additional reliability is assured by our deployment of Brian Warner's Buildbot (http://buildbot.sf.net) for real-time testing (http://twistedmatrix.com/~warner.twistd/ -- note that certain functionality is experimental and therefore the tests will be failing, but this does not affect the stability or performance of supported, stable packages). What is Twisted? ================ Twisted is an event-driven framework for building networked clients and servers. It contains a powerful and simple networking core, a full-featured suite of interoperable protocols, among them a powerful web server and applications framework. Twisted supports many event loops for both server apps and GUI integration on the client side, including: - Win32 events, including GUI support - GTK+ - GTK+ 2 - Qt - wxPython - Tkinter - Java Twisted can run protocols over TCP, SSL, UDP, multicast, Unix sockets and subprocesses. It also includes scheduling support, threading integration, RDBMS event loop integration and other basic requirements for networked applications. Also included are implementations of many protocols. In some cases this includes complete frameworks providing facilities on top of the base protocol: - SSH - FTP - HTTP, including a complete web framework - XML-RPC - SOAP server framework - NNTP and complete NNTP server framework - SOCKSv4 (server only) - SMTP - IRC - telnet - POP3 - AOL's instant messaging TOC - OSCAR, used by AOL-IM as well as ICQ (client only) - DNS - MouseMan serial mice, and GPS devices - Twisted Perspective Broker, a remote object protocol From chris@psychofx.com Mon Apr 21 23:21:11 2003 From: chris@psychofx.com (Chris Miles) Date: Mon, 21 Apr 2003 23:21:11 +0100 Subject: EDDIE-Tool 0.32 Released Message-ID: EDDIE-Tool 0.32 has just been released. http://eddie-tool.net/ What is it ? The EDDIE-Tool is an intelligent UNIX monitoring tool written entirely in Python. It provides system, network and security monitoring features, with an extensive configuration facility for defining customized monitoring rules. What is new ? Minor features and bugfixes. Why is it interesting to Python users ? Besides system and network administrators, Python users may find EDDIE-Tool interesting as it is an example of a threaded, multi-platform software package, providing easy access to system statistics and using Python's power to offer a dynamic and programmable rules engine. Regards, Chris -- Chris Miles http://chrismiles.info/ From jdhunter@nitace.bsd.uchicago.edu Wed Apr 23 14:45:06 2003 From: jdhunter@nitace.bsd.uchicago.edu (John Hunter) Date: Wed, 23 Apr 2003 08:45:06 -0500 Subject: ANN: matplotlib 0.1 Message-ID: Matplotlib Matplotlib is a pure python plotting package for python and pygtk. My goal is to make high quality, publication quality plotting easy in python, with a syntax familiar to matlab users. matplotlib is young, and several things need to be done for this goal is achieved. But it works well enough to make nice, simple plots. Requirements python 2.2+, GTK2, pygtk-1.99.x, and Numeric. Download See the homepage - http://nitace.bsd.uchicago.edu:8080/matplotlib Here are some of the things that matplotlib tries to do well * Allow easy navigation of large data sets. Right click on figure window to bring up navigation tool bar for pan and zoom of x and y axes. This requires a wheel mouse. Place the wheel mouse over the navitation buttons and scroll away. * Handle very large data sets efficiently by making use of Numeric clipping. I have used matplotlib in an EEG plotting application with 128 channels and several minutes of data sampled at 400Hz, eg, plotting matrices with dimensions 120,000 x 128. * Choose tick marks and labels intelligently * make easy things easy (subplots, lines styles, colors) * make hard things possible (OO interface for full control) Matplotlib is a class library that can be used to make plots in pygtk applications. But there is a matlab functional compatibility interface that you can get with, eg:: from matplotlib.matlab import plot, subplot, show, gca Example scripts and screenshots available at http://nitace.bsd.uchicago.edu:8080/matplotlib John Hunter _______________________________________________ pygtk mailing list pygtk@daa.com.au http://www.daa.com.au/mailman/listinfo/pygtk Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/ From mal@lemburg.com Wed Apr 23 22:21:40 2003 From: mal@lemburg.com (M.-A. Lemburg) Date: Wed, 23 Apr 2003 23:21:40 +0200 Subject: ANN: eGenix mxODBC Zope Database Adapter, Version 1.0.4 Message-ID: ________________________________________________________________________ ANNOUNCEMENT EGENIX.COM mxODBC Zope Database Adapter Version 1.0.4 Available for Zope 2.3 - 2.6 on Windows, Linux and Solaris ________________________________________________________________________ INTRODUCTION The eGenix mxODBC Zope Database Adapter (Zope DA) allows you to easily connect your Zope installation to just about any database backend on the market today, giving you the reliability of the commercially supported eGenix.com product mxODBC and the flexibility of the ODBC standard as middle-tier architecture. Unlike Zope's ZODBC Zope DA, the mxODBC Zope DA works on Windows XP/NT/2000/98/95, Linux and Solaris using the same interface on all platforms. The mxODBC Zope DA implements thread-safe connection pooling and multiple physical connects per logical Zope connection. You can safely run Z SQL Methods in parallel, achieving a much better performance than ZODBC Zope DA or similar Zope database adapters under heavy load. This makes it ideal for deployment in Zope Clusters and Zope hosting environments where stability and high performance are a top priority. ________________________________________________________________________ FEATURES * Zope Level 3 Database Adapter: the mxODBC Zope DA is fully multi-threaded and can handle multiple connections to multiple databases. * Fully compatible to Z SQL Methods. * Drop-in compatible to the ZODBC DA: the mxODBC Zope DA provides the same interfaces as Zope's ZODBC DA to allow a smooth upgrade path from this simplistic adapater to the high performance mxODBC Zope DA. * Fully compatible to the Znolk SQL Wizard Product and other similar products relying on the common database schema access methods .tables() and .columns(). * Connection Pooling: physical database connections are pooled and kept open, to reduce the connection overhead to a minimum. This is especially important for high latency database connections and ones like Oracle which take a considerable amount of time to setup * Parallel Execution of Queries on a single logical connection: the mxODBC Zope DA can manage any number of physical connections on a single logical connection. This enables running truly parallel Z SQL Method queries -- a feature not available in other Zope DAs. * Robust Mode of Operation: connections which have timed out or go away due to network problems are automatically reconnected. * Cross-platform Connection Objects: The Zope DA will automatically choose the right platform specific ODBC manager for you. * Per Connection Adjustable ODBC Interface: mxODBC comes with many different subpackages to choose from on Unix. The Zope DA allows you to select these subpackages on a per-connection basis. * Per Connection Error Handling: you can tell each connection whether it should report ODBC warnings or not; furthermore all warnings and errors are made available as list .messages on the DatabaseConnection object. * Transaction safe automatic reconnect: when the DA finds that a connection has timed out, it automatically tries a reconnect and replays the transaction on the connection (unlike other DAs which break the transaction scheme by doing a reconnect without replay). * Built-in Schema Cache: this results in improved performance under heavy load. * Database Schema Access: all ODBC catalog methods are made available for much better database schema inquiry. The catalog methods allow building generic database interrogation or manipulation tools and facilitates writing database independent Zope products. ________________________________________________________________________ NEWS We have had a lot of positive user feedback about the mxODBC Zope Database Adapter 1.0.0. * Some users have reported problems with certain ODBC drivers which required adding work-arounds and special options to the adapter. The version 1.0.4 includes a whole set of connection options which make the mxODBC Zope DA even more compatible to ODBC drivers in the field. * We also added a few usability enhancements, e.g. the default for creating connections is now to create closed connections. This makes it much easier setting up and configuring the connection objects. * Due to popular demand we put a lot of work into getting the mxODBC Zope DA to work with the 0.61 release of the FreeTDS ODBC driver. This driver is typically used when connecting from Linux to MS SQL Server. * Connections to non-transactional data sources are now also possible using a special connection option. This allows direct read-only access to e.g. Access or Excel files on Windows. It also makes connections to MySQL 3.x possible. * Because the mxODBC Zope DA supports multiple result sets, we added an option to always fetch the last available result set. This is sometimes needed when moving from ZODBC DA to mxODBC Zope DA if you are working with stored procedures. * Last not least, the mxODBC Zope DA is now also available for the Solaris platform. In short: mxODBC Zope DA is moving to become the number one solution for integrating relational databases with Zope applications. ________________________________________________________________________ UPGRADING If you have already bought mxODBC Zope DA licenses, you can use these license for the updated 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 DA, licensing and download instructions, please visit our web-site: http://www.egenix.com/ ________________________________________________________________________ Thank you, -- Marc-Andre Lemburg eGenix.com Professional Python Software directly from the Source (#1, Apr 23 2003) >>> Python/Zope Products & Consulting ... http://www.egenix.com/ >>> mxODBC, mxDateTime, mxTextTools ... http://python.egenix.com/ ________________________________________________________________________ EuroPython 2003, Charleroi, Belgium: 62 days left From guido@python.org Sat Apr 26 01:12:41 2003 From: guido@python.org (Guido van Rossum) Date: Fri, 25 Apr 2003 20:12:41 -0400 Subject: RELEASED: Python 2.3b1 Message-ID: Python 2.3b1 is the first beta release of Python 2.3. Much improved since the last alpha, chockfull of things you'd like to check out: http://www.python.org/2.3/ Some highlights of what's new since 2.3a2: - sum() builtin, adds a sequence of numbers, beats reduce(). - csv module, reads comma-separated-value files (and more). - timeit module, times code snippets. - os.walk(), a generator slated to replace os.path.walk(). - platform module, by Marc-Andre Lemburg, returns detailed platform information. For more highlights, see http://www.python.org/2.3/highlights.html New since Python 2.2: - Many new and improved library modules, e.g. sets, heapq, datetime, textwrap, optparse, logging, bsddb, bz2, tarfile, ossaudiodev, and a new random number generator based on the highly acclaimed Mersenne Twister algorithm (with a period of 2**19937-1!). - New builtin enumerate(): an iterator yielding (index, item) pairs. - Extended slices, e.g. "hello"[::-1] returns "olleh". - Universal newlines mode for reading files (converts \r, \n and \r\n all into \n). - Source code encoding declarations. (PEP 263) - Import from zip files. (PEP 273 and PEP 302) - FutureWarning issued for "unsigned" operations on ints. (PEP 237) - Faster list.sort() is now stable. - Unicode filenames on Windows. - Karatsuba long multiplication (running time O(N**1.58) instead of O(N**2)). See also http://www.python.org/doc/2.3b1/whatsnew/ - Andrew Kuchling's description of all important changes since 2.2. We request widespread testing of this release but don't recommend using it for production situations yet. Beta releases contain bugs. New APIs are expected to be stable, and may be changed only if serious deficiencies are found. No new APIs or modules will be added after the first beta release. If you have an important Python application, we strongly recommend that you try it out with a beta release and report any incompatibilities or other problems you may encounter, so that they can be fixed before the final release. To report problems, use the SourceForge bug tracker: http://sourceforge.net/tracker/?group_id=5470&atid=105470 Enjoy! --Guido van Rossum (home page: http://www.python.org/~guido/) From goodger@python.org Sat Apr 26 23:25:18 2003 From: goodger@python.org (David Goodger) Date: Sat, 26 Apr 2003 18:25:18 -0400 Subject: Reminder to PEP authors Message-ID: There are several PEPs with "Draft" status which are ripe for review. PEP 1 states: Once the authors have completed a PEP, they must inform the PEP editor that it is ready for review. PEPs are reviewed by the BDFL and his chosen consultants, who may accept or reject a PEP or send it back to the author(s) for revision. Once a PEP has been accepted, the reference implementation must be completed. When the reference implementation is complete and accepted by the BDFL, the status will be changed to "Final". PEP authors, please keep your PEPs up to date. When you think the PEP is ready for review, please send a note to stating "PEP X is ready for review". Otherwise the PEP may remain in "Draft" limbo indefinitely. It is the PEP author's responsibility to move the process forward: Each PEP must have a champion -- someone who writes the PEP using the style and format described below, shepherds the discussions in the appropriate forums, and attempts to build community consensus around the idea. Authors with CVS check-in privileges are welcome to check in their own content changes. Others should send updates to (please make updates to the latest text from CVS). -- David Goodger Python Enhancement Proposal (PEP) Editor (Please cc: all PEP correspondence to .) From djc@object-craft.com.au Sun Apr 27 13:14:09 2003 From: djc@object-craft.com.au (Dave Cole) Date: 27 Apr 2003 22:14:09 +1000 Subject: Sybase module 0.36 released Message-ID: WHAT IS IT: The Sybase module provides a Python interface to the Sybase relational database system. It supports all of the Python Database API, version 2.0 with extensions. NOTES: This is another incremental improvement to FreeTDS support. You can build for FreeTDS like this: python setup.py build_ext -D HAVE_FREETDS -U WANT_BULKCOPY python setup.py install If you are using FreeTDS 0.60 or 0.61 change the compile command to: python setup.py build_ext -D HAVE_FREETDS=60 -U WANT_BULKCOPY or python setup.py build_ext -D HAVE_FREETDS=61 -U WANT_BULKCOPY The module is available here: http://www.object-craft.com.au/projects/sybase/download/sybase-0.36.tar.gz The module home page is here: http://www.object-craft.com.au/projects/sybase/ CHANGES SINCE 0.36pre6: * Output parameters from stored procedures are supported via the OUTPUT() function. The parameter to OUTPUT() determines the type and size of the buffer which will be allocated to receive the output value. c.callproc('test_proc', {'@type': 'business', '@tot_sales': 5, '@num_books': Sybase.OUTPUT(1)}) * Added Time() and TimeFromTicks() DB API functions. * Fixed fmx.maxlength typo. * Reorganised result fetching to use "fetcher" classes; _FetchNow, _FetchNowParams, and _FetchLazy. This was in response to testing against the Python DB API 2.0 Anal Compliance Unit Test. CHANGES SINCE 0.35: * Fixed bug in ctx.c:ct_con_drop() which caused SEGFAULT with FreeTDS. * Export version of FreeTDS used in sybasect.__have_freetds__ * Set Sybase._ctx as the global context soon as in Sybase.py to avoid problems with undefined global ctx. * Look for SYBASE_OCS on all platforms. * Fixed spelling error in ctx.c:global_ctx(). * Fixed cursor locking bug with .nextset() method. * Added .debug_msg() method to context type which writes to the debug log when debugging is enabled for the context object. * Merged AIX build changes from Dietmar Rothkamp. * Now compiles with FreeTDS 0.61. * Limit size of TEXT fields to 65536. * Removed references to CS_PENDING and CS_BUSY in Sybase.py. * Bind CS_VARBINARY_TYPE as CS_BINARY_TYPE. * Do not attempt to ct_cancel() when handling an exception if have not connected to the server. Bug fix in Sybase.py. * Seems like FreeTDS reports the wrong maxlength in ct_describe() for CS_NUMERIC_TYPE and CS_DECIMAL_TYPE. Ignore FreeTDS and assume a maxlength of sizeof(CS_NUMERIC). Bugfix in databuf.c. * Use correct T_STRING_INPLACE type in structure member descriptions. The code does not use Python API for these members. * Debug output for DataFmt now includes scale and precision. * More definitions added to freetds.h; CS_SRC_VALUE, CS_CLEAR. -- http://www.object-craft.com.au From edreamleo@charter.net Sun Apr 27 14:46:56 2003 From: edreamleo@charter.net (Edward K. Ream) Date: Sun, 27 Apr 2003 08:46:56 -0500 Subject: ANN: Leo 3.11 outlining editor Message-ID: leo.py 3.11 final is now available at: http://sourceforge.net/projects/leo/ This version of Leo contains many important improvements since 3.10, especially support for unicode and a new plugin architecture. The Highlights of 3.11 final: ** Leo supports unicode. - New @encoding directives specifies encoding for derived files. - New settings specify default encodings for .leo and derived files. - Derived files specify encodings used to create them. ** A new plugin architecture for customizing Leo. - New commands: - Toggle Angle Brackets. - Insert Time/Date (in headline or body text). - Go To First/Last Node, Parent, Next/Previous Sibling. - Write Missing @file Nodes. - Expand/Contract Node. - Improved commands: - Fixed a huge performance bug that slowed moving nodes left. - Expand/Contract commands now operate on the selected tree. - Sort Siblings command can now sort top-level nodes. - Leo now allows multiple writes of cloned nodes. (Useful when different @path directives are in effect.) - Other improvements: - New @lineending directive specifies line endings. - Improved syntax coloring for html and xml. - Leo scrolls partially visible headlines into full view. - Added "Replace tabs with spaces" checkbox in Prefs panel. - New settings in leoConfig.leo/.txt. - Added "tk_encoding" setting and related logic. - Colors for Show Invisibles command and body_insertion_cursor - Settings affecting when control-drags start. - Defaults for unicode (see above). - Many other bug fixes and improvements. Quote of the Month: ------------------- I gave Leo a try a while ago, but did not recognize its strengths as an outliner. In April 2003 a gave it another try. And when I saw in the online help mentioning clones almost in passing (you got to emphasis this much more!), I knew: This is it. If you are like me, you have a kind of knowledge base with infos gathered over time. And you have projects, where you use some of those infos. Now, with conventional outliners you begin to double these infos, because you want to have the infos needed for the project with your project. With Leo you can do this too, but if you change text in one place IT IS UPDATED IN THE OTHER PLACE TOO! This is a feature I did not see with any other outliner (and I tried a few). Amazing! Leo directly supports the way I work! -- F. Geiger What is Leo? ------------ - A programmer's editor, an outlining editor and a flexible browser. - A literate programming tool, compatible with noweb and CWEB. - A data organizer and project manager. Leo provides multiple views of projects within a single outline. - Fully scriptable using Python. Leo saves its files in XML format. - Portable. leo.py is 100% pure Python. - Open Software, distributed under the Python License. leo.py requires Python 2.1 or above and tcl/tk 8.3 or above. leo.py works on Linux, Windows and MacOs X Jaguar. Links: ------ Leo: http://webpages.charter.net/edreamleo/front.html Home: http://sourceforge.net/projects/leo/ Download: http://sourceforge.net/project/showfiles.php?group_id=3458 CVS: http://sourceforge.net/cvs/?group_id=3458 Edward ** Please note my new email address and Leo's new URL below ** -------------------------------------------------------------------- Edward K. Ream email: edreamleo@charter.net Leo: Literate Editor with Outlines Leo: http://webpages.charter.net/edreamleo/front.html -------------------------------------------------------------------- From barry@python.org Sun Apr 27 18:14:46 2003 From: barry@python.org (Barry Warsaw) Date: 27 Apr 2003 13:14:46 -0400 Subject: RELEASED Mailman 2.1.2 Message-ID: --=-SBk6nyd+Zn+CGrxoRagB Content-Type: text/plain Content-Transfer-Encoding: quoted-printable I've released version 2.1.2 of Mailman, the GNU Mailing List Manager. Mailman is released under the GNU General Public License (GPL). Version 2.1.2 is a bug fix release, including language updates and two new languages, Portuguese/Portugal and Polish. It is recommend that all Mailman 2.1.x sites upgrade to version 2.1.2. Mailman is free software that enables users to manage email mailing lists and e-newsletters. Its integrated web interface provides easy-to-use access for list members and list administrators. Mailman supports built-in archiving, automatic bounce processing, content filtering, digest delivery, spam filters, and more. Mailman is compatible with most web servers, web browsers, and mail servers. It runs on any Unix-like operating system. Mailman 2.1.2 requires Python 2.1.3 or newer. To install Mailman from source, you will need a C compiler. For more information on Mailman, including links to file downloads, please see any of the Mailman mirror web pages: http://www.gnu.org/software/mailman http://mailman.sourceforge.net http://www.list.org (not yet updated) Patches and source tarballs are available at http://sourceforge.net/project/showfiles.php?group_id=3D103 There are email lists (managed by Mailman, of course!) for both Mailman users and developers. See the web sites above for details. Cheers, -Barry -------------------- snip snip -------------------- 2.1.2 (22-Apr-2003) - New languages Portuguese (Portugal) and Polish. - Many convenient constants have been added to the Defaults.py module to (hopefully) make it more readable. - Email addresses which contain 8-bit characters in them are now rejected and won't be subscribed. This is not the same as 8-bit characters in the realname, which is still allowed. - The X-Originating-Email header is removed for anonymous lists. Hotmail apparently adds this header. - When running make to build Mailman, you can specify $DESTDIR to the install target to specify an alternative location for installation, without influencing the paths stored in e.g. Defaults.py. This is useful to package managers. - New Defaults.py variable DELIVERY_RETRY_WAIT which controls how long the outgoing qrunner will wait before it retries a tempfailure delivery. - The semantics for the extend.py hook to MailList objects has changed slightly. The hook is now called before attempting to lock and load the database. - Mailman now uses the email package version 2.5.1 - bin/transcheck now checks for double-%'s - bin/genaliases grew a -q / --quiet flag - cron/checkdbs grew a -h / --help option. - The -c / --change-msg option has been removed from bin/add_members - bin/msgfmt.py has been added, taken from Python 2.3's Tools/i18n directory. The various .mo files are now no longer distributed with Mailman. They are generated at build time instead. - A new file misc/sitelist.cfg which can be used with bin/config_list provides a small number of recommended settings for your site list. Be sure to read it over before applying! sitelist.cfg is installed into the data directory. - Many bug fixes, including these SourceForge bugs closed and patches applied: 677668, 690448, 700538, 700537, 673294, 683906, 671294, 522080, 521124, 534297, 699900, 697321, 695526, 703941, 658261, 710678, 707608, 671303, 717096, 694912, 707624, 716755, 661138, 716754, 716702, 667167, 725369, 726415 --=-SBk6nyd+Zn+CGrxoRagB Content-Type: application/pgp-signature; name=signature.asc Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.6 (GNU/Linux) Comment: For info see http://www.gnupg.org iQCVAwUAPqwQBnEjvBPtnXfVAQLeKwP9GYCndpA/P0/ZXlfxRpbjbe5cnC3ZudfP B9u+aY5J9r8UUv5Kuh0p+GWgzipnRWmB2X7AcLrcsxXXPUzlqGpm230WeZIslxJV G2HnNWZ7I7jgEupw8tJsCmbepwvmwSm8rutoxmQfri3KKV6fn950IGT4jOwbEmsT gDLDasyj9zQ= =L47e -----END PGP SIGNATURE----- --=-SBk6nyd+Zn+CGrxoRagB-- From simon.wittber@perth.maptek.com.au Tue Apr 29 06:30:54 2003 From: simon.wittber@perth.maptek.com.au (Simon Wittber) Date: 28 Apr 2003 22:30:54 -0700 Subject: ANN: Jestur 0.2b gesture recognition module Message-ID: Jestur is a simple gesture recognition module for Python. For more information, visit http://sourceforge.net/projects/jestur What's New in 0.2b ================== * I've replaced the cpu consuming neural network code with a faster, dodgier pattern matching algorithm. * User's can easily add their own custom gestures. * Removed the dependency on the pygame event queue. What is Jestur? ================ Jestur is a set of simple classes which provide gesture recognition facilities to Python. It works by capturing consecutive (x,y) co-ordinates, and normalizing them into mouse movement directions, which it then compares to a lookup of gesture patterns using a scoreboard style algorithm. The included testjestur.py uses the pygame library to demonstrate functionality. From theller@python.net Tue Apr 29 18:39:19 2003 From: theller@python.net (Thomas Heller) Date: 29 Apr 2003 19:39:19 +0200 Subject: ctypes 0.6.0 released Message-ID: Overview 'ctypes' is a Python package to create and manipulate C data types in Python, and to call functions in dynamic link libraries/shared dlls. It allows wrapping these libraries in pure Python. It works on Windows, Linux and MacOS X (the latter two require that your machine is supported by libffi). News *ctypes version 0.6.0 has been released*, and the documentation has been updated. There have been some (also incompatible) changes, but I'm quite pleased with the result: ctypes is much more consistent than before. COM A proof-of-concept COM framework has been implemented, and added to the package. It is in an early stage, although usable, and I would like experienced COM developers to look at it, and submit feedback. Homepage http://starship.python.net/crew/theller/ctypes.html Thomas From stuff@mailzilla.net Tue Apr 29 19:38:47 2003 From: stuff@mailzilla.net (Phil) Date: 29 Apr 2003 11:38:47 -0700 Subject: Kodos 1.2 - Python regular expression visual debugging tool Message-ID: Kodos 1.2 has been released and is available at: http://kodos.sourceforge.net Kodos is a regular expression designer, tester, debugger and validator that allows a developer to create and modify regular expressions against a test string. The intuitive grahpical interface allows the developer the ability to modify the regular expression (regex) and to see the effects against their test string in real-time. Key Features: - Matches can be easily viewed and each match can be seen distinctly - Regex groups and named groups are clearly displayed - Sample source code is shown so even python developers new to regular expressions can quickly add the produced regular expressions to their own projects. - Ability to load and save your test cases - Kodos relies on PyQt for the GUI elements. Changes since 1.1: * File menu now contains recently accessed kodos files (.kds) * Preferences allows you to edit control the number of recent files that appear * regex reference guide has been expanded to include more entries * Preferences are migrated from .kodos to .kodos/prefs * New settings file .kodos/recent_files added * Bug fix for Windows (Kodos mysteriously exited on startup) * Added preference for processing timeout. * Other minor fixes, cleanup, etc... http://kodos.sourceforge.net From klausmuller@hotmail.com Wed Apr 30 14:02:24 2003 From: klausmuller@hotmail.com (Klaus Muller) Date: Wed, 30 Apr 2003 15:02:24 +0200 Subject: ANN: SimPy 1.2 released (Simulation in Python package) Message-ID: We have just released the production version 1.2 of the SimPy simulation package. It is available for download from the SimPy home page at http://simpy.sourceforge.net. Version 1.2 is faster, more capable (e.g. asynchronous interrupts), has better documentation and errror messages, and comes with more simulation models. SimPy is a discrete event, object-oriented, system simulation package for Python 2.2 and later (fully tested with Python 2.3a1). It uses generators which support efficient implementation of coroutines. It allows easy interfacing to GUIs and graphing packages for analysis. A manual, a tutorial, a simple cheatsheet, browsable sourcecode documentation and many examples are included in the download. SimPy is platform-independent. Enjoy! The SimPy Developers Team _________________________________________ Klaus G. Müller ICQ#: 193970758 _________________________________________ From info@pythonware.com Wed Apr 30 14:05:29 2003 From: info@pythonware.com (PythonWare) Date: Wed, 30 Apr 2003 15:05:29 +0200 Subject: ANN: Python Imaging Library 1.1.4 beta 1 Message-ID: PIL 1.1.4 beta 1 is now available from: http://effbot.org/downloads The distribution is available in source form (look for Imaging tarballs), and as prebuilt installers for Python 2.1, 2.2 and 2.3 (beta 1) on Windows. A list of changes can be found here (also below): http://effbot.org/zone/pil-changes-114.htm ...and a draft handbook can be found here: http://effbot.org/books/imagingbook/ (the main release will be available from www.pythonware.com, as usual) enjoy, the pil team at secret labs ab "Secret Labs AB -- makers of fine pythonware since 1997" *** Changes from release 1.1.3 to 1.1.4 *** (1.1.4 beta 1 released) + Added experimental EXIF support for JPEG files. To extract EXIF information from a JPEG file, open the file as usual, and call the "_getexif" method. If successful, this method returns a dictionary mapping EXIF TIFF tags to values. If the file does not contain EXIF data, the "_getexif" method returns None. The "ExifTags" module contains a dictionary mapping tags to tag names. The "_getexit" interface will most likely change in future versions. + Fixed a bug when using the "transparency" option with the GIF writer. + Added limited support for "bitfield compression" in BMP files and DIB buffers, for 15-bit, 16-bit, and 32-bit images. This also fixes a problem with ImageGrab module when copying screen- dumps from the clipboard on 15/16/32-bit displays. + Added experimental WAL (Quake 2 textures) loader. To use this loader, import WalImageFile and call the "open" method in that module. (1.1.4a4 released) + Added updated SANE driver (Andrew Kuchling, Abel Deuring) + Use Python's "mmap" module on non-Windows platforms to read some uncompressed formats using memory mapping. Also added a "frombuffer" method that allows you to access the contents of an existing string or buffer object as if it were an image object. + Fixed a memory leak that could appear when processing mode "P" images (from Pier Paolo Glave) + Ignore Unicode characters in the BDF loader (from Graham Dumpleton) (1.1.4a3 released; windows only) + Added experimental RGBA-on-RGB drawing support. To use RGBA colours on an RGB image, pass "RGBA" as the second string to the ImageDraw.Draw constructor. + Added support for non-ASCII strings (Latin-1) and Unicode to the truetype font renderer. + The ImageWin "Dib" object can now be constructed directly from an image object. + The ImageWin module now allows you use window handles as well as device contexts. To use a window handle, wrap the handle in an ImageWin.HWND object, and pass in this object instead of the device context. (1.1.4a2 released) + Improved support for 16-bit unsigned integer images (mode "I;16"). This includes TIFF reader support, and support for "getextrema" and "point" (from Klamer Shutte). + Made the BdfFontFile reader a bit more robust (from Kevin Cazabon and Dmitry Vasiliev) + Changed TIFF writer to always write Compression tag, even when using the default compression (from Greg Couch). + Added "show" support for Mac OS X (from Dan Wolfe). + Added clipboard support to the "ImageGrab" module (Windows only). The "grabclipboard" function returns an Image object, a list of filenames (not in 1.1.4), or None if neither was found. (1.1.4a1 released) + Improved support for drawing RGB data in palette images. You can now use RGB tuples or colour names (see below) when drawing in a mode "P" image. The drawing layer automatically assigns color indexes, as long as you don't use more than 256 unique colours. + Moved self test from MiniTest/test.py to ./selftest.py. + Added support for CSS3-style color strings to most places that accept colour codes/tuples. This includes the "ImageDraw" module, the Image "new" function, and the Image "paste" method. Colour strings can use one of the following formats: "#f00", "#ff0000", "rgb(255,0,0)", "rgb(100%,0%,0%)", "hsl(0, 100%, 50%)", or "red" (most X11-style colour names are supported). See the documentation for the "ImageColor" module for more information. + Fixed DCX decoder (based on input from Larry Bates) + Added "IptcImagePlugin.getiptcinfo" helper to extract IPTC/NAA newsphoto properties from JPEG, TIFF, or IPTC files. + Support for TrueType/OpenType fonts has been added to the standard distribution. You need the freetype 2.0 library. + Made the PCX reader a bit more robust when reading 2-bit and 4-bit PCX images with odd image sizes. + Added "Kernel" class to the ImageFilter module. This class allows you to filter images with user-defined 3x3 and 5x5 convolution kernels. + Added "putdata" support for mode "I", "F" and "RGB". + The GIF writer now supports the transparency option (from Denis Benoit). + A HTML version of the module documentation is now shipped with the source code distribution. You'll find the files in the Doc subdirectory. + Added support for Palm pixmaps (from Bill Janssen). This change was listed for 1.1.3, but the "PalmImagePlugin" driver didn't make it into the distribution. + Improved decoder error messages. -end- From henk@entree.nl Wed Apr 30 15:04:14 2003 From: henk@entree.nl (Henk Punt) Date: 30 Apr 2003 07:04:14 -0700 Subject: Venster 0.1 Windows GUI toolkit Message-ID: Venster is a highly native Windows GUI toolkit for Python based on the ctypes ffi library. The aim of Venster is to be a very lightweight wrapper around the standard Win32 API, making it easy to write slick windows applications in pure Python. Venster is an open source library and is hosted at Sourceforge. Please note that Venster is currently very alpha, and it is provided to get feedback from the Windows and Python developer communities. Venster can be found at: http://venster.sourceforge.net From jjl@pobox.com Wed Apr 30 16:30:26 2003 From: jjl@pobox.com (John J. Lee) Date: 30 Apr 2003 16:30:26 +0100 Subject: ANN: ClientCookie 0.3.4b Message-ID: http://wwwsearch.sourceforge.net/ClientCookie/ Changes since 0.3.1b: * MSIECookies now works. Thanks to Eric Woudenberg for a patch and Johnny Lee (no relation) for some help. * Small change to bugfixed HTTPRedirectHandler: 301 from a POST is now allowed, and redirected as a GET (see Python SF bug #549151). * Minor documentation fixes. * All tests now use unittest. * Fixed 1.5.2-compatibility bugs (revealed by existing tests -- seem to have been missed with old testing system for some unknown reason). Requires Python >= 1.5.2. urllib2 is recommended. 1.5.2-compatible urllib2 / urllib is at http://wwwsearch.sourceforge.net/ ClientCookie is a Python module for handling HTTP cookies on the client side, useful for accessing web sites that require cookies to be set and then returned later. It also provides some other (optional) useful stuff: HTTP-EQUIV handling, zero-time Refresh handling, and lazily-seekable responses. It has developed from a port of Gisle Aas' Perl module HTTP::Cookies, from the libwww-perl library. import ClientCookie response = ClientCookie.urlopen("http://foo.bar.com/") This function behaves identically to urllib2.urlopen, except that it deals with cookies automatically. That's probably all you need to know. John From henrik.ekelund@vpd.se Wed Apr 30 17:35:35 2003 From: henrik.ekelund@vpd.se (Henrik Ekelund) Date: Wed, 30 Apr 2003 18:35:35 +0200 Subject: ANN: adodbapi 2.0 Message-ID: NAME: adodbapi - A python DB API 2.0 interface to Microsoft ADO DESCRIPTION: A 100% Python-DB API 2.0 compliant module that makes it easy to use Microsoft ADO for connecting with databases and other data sources. Includes pyunit testcases. WHATS NEW: 1. Improved performance through GetRows method. 2. Flexible date conversions. Supports eGenix mxExtensions, python time module and python 2.3 datetime module. 3. More exact mappings of numeric datatypes. 4. User defined conversions of datatypes through "plug-ins". 5. Improved testcases, not dependent on Northwind data. 6. Works with Microsoft Access currency datatype. 7. Improved DB-API 2.0 compliance. 8. rowcount property works on statements Not returning records. 9. "Optional" error handling extension, see DB-API 2.0 specification. 10. Two maling lists have been created, one for users and one for developers. PLATFORM: Windows only HOMEPAGE: LICENSE: Lesser GPL (fine for most commercial vendors) Henrik Ekelund ********************************************************************** This email message has been swept by MIMEsweeper for the presence of computer viruses. www.mimesweeper.com ********************************************************************** From fmc@inf.ufg.br Wed Apr 30 22:19:10 2003 From: fmc@inf.ufg.br (Fabio M. Costa) Date: Wed, 30 Apr 2003 18:19:10 -0300 (Hora oficial do Brasil) Subject: Middleware2003 : 16-20 June : Call for Participation Message-ID: CALL FOR PARTICIPATION ACM/IFIP/USENIX INTERNATIONAL MIDDLEWARE CONFERENCE Rio de Janeiro, Brazil, 16-20 June 2003 http://middleware2003.inf.puc-rio.br Come to Rio to participate in the premier event on Middleware research and technology in 2003. Researchers, industrialists, and experts from all over the world will get together to present and discuss the recent advancements in Distributed Object Systems, Internet Technologies, and Middleware Platforms. Following the success of past conferences in this series (Lake District/UK, 1998, Palisades/NY, 2000, and Heidelberg/Germany, 2001), Middleware'2003 will host a very strong technical papers track featuring state of the art research in the field, as well as high-quality advanced workshops and a number of tutorials by technology experts. The conference will also include work-in-progress and posters sessions as well as social events. The location, Rio de Janeiro, is known as one of South Americas most outstanding areas of natural and historical beauty. REGISTRATION ============ Register online until May 15th and receive an early registration discount. For registration information, please visit http://middleware2003.inf.puc-rio.br/registration.htm TECHNICAL SESSIONS ================== A very strong technical papers track will feature state of the art research in the field (http://middleware2003.inf.puc-rio.br/programstruct.htm). Work-in-progress and Posters sessions will show promising ongoing work and experience reports. TUTORIALS ========= High quality tutorials by industry and university experts http://middleware2003.inf.puc-rio.br/tutorials.htm 1) J2EE vs. .NET Michael Stal Siemens AG, Corporate Technology, Munich, Germany 2) Peer-to-Peer Technologies Vana Kalogeraki University of California, Riverside, California, USA 3) Realization of Distributed Applications using MDA and the CORBA Component Model Marc Born and Tom Ritter Fraunhofer FOKUS, Berlin, Germany Phillipe Merle Unversity of Lille, Villeneuve d'Ascq, France 4) Object-Oriented Middleware and Components for the Grid Denis Caromel University of Nice Sophia Antipolois, France Christian Perez INRIA, France 5) Advanced Publish/Subscribe Services Alexander L. Wolf and Antonio Carzaniga University of Colorado, Boulder, Colorado, USA 6) Network and Web Services Security Concepts Using Java Raghavan N. Srinivas Sun Microsystems Inc., USA WORKSHOPS ========= 1) Middleware for Pervasive and Ad-Hoc Computing http://www.smartlab.cis.strath.ac.uk/MPAC/ 2) Reflective and Adaptive Middleware Systems http://tao.doc.wustl.edu/~corsaro/RM2003/ 3) Middleware for Grid Computing http://virtual01.lncc.br/mgc2003 4) Model-driven Approaches to Middleware Applications Development (MAMAD) http://www.dstc.edu.au/mamad-2003/ ORGANIZATION ============ General Chair: Carlos J.P. Lucena (PUC-Rio, Brazil) Program co-Chairs: Douglas Schmidt (Vanderbilt University, USA) Markus Endler (PUC-Rio, Brazil) Local Arrangements co-Chairs: Alexandre Sztajnberg (UERJ, Brazil) Renato Cerqueira (PUC-Rio, Brazil) WiP and Posters Chair: Guruduth S. Banavar (IBM T.J. Watson, USA) Advanced Workshops Chair: Gordon Blair (Lancaster University, UK) Tutorials Chair: Frank Buschmann (Siemens AG, Germany) Publicity co-Chairs: Fabio Costa (UFG, Brazil) Fabio Kon (IME-USP, Brazil) FOR MORE INFORMATION ==================== For further information, please visit the conference home page: http://middleware2003.inf.puc-rio.br If you have any question contact the local arrangements chairs, Alexandre Sztajnberg (alexszt@uerj.br) or Renato Cerqueira (rcerq@inf.puc-rio.br). Middleware'2003 is partially sponsored by Sony and IBM. We hope to see you in Rio in June! From mgencer@acikkanal.net Tue Apr 29 13:04:39 2003 From: mgencer@acikkanal.net (Mehmet Gencer) Date: Tue, 29 Apr 2003 08:04:39 -0400 (EDT) Subject: [Module] isosdns/0.6a Message-ID: isosdns/0.6a ------------ A purely Python DNS resolver An experimental module for resolving domain name(DN) and mail exchanger (MX) records from DNS servers. This module is modified from ISOS server package. URL: http://isos.acikkanal.net/ Download: http://isos.acikkanal.net/isosdns.py License: GPL Categories: Networking Mehmet Gencer (mgencer@acikkanal.net) http://www.acikkanal.net/yazilim/ -- isosdns/0.6a -- A purely Python DNS resolver