From akuchlin@mems-exchange.org Fri Sep 1 05:07:31 2000 From: akuchlin@mems-exchange.org (A.M. Kuchling) Date: Fri, 01 Sep 2000 00:07:31 -0400 Subject: Experimental ZODB packages Message-ID: I've packaged the ZODB using the Distutils. There are 3 packages, containing the ZODB itself, ExtensionClass, and a few miscellaneous Python modules that are required. Installation instructions are at http://starship.python.net/crew/amk/zodb/install.html The packages themselves are available through FTP from: ftp://starship.python.net/pub/crew/amk/zodb/ This repackaging is aimed at people who want to use the ZODB in their own programs without using other Zope features; it will save the effort of figuring out which bits of Zope need to get installed. The packaging is still experimental, so please inform me if you run into problems during the installation process. Future plans are to merge the 3 packages into a single package, and also package ZEO. --amk From doughellmann@bigfoot.com Sun Sep 3 21:52:51 2000 From: doughellmann@bigfoot.com (Doug Hellmann) Date: Sun, 3 Sep 2000 16:52:51 -0400 Subject: ANN: HappyDoc 0.6 Message-ID: <00090316533302.20712@branagan> Announcing HappyDoc, a Python documentation extraction tool. HappyDoc is a tool for extracting documentation from Python source code. It differs from other such applications by the fact that it uses the parse tree for a module to derive the information used in its output, rather that importing the module directly. This allows the user to generate documentation for modules which need special context to be imported. Version 0.6 Version 0.6 is the first public release. It is described completely on the home page (see just below). It isn't ready for a 1.0 release number yet because I want to add a few more core features before getting to that point. It is stable, however, and is somewhere between a beta and full-release level. Download Download the latest version of HappyDoc from the home page on SourceForge: http://sourceforge.net/projects/happydoc Doc-string Format How does an author write documentation so that it will be marked up and look fancy? This is a perennial question for Python, and seems to have introduced a roadblock into the development of more robust and useful documentation tools. By separating the formatter classes from the docset classes, HappyDoc allows a user to create their own formatter to interpret comments in any way they see fit. The default for the HTMLTableFormatter (the default formatter for HappyDoc) is to treat __doc__ strings as StructuredText. Don't like StructuredText? Write your own formatter that does something different and drop it into place. Documentation not in Doc-strings It is not always desirable to put all documentation in __doc__ strings. Sometime, notably when working with Zope, special meaning is attached to the presence of __doc__ strings. For this reason, and to support existing code which might not have __doc__ strings, HappyDoc will find and extract documentation in Python comments. Comment documentation can contain all of the same formatting as __doc__ strings. The preceding comment marker will be stripped off and the lines will be assembled and treated as a block of StructuredText. To use this feature, it is important to place the comments **before** the named object which they describe. In this example: # # Class documentation goes here # class ClassWithNoDocStrings: "Using __doc__ strings overrides comment documentation." def method1(self, params): "This method uses a __doc__ string." pass # # Method2 does not use a __doc__ string. # def method2(self): pass The output would include the __doc__ strings for the class and for method1. It would also make it appear that method2 had a __doc__ string with the contents "Method2 does not use a __doc__ string." Feedback on HappyDoc is welcome to doughellmann@bigfoot.com. Doug Hellmann From claird@neosoft.com Wed Sep 6 04:17:43 2000 From: claird@neosoft.com (Grant Edwards) Date: 5 Sep 2000 22:17:43 -0500 Subject: Dr. Dobb's Python-URL! - weekly Python news and links (Sep 5) Message-ID: <8p4d0n$3ai$1@starbase.neosoft.com> Guido van Rossum posts a link to the 2.0 license. http://deja.com/=dnc/getdoc.xp?AN=663641053 John Aycock turns over decompyle to Artmut Göbel. http://deja.com/=dnc/getdoc.xp?AN=663757100 Michael Haggerty announces version 0.6 of PyWX: a Python module for AOLserver. http://deja.com/=dnc/getdoc.xp?AN=664200397 Alex Martelli explains the Pythonic way to know you've reached EOF. http://deja.com/=dnc/getdoc.xp?AN=664673282 Travis Oliphant announces version 0.3 of optimize.py: a module that impliments various optimization algorithms. http://deja.com/=dnc/getdoc.xp?AN=664872326 ======================================================================== Everything you want is probably one or two clicks away in these pages: Python.org's Python Language Website is the center of Pythonia http://www.python.org PythonWare complements this digest with the daily python url http://www.pythonware.com/daily Much of Python's real work takes place on Special-Interest Group mailing lists http://www.python.org/sigs/ Python Consortium emerges as an independent nexus of activity http://www.python.org/consortium The Vaults of Parnassus ambitiously collects Python resources http://www.vex.net/~x/parnassus/ Cetus does much of the same http://www.cetus-links.de/oo_python.html Python FAQTS http://python.faqts.com/ Python To-Do List anticipates some of Python's future direction http://www.python.org/cgi-bin/todo.py Python Journal is at work on its second issue http://www.pythonjournal.com Links2Go is a new semi-automated link collection; it's impressive what AI can generate http://www.links2go.com/search?search=python comp.lang.python.announce announces new Python software http://deja.com/group/comp.lang.python.announce Archive probing trick of the trade: http://www.dejanews.com/dnquery.xp?QRY=&DBS=2&ST=PS&defaultOp=AND&LNG=ALL&format=threaded&showsort=date&maxhits=100&groups=comp.lang.python Previous - (U)se the (R)esource, (L)uke! - messages are listed here: http://purl.org/thecliff/python/url.html or http://www.dejanews.com/dnquery.xp?QRY=~g%20comp.lang.python%20Python-URL%21 Suggestions/corrections for next week's posting are always welcome. [http://www.egroups.com/list/python-url-leads/ is hibernating. Just e-mail us ideas directly.] To receive a new issue of this posting in e-mail each Monday morning, ask to subscribe. Mention "Python-URL!". -- The Python-URL! Team-- Dr. Dobb's Journal (http://www.ddj.com) is pleased to participate in and sponsor the "Python-URL!" project. -- Cameron Laird Business: http://www.Phaseit.net Personal: http://starbase.neosoft.com/~claird/home.html From mindlace@digicool.com Wed Sep 6 18:02:55 2000 From: mindlace@digicool.com (ethan mindlace fremen) Date: Wed, 06 Sep 2000 13:02:55 -0400 Subject: September 6th Zope Weekly News Message-ID: <39B678BF.75400558@digicool.com> Merely 4 hours past the deadline, the Zope Weekly News lands with a heaping helping of goodies: Rapid Zope Book evolution, lots of fish in the bowl, Zope skin, PTK proliferation, and Zope.org replication. The opinions expressed in Zope Weekly news are solely the authors', and not the opinions of Digital Creations, The Zope Community at-large, or the Spanish Inquisition. You can always get to the most recent Zope Weekly News with "one convenient URL", http://www.zope.org/Documentation/ZWN/current And Now For Something Completely Different: --- Documentation -- by Michel Pelletier This week (a shorty due to Labor day) Amos and I are polishing up spelling, added image and figure semantics to structured text (and extended the HTML and SGML generators to spit them out, yum!). Normalized all the font and style conventions, and started on chapter 1 screenshots. Yeah! I fleshed out a lot of Chapter 9 (Cataloging) also. As always, you can "see the latest and greatest version", http://www.zope.org/Members/michel/ZB/ --- Zope Status -- by Brian Lloyd Summary Zope 2.2.1 release, progress on dev.zope.org projects Recent highlights ZWN has been spotty lately so to recap, Zope 2.2.1 was released August 25th. Lots and lots of bugs were fixed for 2.2.1, and it seems to have covered the issues that were keeping people from moving to 2.2. There have been two reported problems with custom ZClasses after updating to 2.2.1, but we have not been able to reproduce them and they do not seem to be a general problem. There has been a fair amount of activity on dev.zope.org, with a number of new proposals for things such as session tracking and a unit testing support framework. Chris McDonough gets the prolific-proposal-writer-of-the-week award :) The new security assertion proposal has been made into an active project, and the first draft of the first deliverable (the Zope developer's guide to product security) is "available for review and feedback", http://dev.zope.org/Wikis/DevSite/Projects/DeclarativeSecurity/ZopeSecurityForDevelopers There are also a number of proposal where discussion seems to have petered out - we'll need to start looking at these over time and decide how to either get champions to refine them and move them forward or put them in some sort of proposal archive. In other news, FourThought continues to work on the new XMLDocument and will shortly be starting on the XSL Templates project. This week This week we will be starting to firm up a todo list for the next Zope feature release and trying to get the declarative security "user manual" finalized - after that we'll begin implementing the new assertion style for the next feature release. --- Zope Studio -- by Martijn Pieters Zope Studio Due to other project work, no news this week Skinnable And Localizable Objects After two weeks of holidaying in Scotland, I am back at the keys. Week of 13-08 - Architecture finalised. - Implemented all core objects and code. - Made practically all of Zope Skinnable This Week - Add some code to make skinned files in Zope Core more backward compatible. - Clean up last few objects with recalcitrant, inline DTML, and make then Skinnable. - Split out all strings to make Zope fully translatable. --- State of the PTK, 2000/09/04 In the weeks since our last report, the PTK community has been quite busy: * Shane Hathaway landed the proposed "next-generation architecture", http://www.zope.org/Products/PTK/ZWiki/NewPTKArchitecture, refactoring the "toolkit" as a set of "portal tools", each providing services to other objects in the portal. The tools include: 'portal_membership' -- tracks personalization and owned content, tying them (much more loosely) to the AUTHENTICATED_USER. 'portal_registration' -- implements portal-specific policies for user signup, password generation/mailng, etc. 'portal_workflow' -- encapsulates the workflow policies of the portal 'portal_catalog' -- indexes portal content 'portal_discussions' -- implements portal policies for types of content which are "discussable", and how they are linked to their discussion threads. 'portal_actions' -- list context-specific actions for portal objects. 'portal_undo' -- provide a portal-friendly interface to Zope's undo machinery. Each of these tools is represented as an interface in the 'PTKBase' product, with a sample implementation (typically preserving the "old" policies/semantics) in the 'PTKDemo' or 'DemoPortal' products. The single most attractive feature of the design is that portal managers can replace these tools on a *per-portal basis*. * Fabio Forno provided invaluable aid in debugging the new tools. * One noticeable result of the new architecture is the "renaming of the toolbox", http://lists.zope.org/pipermail/zope-ptk/2000-August/001341.html to the "actions list", in order to avoid confusion with the "portal tools." * Bill Anderson "released a new version", http://www.zope.org/Members/Bill/News/MembershipRelease-075 of the Membership product, upgrading it to "beta" status. This product uses ZPatterns to manage member registration and logins, and is on a trajectory for eventual reintegration with the new PTK Architecture. * Chris Withers announced "Swishdot", http://www.squishdot.org/968089230/index_html, a successor to the popular Squishdot weblog product, to be built around the PTK. * Tres Seaver "proposed", http://lists.zope.org/pipermail/zope-ptk/2000-August/001430.html revamping the implementation of the Dublin Core metadata within the PTK, in order to bring it closer into line with the intent of the "spec":http://purl.org/DC. * A "long thread", http://lists.zope.org/pipermail/zope-ptk/2000-August/001461.html on "hooking" various portal actions resulted in a "proposal", http://lists.zope.org/pipermail/zope-ptk/2000-August/001493.html to create an "event channel" object, 'portal_events', as another tool. PTK Tracker Vitals, 2000/09/04 (since 2000/07/25) Here is is the current state of the tracker:: Type / Status New Closed Current Bug Reports 5 3 26 Feature/Doc Requests 0 0 14 --- Zope Web -- by Ethan Fremen ZEO Bakes in Zope.org Oven ZEO is being cooked with Zope.org. This has unfortunately endengered some downtime, as ZEO bugs step out from hiding. The bonus is that Zope.org should be much more stable when this is done, and ZEO users get the benifit of a ZEO that's been put through it's paces. The Caching Machine Zope.org now has its images and files cached by Apache and any downstream cache that cares to do so. This should result in a much faster apparent speed for Zope.org, though we can expect that raw hit-count (as measured by Apache) may decline. Stay tuned for the How-To. Go Forth and Multiply Zope.org is going to be getting a new ZEO client on a geographically remote machine. Once this is tested and solid, Zope.org mirroring will expand to several clients in strategic spots throughout the globe. Watch this space for more details. Distributed Decision Making As a necessary precursor stage for a more active involvement of the community, messages to webmaster@zope.org and issues posted in the "zope.org Tracker", http://www.zope.org/Tracker will be sent to the zope web mailing list. Hope to see you there! -EOT- From guido@beopen.com Thu Sep 7 23:22:57 2000 From: guido@beopen.com (Guido van Rossum) Date: Thu, 07 Sep 2000 17:22:57 -0500 Subject: Python 2.0b1 is released! Message-ID: <200009072222.RAA10699@cj20424-a.reston1.va.home.com> [Resending to debug the moderation setup] A unique event in all the history of Python: two releases on the same day! (At least in my timezone. :-) Python 2.0b1 is released. The BeOpen PythonLabs and our cast of SourceForge volunteers have been working on this version on which since May. Please go here to pick it up: http://www.pythonlabs.com/tech/python2.0/ There's a tarball and a Windows installer, online documentation (with a new color scheme :-), RPMs, and a long list of new features. OK, a teaser: - Augmented assignment, e.g. x += 1 - List comprehensions, e.g. [x**2 for x in range(10)] - Extended import statement, e.g. import Module as Name - Extended print statement, e.g. print >> file, "Hello" - Optional collection of cyclical garbage There's one bit of sad news: according to Richard Stallman, this version is no more compatible with the GPL than version 1.6 that was released this morning by CNRI, because of a technicality concerning the choice of law provision in the CNRI license. Because 2.0b1 has to be considered a derivative work of 1.6, this technicality in the CNRI license applies to 2.0 too (and to any other derivative works of 1.6). CNRI is still trying to work this out with Stallman, so I hope that we will be able to release future versions of Python under a GPL-compatible license. There's Only One Way To Do It. --Guido van Rossum (home page: http://www.pythonlabs.com/~guido/) From jpe@archaeopteryx.com Thu Sep 7 23:01:17 2000 From: jpe@archaeopteryx.com (John Ehresman) Date: Thu, 07 Sep 2000 18:01:17 -0400 Subject: [Announce] Linux Wing IDE for Python beta release Message-ID: <39B8102D.E71AF8A5@archaeopteryx.com> I'm happy to announce beta release of Wing IDE, a commercial integrated development environment for Python. The beta release runs on Linux and requires a Python 1.5.2 interpreter; A Windows 9*/NT/2K version and support for the 2.0 interpreter will be available subsequently. Wing IDE may be obtained, along with a free 30-day evaluation license, from www.wingide.com. Features include: * Graphical debugger with the ability to debug remote processes, such as web CGIs. The core of the debugger is implemented in C, making it much faster than the standard pdb module. * Powerful source code editor, including syntax highlighting, auto-completion, auto-indentation, source structure menu, multi-part key bindings, keyboard/command macros, and an emacs personality. * Module- and class-oriented code browsing based on continually updated analysis of source code. A single user license for Wing IDE costs $99 US. At our discretion, we offer discounts for students, volume purchases, and non-commercial open source developers. We hope you'll take a test flight today, and look forward to your feedback on how Wing IDE can be improved! Thanks, John Ehresman ------------------------------------------------------------------------ Archaeopteryx Software, Inc. Wing IDE for Python www.archaeopteryx.com Take Flight! From Jerome.Alet@unice.fr Fri Sep 8 14:36:32 2000 From: Jerome.Alet@unice.fr (Jerome Alet) Date: Fri, 08 Sep 2000 15:36:32 +0200 Subject: ANN: ScanErrLog 1.4 Message-ID: <39B8EB60.36C0B254@unice.fr> I'm very pleased to announce ScanErrLog 1.4 ScanErrLog is a python module which extracts error messages from Apache error_log files and present them in decreasing order of number of occurences, with lots of options. This is especially useful if you're interested in knowing the error messages which annoy the most your website's visitors. You can use it either as a standalone program or import it into another python program, or use it as a CGI script. You can produce reports in HTML, XML, PDF or plain TEXT format You can: - view sample reports - test it online with real data - download it from: http://cortex.unice.fr/~jerome/scanerrlog/ The 1.4 release includes important bug fixes. Any feedback is very welcome. PS: PDF support needs you to install the Excellent ReportLab (http://www.reportlab.com) -- Jerome ALET - alet@unice.fr - http://cortex.unice.fr/~jerome From doughellmann@bigfoot.com Sun Sep 10 15:04:01 2000 From: doughellmann@bigfoot.com (Doug Hellmann) Date: Sun, 10 Sep 2000 10:04:01 -0400 Subject: ANN: HappyDoc 0.7.1 Message-ID: <00091010045400.02505@branagan> Announcing HappyDoc, a Python documentation extraction tool. HappyDoc is a tool for extracting documentation from Python source code. It differs from other such applications by the fact that it uses the parse tree for a module to derive the information used in its output, rather that importing the module directly. This allows the user to generate documentation for modules which need special context to be imported. Version 0.7.1 Version 0.7.1 contains several fixes for reported bugs. Special thanks to Jesper Hertel and many others for reporting them so quickly and clearly. With this update, I have also updated the Zope source documentation files on Zope.org at http://www.zope.org/Members/hellmann/ZopeSrcDocs. Download Download the latest version of HappyDoc from the home page on SourceForge: http://sourceforge.net/projects/happydoc Doc-string Format How does an author write documentation so that it will be marked up and look fancy? This is a perennial question for Python, and seems to have introduced a roadblock into the development of more robust and useful documentation tools. By separating the formatter classes from the docset classes, HappyDoc allows a user to create their own formatter to interpret comments in any way they see fit. The default for the HTMLTableFormatter (the default formatter for HappyDoc) is to treat __doc__ strings as StructuredText. Don't like StructuredText? Write your own formatter that does something different and drop it into place. Documentation not in Doc-strings It is not always desirable to put all documentation in __doc__ strings. Sometime, notably when working with Zope, special meaning is attached to the presence of __doc__ strings. For this reason, and to support existing code which might not have __doc__ strings, HappyDoc will find and extract documentation in Python comments. Comment documentation can contain all of the same formatting as __doc__ strings. The preceding comment marker will be stripped off and the lines will be assembled and treated as a block of StructuredText. To use this feature, it is important to place the comments **before** the named object which they describe. In this example: # # Class documentation goes here # class ClassWithNoDocStrings: "Using __doc__ strings overrides comment documentation." def method1(self, params): "This method uses a __doc__ string." pass # # Method2 does not use a __doc__ string. # def method2(self): pass The output would include the __doc__ strings for the class and for method1. It would also make it appear that method2 had a __doc__ string with the contents "Method2 does not use a __doc__ string." From jack@oratrix.nl Mon Sep 11 23:35:11 2000 From: jack@oratrix.nl (Jack Jansen) Date: Tue, 12 Sep 2000 00:35:11 +0200 Subject: MacPython 2.0b1 released Message-ID: <20000911223516.67BCBD7207@oratrix.oratrix.nl> MacPython 2.0beta1 has been released. You can download it through the MacPython homepage, http://www.cwi.nl/~jack/macpython.html . Aside from all the goodies that are not mac-specific there's quite a bit of new mac-only stuff too. Here's the release notes: Changes in 2.0b1 since 1.5.2 ---------------------------- These release notes refer to Mac-specific changes only. See NEWS (in the Misc folder) for machine-independent changes. Unfortunately I have messed my administration up, so I can't give complete Mac-specific release notes for the changes in this release. So, I will have to leave it at the highlights: - 68K support has been dropped, this release is PPC only. - Threads support (through standard Python threads module). - Tkinter works again! At least: it doesn't immedeately crash in obvious ways. - Appearance support through App module and added calls in many other modules. Most dialogs and applets have also been converted to Appearance. There's also a ControlAccessor module that handles [GS]etControlData with their plethora of argument types. - Navigation Services support, with macfs StandardFile calls transparently replaced by their NavServices counterparts. - Offscreen QuickDraw and GWorld support through Qdoffs module. - Drag manager support (Drag module). - Much better CGI support and examples, see :Mac:Tools:CGI. - Better OSA/AppleEvent support. - Up/downcasting of handle-based types is now unified and implemented in the inherting module, e.g. handleobj = ctlobj.as_Resource() ctlobj = Ctl.as_Control(handle) - Added macos.FreeMem(), MaxBlock() and CompactMem(), mainly so apps in Python can give low-memory warnings. - MediaDescr module parses some QuickTime media descriptions (but definitely not all). What is not in this distribution -------------------------------- - The garbage collection mods to 2.0 have not been enabled, mainly due to lack of test-time. - Stackless Python/microthreads are not in here. Ask on the pythonmac-SIG if you want them. - Carbon support is not in here, but should be happening as soon as GUSI is ready. - Distutils is not in here, again due to lack of time. Known problems -------------- This list is far from complete, more problems may be listed on the MacPython homepage, http://www.cwi.nl/~jack/macpython.html. - The IDE and Tkinter do not work together. Run tkinter programs under PythonInterpreter. - Aliases do not work in sys.path entries. -- Jack Jansen | ++++ stop the execution of Mumia Abu-Jamal ++++ Jack.Jansen@oratrix.com | ++++ if you agree copy these lines to your sig ++++ www.oratrix.nl/~jack | ++++ see http://www.xs4all.nl/~tank/ ++++ From grante@visi.com Tue Sep 12 16:03:17 2000 From: grante@visi.com (Grant Edwards) Date: 12 Sep 2000 10:03:17 -0500 Subject: Dr. Dobb's Python-URL! - weekly Python news and links (Sep 12) Message-ID: <8plgjl$1nmu$1@starbase.neosoft.com> Guido van Rossum invites comments on Python 2.0 license mailing list. http://deja.com/=dnc/getdoc.xp?AN=663641053 Riaan Booysen announces Boa Constructor 0.0.4 - GUI building IDE for wxPython http://deja.com/=dnc/getdoc.xp?AN=666077214 Guido van Rossum announces final release of Python 1.6. http://deja.com/=dnc/getdoc.xp?AN=666084704 Oleg Broytmann's utilities and plugins for manipulating Netscape's bookmarks.html file. http://deja.com/=dnc/getdoc.xp?AN=666340844 Sindh announces formation of WxPython Forum. http://deja.com/=dnc/getdoc.xp?AN=666732731 Oleg Broytmann on extracting MIME attachments from e-mail. http://deja.com/=dnc/getdoc.xp?AN=666771328 Neil Hodgson posts a few hints on using Unicode. http://deja.com/=dnc/getdoc.xp?AN=666779677 Alex Martelli with more comments on Unicode. http://deja.com/=dnc/getdoc.xp?AN=666793245 Ian Maurer on using stored procedures via ADO. http://deja.com/=dnc/getdoc.xp?AN=666992606 Bryn Keller nicely illustrates lazy evaluation http://deja.com/[ST_rn=ps]/getdoc.xp?AN=667667343 and Tim Peters contributes several pertinent pointers http://deja.com/[ST_rn=ps]/getdoc.xp?AN=667704558 Alex Martelli collects references to lint-like heuristic syntax automations http://deja.com/[ST_rn=ps]/getdoc.xp?AN=668254351 ======================================================================== Everything you want is probably one or two clicks away in these pages: Python.org's Python Language Website is the center of Pythonia http://www.python.org PythonWare complements this digest with the daily python url http://www.pythonware.com/daily Much of Python's real work takes place on Special-Interest Group mailing lists http://www.python.org/sigs/ Python Consortium emerges as an independent nexus of activity http://www.python.org/consortium The Vaults of Parnassus ambitiously collects Python resources http://www.vex.net/~x/parnassus/ Cetus does much of the same http://www.cetus-links.de/oo_python.html Python FAQTS http://python.faqts.com/ Python To-Do List anticipates some of Python's future direction http://www.python.org/cgi-bin/todo.py Python Journal is at work on its second issue http://www.pythonjournal.com Links2Go is a new semi-automated link collection; it's impressive what AI can generate http://www.links2go.com/search?search=python comp.lang.python.announce announces new Python software http://deja.com/group/comp.lang.python.announce Archive probing trick of the trade: http://www.dejanews.com/dnquery.xp?QRY=&DBS=2&ST=PS&defaultOp=AND&LNG=ALL&format=threaded&showsort=date&maxhits=100&groups=comp.lang.python Previous - (U)se the (R)esource, (L)uke! - messages are listed here: http://purl.org/thecliff/python/url.html or http://www.dejanews.com/dnquery.xp?QRY=~g%20comp.lang.python%20Python-URL%21 Suggestions/corrections for next week's posting are always welcome. [http://www.egroups.com/list/python-url-leads/ is hibernating. Just e-mail us ideas directly.] To receive a new issue of this posting in e-mail each Monday morning, ask to subscribe. Mention "Python-URL!". -- The Python-URL! Team-- Dr. Dobb's Journal (http://www.ddj.com) is pleased to participate in and sponsor the "Python-URL!" project. -- Cameron Laird Business: http://www.Phaseit.net Personal: http://starbase.neosoft.com/~claird/home.html From ngps@post1.com Wed Sep 13 17:38:48 2000 From: ngps@post1.com (Ng Pheng Siong) Date: Thu, 14 Sep 2000 00:38:48 +0800 Subject: M2Crypto 0.05 Snapshot #4 Message-ID: <20000914003848.A1495@madcap.dyndns.org> Hello, (I've changed employers; been very busy past 4 months.) Snapshot #4 of M2Crypto 0.05 is now available: http://www.post1.com/home/ngps/m2 This snapshot features the following (in no particular order): - Fixed more memory leaks. - SSL callback thread-safety improvements. Thanks to Ray Suorsa for insights and patches. - Renamed M2Crypto.M2Crypto to M2Crypto.m2 to prevent package/module naming/loading confusion. - SSL clients can now reuse SSL sessions; this boosts performance. A demo program is included, see demo/ssl/sess.py. - Bundles (parts of) the June 2000 unencumbered release of Medusa. - demo/ssl/https_srv.py, a threading, directory-listing, https enhancement to SimpleHTTPServer.py. - Interface change: SMIME.load_pkcs7_bio() is renamed SMIME.smime_load_pkcs7_bio(), similarly SMIME.load_pkcs7() to SMIME.smime_load_pkcs7(); these load PKCS7 objects generated by S/MIME. - Interface change: SMIME.load_pkcs7_bio() now loads a PKCS7 PEM file, i.e., a file of the format "-----BEGIN PKCS7-----". Can't do very much with the resulting PKCS7 class instance, though. ;-) - It's been a year since I began this: my demo certificates have expired. ;-) A new set of certificates (with longer validity periods) are bundled. I'm now working on improving SSL robustness and fixing yet more reported memory leaks. This snapshot has not been tested with Python 2.0b1. None of ZServerSSL, ZSmime (and GuardedFile) has been tested with Zope 2.2.x. As usual, feedback is very much appreciated. -- Ng Pheng Siong * http://www.post1.com/home/ngps From phil@river-bank.demon.co.uk Thu Sep 14 16:52:47 2000 From: phil@river-bank.demon.co.uk (Phil Thompson) Date: Thu, 14 Sep 2000 16:52:47 +0100 Subject: PyQt v2.0 (Python Bindings for Qt) Message-ID: <39C0F44F.74F78491@river-bank.demon.co.uk> I and theKompany.com are pleased to announce the availability of PyQt v2.0 - the Python bindings for the GPL'ed Qt GUI toolkit. The package can be downloaded from http://www.thekompany.com/projects/pykde/. This represents a substantial upgrade to PyQt. New features include: - Full support for all relevant Qt v2.2 classes (206 classes in all) - pyuic converts QT Designer .ui files to Python code for PyQt - Python and Qt Unicode support integrated - Support for Python v1.6 and v2.0 - Support for Windows (binaries available, no Qt license required) Phil From roeder@berg.net Fri Sep 15 00:47:22 2000 From: roeder@berg.net (Maik Roeder) Date: Fri, 15 Sep 2000 01:47:22 +0200 Subject: Zope will be present at the SYSTEMS 2000 in Munich Message-ID: <39C1638A.33EEFB8@berg.net> Hi Zopistas ! = Zope is going to be present with its own booth at the SYSTEMS IT fair in Munich from 6.-10. November 2000. After the CeBIT in Hannover it is the 2nd-largest IT fair in Germany with over 130.000 visitors last = year. There will be a large focus on the Open Source movement with a dedicated forum called LinuxPark, which was a huge success in 1999. See the homepage at http://www.systems.de for general information and = http://www.linux-events.de/, a Zope site, for information on LinuxPark. We will have a booth supplied by Linux New Media who is organizing LinuxPark. The booth is supported by Iuveno and Beehive and features two separate work-places with internet access where we can have two computers= and two posters. The Zope booth is going to be some steps away from the shared Iuveno and Beehive booth, and the Linux-Cafe is just ahead. Around the corner is going to be the Gimp and Debian folks, and the Samba people are next to us. We will have the chance to present Zope related projects, so we are looking for people who could prepare some talks. We need many Zopista= s who would like to help with the preparation of the fair and who can man the Zope booth on the four days of the event. We also need two computers and preferably flat screens for the booth. Please contact Joachim Werner at joe@iuveno.de if want to support the EuroZope SYSTEMS team with hardwa= re or help attending the booth. If you plan to come to the SYSTEMS, it would= be nice if you could also send an email to the EuroZope mailing list at eurozope@comlounge.net. All those who attend the booth will get a free ticket and we have sleepin= g space for 3-4 people in the Munich area, because hotels would be rather expensive. If you prefer to stay in a hotel, it could pay off to stay in nearby Ingolstadt and come with the Iuveno guys to Munich each day. For always up-to-date information on the SYSTEMS event, frequently check = the project homepage at: = - http://zdp.zope.org/projects/eurozope/events/systems = The Zope booth at the SYSTEMS is the second event organized by the EuroZo= pe initiative: = - http://zdp.zope.org/projects/eurozope = The EuroZope project was founded at the LinuxTag 2000 in Stuttgart: = - http://zdp.zope.org/projects/eurozope/events/linuxtag2000 We have just recently held the Zope Meeting with Paul Everitt in Paris: = - http://zdp.zope.org/projects/eurozope/events/pariszopemeeting Many more events are planned for the future like the big ZopeCon at the Linux Expo January 23-24 in Amsterdam. = - http://zdp.zope.org/projects/eurozope/events/linuxexpo2001 (soon!) Best regards, = Maik R=F6der -- = Uzopia - Digging la vida Zopa - http://uzopia.editthispage.com From dalke@acm.org Thu Sep 14 13:06:50 2000 From: dalke@acm.org (Andrew Dalke) Date: Thu, 14 Sep 2000 06:06:50 -0600 Subject: lye-0.1 - a COM to SOAP gateway Message-ID: <8ps7fv$j87$1@slb2.atl.mindspring.net> Homepage: http://www.biopython.org/~dalke/lye/ Download: http://www.biopython.org/~dalke/lye/lye-0.1.zip Lye - a COM to SOAP gateway version 0.1 Lye is a Python program which converts COM requests into SOAP calls. It uses win32com.server's DynamicPolicy to interpret the COM request and Fredrick Lundh's soaplib to make the SOAP query. Microsoft distributes a similar gateway (I think) but the download page says it only runs on NT 4.0 SP 6 and Win2000. I don't have access to either of those OSes, which is why I rolled my own. There are many limitations to this gateway: - I don't know much about COM (this is my first COM server) - I don't know much about SOAP - There's no support on the COM side for keyword arguments - soaplib is incomplete and contains some bugs Still, it does work for at least the simple case of "use a set of scalar parameters and return a scalar result" and since the code is quite short (about 100 lines) it should be easy to hack to fill in any missing parts. Lye is developed and placed into the public domain by Andrew Dalke, Dalke Scientific Software, LLC. If you break it, you get to keep all the pieces. INSTALLATION: Install Python with the win32 extensions, from www.python.org Install soaplib, from www.secretlabs.com - Don't forget to add soaplib to the PYTHONPATH registry entry! (Python/PythonCore/1.5/PythonPath) - I've included a couple of soaplib patches in "soaplib.diff" which supports passing binary strings and allows soaplib to exchange arrays of values with itself. Start the default soaplib server with "python soaplib.py" - this starts an echo server on the localhost, port 8000 Run "python lye.py" to register the COM server. Example Python client: from win32com.client import Dispatch factory = Dispatch("Lye.Factory") soap = factory("http://localhost:8000") print soap.echo("Andrew") Example VB client: Sub TestSOAP() Set factory = CreateObject("Lye.Factory") Set soap = factory("http://localhost:8000") MsgBox soap.echo("Andrew") End Sub Client API: As you can see, it's pretty simple. There are two objects, the SOAP Factory and the SOAP ServerProxy. The factory makes server proxies when given the URL (okay, URI) for the SOAP server. The proxy object can be called using any method name and arguments, where "any" is defined as "supported by Python's COM interface." WARNING: because VB doesn't understand case, all method names are converted to lowercase before calling the SOAP server. To get around that, call the proxy object as an indexed object with the method name as the first parameter and the normal arguments following. That is, the following fails: soap.FindPrice("0-123-456") if the SOAP server really implements a FindPrice, but soap("FindPrice", "0-123-456") will work. This latter interface should be considered experimental, because there may be a more appropriate way to handle that case using COM. UNINSTALL: To uninstall the Lye COM server, "python lye.py --unregister" Andrew Dalke dalke@acm.org Sept. 14, 2000 From Archaeopteryx.Software@smaug.vex.net Wed Sep 13 21:53:45 2000 From: Archaeopteryx.Software@smaug.vex.net (Archaeopteryx.Software@smaug.vex.net) Date: Wed, 13 Sep 2000 16:53:45 -0400 (EDT) Subject: [Module] pyscintilla Message-ID: <200009132053.QAA28334@smaug.vex.net> pyscintilla ----------- Python bindings for the gtk version of the scintilla source code editor widget Scintilla is a powerful source code editor written by Neil Hodgson and many contributors (see www.scintilla.org[1]. PyScintilla provides Python language bindings for the GTK-based version of Scintilla. Our release includes a complete copy of Scintilla, as well as the Python bindings, and may be useful to developers working with pygtk[2] and in need of a better text editor widget. Key features provided by Scintilla: Standard text editing capabilities (with better multifont styling support than that found in most source code editors). Support for language-specific syntax styling for a wide variety of languages. Interactive brace and parenthesis matching. Hooks for building code auto-completion hints and call tips. Optional selection margin that can contain markers like those used in debuggers to indicate breakpoints and the current line. Optional line number display. Built in forward and backward search, including incremental search. Rectangular selection. Keyboard macro support. Structuring folding. Hooks for building auto-indentation capabilities. Indicator styles for indicating bad code, etc. Rich scriptability and event notification callback interface. Unrestrictive open source license, allowing use also in commercial applications. Details for the Python support portions of this release are available in the README file[3] for the Python distribution. URL: http://archaeopteryx.com/opensource/pyscintilla License: Open Source Platform: Linux Requires: PyGTK Gui: GTK Categories: GUI, GTK widgets Archaeopteryx Software, Inc (info@archaeopteryx.com) archaeopteryx.com -- pyscintilla -- Python bindings for the gtk version of the scintilla source code editor widget From kare@speech.kth.se Mon Sep 18 21:50:02 2000 From: kare@speech.kth.se (Kare Sjolander) Date: Mon, 18 Sep 2000 22:50:02 +0200 Subject: ANNOUNCE: The Snack Sound Toolkit v2.0 Message-ID: <39C67FF9.6AC2B2A7@speech.kth.se> This release has major new functionality with respect to earlier versions New features in Snack v2.0 * Support for the Python scripting language in addition to Tcl/Tk * All audio data handled as floating point internally * Multiple simultaneous playback and recording sessions * New filter command which operates on sound objects and also on streams for pseudo real-time operation. C-API to define custom filters * Support for embedding Snack sound objects in other higher level constructs * Support for new sample encoding formats lin24, lin32, float, and double on all hardware using on-the-fly conversion * Support for WAV/AU/AIFF file formats with lin24, lin32, and float sample encoding * Formant synthesis demo This release owes a lot to the many Snack users contributing to it. Thanks! Special thanks to Kevin Russell for the Python module and Jonas Beskow for the formant synthesis demo. The Snack Sound Toolkit is designed to be used with a scripting language. Snack adds commands to play and record audio and supports in-memory sound objects, file based audio, and streaming audio, with background audio processing. It handles fileformats such as WAV, MP3, AU, AIFF, and NIST/Sphere. Snack is extensible, new commands and sound file formats can be added using the Snack C-library. Snack also does sound visualization, e.g. waveforms and spectrograms. The visualization canvas item types update in real-time and can output postscript. Snack works with Tcl8.0 - Tcl8.4 and Python 1.5.2-1.6 Platforms: Linux, Solaris, HP-UX, IRIX, NetBSD, Macintosh, and Windows95/98/NT/2K. Source and Binaries can be downloaded from http://www.speech.kth.se/snack/ Regards, Kare Sjolander kare@speech.kth.se From Fiona Czuczman Tue Sep 19 06:59:12 2000 From: Fiona Czuczman (Fiona Czuczman) Date: 19 Sep 2000 05:59:12 -0000 Subject: [FAQTS] Python Knowledge Base Update -- September 19th, 2000 Message-ID: <20000919055912.5569.qmail@synop.com> Hi Guys, The latest entries into http://python.faqts.com cheers, Fiona ## Unanswered Questions ######################################## ------------------------------------------------------------- How do I get the full pathname of a module? Let's say I use 'import' to load a module. How can I find the location of its *.py or *.pyc file? http://www.faqts.com/knowledge-base/view.phtml/aid/5918 ------------------------------------------------------------- Rolf Freimuth ## New Entries ################################################# ------------------------------------------------------------- How do I set the default font for a window and all its widgets? http://www.faqts.com/knowledge-base/view.phtml/aid/5922 ------------------------------------------------------------- Fiona Czuczman Paul Magwene You can set application wide defaults very easily in Tkinter. The following is from John Grayson's excellent book, Python and Tkinter programming (you NEED this book if you want to do any really portable Python GUI work): -- Create a file called optionDB (or any other name you'd like) in the same directory as your source code. This file is a simple text file specifying defaults (like the .Xdefaults file on X windows). E.g. (taken directly from Grayson): *font: Verdana 10 *Label*font: Verdana 10 bold *background: Gray80 *Entry*background: white This will set the application wide default to Verdana, 10 pt, except for lables which will use a bold version of the font. The other options should be self explanatory. Then in your sourcecode do something like: root = Tk() root.option_readfile('optionDB') ------------------------------------------------------------- Python routine to remove blank lines from a text file http://www.faqts.com/knowledge-base/view.phtml/aid/5924 ------------------------------------------------------------- Fiona Czuczman Alex Martelli, Tyler Eaves, Jeremy Hylton out = open(r'C:\bar.txt', 'w') for line in open(r'c:\foo.txt').readlines(): if len(line)>1: out.write(line) out.close() Notes: we can use the r'string' notation to let backslashes (\) be used in a platform-natural way on Windows, without doubling them up (we could also write 'c:/foo.txt', etc); we don't need an explicitly named object for the input-file, as we just get its list-of-lines in the for statement itself; thus, we don't need to close it, either (it is automatically closed by the Python runtime as soon as possible & convenient). ----- Alternatively ------ import fileinput f = open("c:\\bar.txt", "w") for line in fileinput.input("c:\\foo.txt"): if not line.startswith("\n"): f.write(line) f.close() If I could modify the behavior a bit, I would: (1) make it skip any non-blank line that only has whitespace and (2) have it edit the file in place. import fileinput for line in fileinput.input("c:\\foo.txt", inplace=1): if line.strip(): f.write(line) f.close() ------------------------------------------------------------- Is there any way to set the initial seed for the Gaussian random number generator function "gauss"? http://www.faqts.com/knowledge-base/view.phtml/aid/5925 ------------------------------------------------------------- Fiona Czuczman Frédéric van der Plancke The seed function is not in module random (too bad) but in module whrandom: So you can do: import whrandom whrandom.seed() #or, with up to three integer arguments: whrandom.seed(1,2,3) (whrandom is actually meant to be "hidden implementation details", but we obviously still need it explicitly.) From akuchlin@mems-exchange.org Wed Sep 20 02:19:53 2000 From: akuchlin@mems-exchange.org (A.M. Kuchling) Date: Tue, 19 Sep 2000 21:19:53 -0400 Subject: python-dev summary: Sept. 1-15 Message-ID: Python-dev summary, September 1-15, 2000 ======================================== Released at last! ================= Python 1.6final was released on September 5. http://www.python.org/1.6/ Python 2.0beta1 was released, also on September 5. GvR's announcement: "A unique event in all the history of Python: two releases on the same day!" http://www.python.org/pipermail/python-dev/2000-September/015924.html Python 2.0 home page: http://www.pythonlabs.com/tech/python2.0/ Remember, the "What's New in Python 2.0" article goes into detail on 2.0's changes and new features. http://starship.python.net/crew/amk/python/writing/new-python/ Current plans are for a beta2 release around September 26th, and issue the final release two weeks later on October 10th. Squabbling over the meaning of "print >>None" occupied some time; this is the same as "print >>sys.stdout". Vladimir Marangozov pointed out that this feels wrong: "In Python, this form surely looks & feels like the Unix cat /dev/null, that is, since None doesn't have a 'write' method, the print statement is expected to either raise an exception or be specialized for None to mean "the print statement has no effect". The deliberate choice of sys.stdout is not obvious." http://www.python.org/pipermail/python-dev/2000-September/015966.html The BDFL's reaction: "You don't have to make a strong association with sys.stdout. When the file expression is None, the whole ">>file, " part disappears!" http://www.python.org/pipermail/python-dev/2000-September/016011.html Licensing ========= The licensing squabble become highly visible outside the community, stemming from a debian-devel posting. The basic problem is that one term in CNRI's 1.6 license specifies that the contract should be interpreted using Virginia law, because that's where CNRI is located. The FSF's lawyer believes that this term is incompatible with the GPL, because the GPL doesn't allow adding restrictions, and this counts as a restriction. GvR's posting: "At this point, our best shot seems to be to arrange a meeting between CNRI's lawyer and Stallman's lawyer. Without the lawyers there, we never seem to be able to get a commitment to an agreement. CNRI is willing to do this; Stallman's lawyer (Eben Moglen; he's a law professor at Columbia U, not NYU as I previously mentioned) is even harder to get a hold of than Stallman himself, so it may be a while." http://www.python.org/pipermail/python-dev/2000-September/015909.html LinuxToday: http://linuxtoday.com/news_story.php3?ltsn=2000-09-07-001-21-OS-CY-DB GvR's reaction: http://linuxtoday.com/news_story.php3?ltsn=2000-09-07-011-21-OS-CY-SW Upside: http://www.upside.com/texis/mvm/story?id=39c10a5e0 Other matters ============= XML support for 2.0 poses a problem, because it adds a package named 'xml' to the standard library, but this package name was already in use by the package being developed by the XML-SIG. There's a hack in Lib/xml/__init__.py that tries to delegate imports to an _xmlplus package if one is installed, but it doesn't work: http://www.python.org/pipermail/python-dev/2000-September/016110.html Discussion continued for a while, but no clear resolution to the problem has been made. Possible fixes might be to use __import__ instead of the imp module, renaming the packages to xmlbase and xml, or dropping the xml/ package from Python 2.0 completely. An long-standing error in the docs for the re module was found by Paul Prescod. The docs claimed that the .start() and .end() methods of MatchObjects return None when the group didn't participate in the match, but the code actually returns -1. The fix was to change the docs to match the code, not the other way around. GvR: "I'd suggest fixing SRE and the docs, because -1 is a more useful indicator for 'no match' than None: it has the same type as valid indices. It makes it easier to adapt to static typing later." http://www.python.org/pipermail/python-dev/2000-September/015846.html Greg Ward wrote a Distutils setup script for IDLE: http://www.python.org/pipermail/python-dev/2000-September/015967.html And the usual pile of minor fixes. Related Links ============= Temporary archive of python-dev summaries: http://starship.python.net/crew/amk/python/dev/ Python-dev archives: http://www.python.org/pipermail/python-dev/ Python project page on SourceForge: http://sourceforge.net/projects/python Python Enhancement Proposals (PEPs) summarize recent and past proposals for enhancements: http://python.sourceforge.net/peps/ The python-dev summaries are intended to inform the larger Python community of currently ongoing development. To comment on material in this python-dev summary, simply post to comp.lang.python or . Give your posting a meaningful subject line, and if it's about a PEP, include the PEP number (e.g. Subject: PEP 201 - Lockstep iteration) All python-dev members are interested in seeing ideas discussed by the community, so don't hesitate to take a stance on a PEP if you can share an informed opinion. From walter@bnbt.de Tue Sep 19 12:17:09 2000 From: walter@bnbt.de (Walter Dörwald) Date: Tue, 19 Sep 2000 11:17:09 GMT Subject: XIST 0.4 - an XML based extensible HTML generator Message-ID: <8q7hvb$60j$1@nnrp1.deja.com> Hi all! XIST 0.4 is released! What is it? ----------- XIST is an XML based extensible HTML generator. Some of the significant features of XIST include: * Easily extensible with new XML elements * Can be used for offline or online page generation * Allows embedding Python code in XML files * Works together with httpdapy/mod_python/PyWX * Simplifies handling of deeply nested directory trees * Automatically generates HEIGHT and WIDTH attributes for images It was written as a replacement for the HTML preprocessor HSC (http://www.giga.or.at/~agi/hsc/), and borrows some features and ideas from it. It also borrows the basic ideas (XML/HTML elements as Python objects) from HTMLgen or HyperText. What's new? ----------- XIST now requires at least Python 2.0b1. A new bugfixed version of the sgmlop source is available from the FTP site. XIST now completely supports Unicode. For output any encoding known to Python can be used, so now you can output your HTML in ascii, latin1, utf8, utf16, and even shift_jis if you have the codec installed. All publishers have been updated to support Unicode. The publishing interface has been streamlined (encoding and XHTML parameters are now attributes of the publisher) asString() will now always return a Unicode string. If you want a byte string use asBytes() instead, where the encoding can be specified as an argument. There an additional publisher class FilePublisher, which can be used for publishing to a file (or anything else that has a write and a writelines method, and is supported by the stream writer available through codecs.lookup). Element and attribute names are no longer converted to lowercase. If you have an attribute name which clashes with a Python keyword (e.g. "class") append an underscore (_), which will be removed before accessing the attribute. This is the "official" Python method for handling these cases. Elements and entities are no longer registered one by one. Now you can build Namespace objects which are used for searching and there are pushNamespace and popNamespace functions in XSC.xsc. For more info, see the source. Image size calculation has been removed from html.img and html.input. Use specials.autoimg and specials.autoinput for that. {Frag,Element}.__{set,get,del}item__ now accepts a list as an argument. The method will be applied recursively, i.e. e[[0, 1, "foo", 2] is the same as e[0][1]["foo"][2]. The deprecated module db no longer exists. Useful functions and elements from db have been moved to sql.py and form.py respectively. When using xsc.make() the encoding and XHTML parameters to use can now be specified on the command line (e.g. --encoding utf-8 --xhtml 2) Handling of multiline and has been enhanced, although XIST will not be able to guess the correct indentation in all cases. As a workaround simply add a Python comment at the beginning: won't work will. Make functionality has been moved to make.py, as certain modules can't be used as the main script, because reimporting them in processing instructions won't work. Now you can simply call python make.py --import xist.html --import project.main foo.xsc There is a new module cond, that contains elements that can be used for conditionals: foo bar baz Where can I get it? ------------------- XIST is available from ftp://titan.bnbt.de/pub/livinglogic/xist/. Direct questions regarding XIST to walter@livinglogic.de.

XIST 0.4 - an XML based extensible HTML generator. (19-Sep-2000) Bye... Walter Dörwald Sent via Deja.com http://www.deja.com/ Before you buy. From mindlace@digicool.com Wed Sep 20 06:58:34 2000 From: mindlace@digicool.com (mindlace) Date: Wed, 20 Sep 2000 01:58:34 -0400 Subject: September 19th Zope Weekly News Message-ID: <39C8520A.A6529E3D@digicool.com> In this week's ZWN, make Zope your career, take Zope classes, read about security, get Zope 2.2.2, all while tracking HiperDOM, WikiNG, Sessions, and the continued evolution of Zope.org. The opinions expressed in Zope Weekly news are solely the authors', and not the opinions of Digital Creations, The Zope Community at-large, or the Spanish Inquisition. If you or your company are doing something cool with zope, "submit it to the Zope Weekly News", mailto:zope-web@zope.org for possible inclusion. And Now For Something Completely Different: --- Get Paid for Doing Zope In the very near future, a Fortune 100 media company will launch a new web initiative for which Zope is the content management platform. Digital Creations has been working closely with the company on the architecture for the project. With the initial success, the company wants to augment its internal Zope technical staffing. The job opening is for someone with strong Zope/Python skills, preferably on Linux. Background in web design, information architectures, and project management are beneficial. The vision for this project is quite exciting indeed. If any of you are interested in a prime-time Zope position in New York City, "contact Paul", mailto:paul@digicool.com and he'll pass along your contact information. More Training & Education Coming Kaivo, in partnership with Digital Creations, is expanding and enhancing the training courses availiable for Zope. Get all the jucy details from "the press release", http://www.newsalert.com/bin/story?StoryId=CoCBKWbKbytaZodK --- Documentation Chris McDonough has been hard at work on a security chapter for the product developer's guide. It will give a comprehensive overview of Zope's security features and details the ins and outs of making *your* product secure: Currently, it gives and overview and covers Python Products, with ZClass Products in the works. Take "a preview look", http://www.zope.org/Members/mcdonc/PDG/6-1-Security.stx and send him feedback. --- Zope Status -- by Brian Lloyd Summary Zope 2.2.2 released, planning for Zope 2.3 Last Week Last week I worked on weaving in feedback to the draft of the first deliverable for the "new security assertions" project, the Zope Security for Developers guide. The window of opportunity for having your say in this is closing soon, so be sure to "check out the draft", http://dev.zope.org/Wikis/DevSite/Projects/DeclarativeSecurity/ZopeSecurityForDevelopers Several spirited discussion have been going on (on both the zope-dev list and dev.zope.org) regarding the HiperDOM proposal and the WikiNG proposal. Both of these are still very much in the "big picture" phase of figuring out what they mean. The fleshing out of 'core' session tracking (relating private namespaces to anonymous visitors) is coming along nicely. Fishbowl suggestions played a key role in design. A complete set of use cases has been drawn up, and a primordial implementation is in the works. For more information see the "Core Session Tracking fishbowl project", http://dev.zope.org/Wikis/DevSite/Projects/CoreSessionTracking. I also started on the task list for the next "planned feature release" of Zope. We need to figure out how to best expose the work for a particular release on dev.zope.org (a project?, a dedicated "next release" area?) This week This week we'll get the information for the next Zope feature release up on dev.zope.org. We've also made a Zope 2.2.2 release. This is a minor update, most consisting of fixes to support ZEO deployment. I also hope to (finally!) finalize the Zope Security for Developers document (implementing it is currently on the 2.3 list). --- Zope Web -- by Ethan Fremen Community Development of Zope.org Maik Roeder, Rik Hoekstra, and Tom Deprez (all of ZDP fame) have volunteered to help redevelop the Documentation section of Zope.org! Tim Cook deserves kudos for his work on categorizing all the How-To's for topic oriented access. ZEO Smells Good Only a few short weeks in the intense heat of the Zope.org oven, coupled with the tender ministrations of Jim Fulton, and ZEO is getting pleasantly baked. Scaling Zope.org We're in the process of preparing some boxes to give Zope.org a replicated home, where ZEO is in full play and multiple Zope clients answer requests. The boxen and connection are being provided by VA Linux Systems, with load balancing and failover design being provided by baymountain. -EOT- From Fiona Czuczman Wed Sep 20 12:14:16 2000 From: Fiona Czuczman (Fiona Czuczman) Date: 20 Sep 2000 11:14:16 -0000 Subject: [FAQTS] Python Knowledge Base Update -- September 20th, 2000 Message-ID: <20000920111416.19124.qmail@synop.com> Back to my nocturnal habits... The latest entries into http://python.faqts.com Fiona ## Unanswered Questions ######################################## ------------------------------------------------------------- How can I use the ConfigParser to parse through a text file? http://www.faqts.com/knowledge-base/view.phtml/aid/5928 ------------------------------------------------------------- Sumita Ponnuchamy ## New Entries ################################################# ------------------------------------------------------------- Setting Focus in Pmw.Dialog http://www.faqts.com/knowledge-base/view.phtml/aid/5936 ------------------------------------------------------------- Fiona Czuczman Matthew Dixon Cowles Problem: I use Pmw.Dialog to prompt the user for some text. The dialog is just what I need, but for some reason I can't set the initial keyboard focus to the entry field. The standard "askstring" dialog doesn't give me control over the edit field size (that I can see), so I tried this: ------------------------------------------------------------------------ dialog = Pmw.Dialog( root, buttons = ( 'OK', ), buttonboxpos = S, title = 'Prompt' ) w = Pmw.EntryField( dialog.interior(), label_text = prompt, labelpos = NW, labelmargin = 1, entry_width = 50 ) w.pack( padx = 15, pady = 15 ) dialog.configure( activatecommand = w.focus_set ) dialog.focus_force() dialog.activate() ---------------------------------------------------------------------- The result of "dialog.configure( activatecommand = w.focus_set )" is that the dialog doesn't get focus at all. If I comment this line out, the dialog gets focus, but the user has to click in the entry field, or tab twice to get to it (first tab goes to OK button). Solution: Your problem is that a Pmw.EntryField is itself a compound widget (I've been caught by this one too). You want something like: dialog.configure( activatecommand = w.component("entry").focus_set ) You can also get a similar result by replacing dialog.configure( activatecommand = w.focus_set ) dialog.focus_force() with w.component("entry").focus_force() ------------------------------------------------------------- How do I pass on keyword arguments in a function? http://www.faqts.com/knowledge-base/view.phtml/aid/5937 ------------------------------------------------------------- Fiona Czuczman Johann Hibschman, Greg Ewing Problem: ------------- def mark( a, b , **kw): print 'Mark' passKeywords(kw) # THIS DOESN'T WORK!!! MAKE IT WORK!!! def passKeywords( a,**kw ) """ just do something """ print 'Gibson' ------------- call it: doSomething( 1,3,name='Mark',Last='Gibson') produces: Mark Traceback (innermost last): File "", line 1, in ? File "", line 3, in mark TypeError: too many arguments; expected 0, got 1 ----------------- What I want to know is how do I pass kw from mark() to passKeywords()? Solution: apply(passKeywords, (), kw) Or, in Python 2.0, passKeywords(**kw) ------------------------------------------------------------- What is the exact purpose of fileno()? http://www.faqts.com/knowledge-base/view.phtml/aid/5938 ------------------------------------------------------------- Fiona Czuczman Donn Cave The file object is an I/O buffer and a device. The C library allocates space for the buffer in your process memory, and when you read or write the data comes from or goes to that buffer. The stdio C library functions manage the buffer by reading or writing to the device. Since physical device access is a very expensive operation for the computer, buffering like that basically allows you to work with small or random size I/O requests while economizing on system resources. However, there are times when you need to do something that the stdio library doesn't account for, like select(), or a filesystem lock, or some terminal driver function. The fileno() function exposes the file object's file descriptor or unit number, which on UNIX is the raw device. Select() already knows about fileno(), so you can give it a socket or whatever and it will call fileno() itself, but usually it's up to you to call fileno() and get the descriptor. Of course the socket fileno() function is more or less the same idea as the file object's fileno(), but the socket isn't a file object and doesn't have its own buffer. (On UNIX you can make a file object from a socket, but it's difficult to make that work both properly and efficiently with select().) The result from socket fileno() is a file descriptor on UNIX, but it isn't necessarily so on other operating systems. You can get file descriptors directly if you use the posix.open() function, (A.K.A. os.open().) ------------------------------------------------------------- Is there an easy way given an internal webpage to cycle through all the links on the page and find which ones are broken? http://www.faqts.com/knowledge-base/view.phtml/aid/5939 ------------------------------------------------------------- Fiona Czuczman Jeremy Hylton, Dan Gindikin Look at Tools/webchecker in the Python distribution. Check out linkchecker.sourceforge.net ## Edited Entries ############################################## ------------------------------------------------------------- How do I get the full pathname of a module? Let's say I use 'import' to load a module. How can I find the location of its *.py or *.pyc file? http://www.faqts.com/knowledge-base/view.phtml/aid/5918 ------------------------------------------------------------- Rolf Freimuth, Fiona Czuczman Mike Fletcher def modulePath( module ): import os return os.path.abspath( module.__file__ ) From che@debian.org Thu Sep 21 23:33:56 2000 From: che@debian.org (Ben Gertzfield) Date: 21 Sep 2000 15:33:56 -0700 Subject: ID3.py version 1.0 released! Message-ID: At long last, the ID3 Python module has reached version 1.0. ID3.py is a simple Python module for retrieving and setting so-called ID3 tags on MP3 compressed audio files through an object-oriented interface. MP3 players generally use this simple information for display track title, artist name, and album title while playing the sound file. ID3.py supports ID3 version 1.1, including the track number field. I have no current plans to code up the monstrosity that is ID3v2 (http://www.id3.org/id3v2.3.0.html) but if someone wants to add that functionality, feel free! The latest version of ID3.py can always be found at: http://csl.cse.ucsc.edu/~ben/python/ The changes in version 1.0 include ID3 v1.1 support (track numbers), automatic stripping of whitespace in ID3 fields, an actual (gasp) README file, and a setup.py script for Python 1.6 or Distutils users. Happy Pythoning! Ben -- Brought to you by the letters Q and R and the number 9. "Porcoga daisuki!" Debian GNU/Linux maintainer of Gimp and GTK+ -- http://www.debian.org/ From grante@visi.com Mon Sep 25 21:27:57 2000 From: grante@visi.com (Grant Edwards) Date: 25 Sep 2000 15:27:57 -0500 Subject: Dr. Dobb's Python-URL! - weekly Python news and links (Sep 25) Message-ID: Wesley Chun announces BayPIGgies monthly meeting: talk by Joe Ellsworth, CEO of PyBiz, on distributed content management. http://deja.com/=dnc/getdoc.xp?AN=671345151 Wesley Chun teaches course on Python at UC Santa Cruz. http://deja.com/=dnc/getdoc.xp?AN=672944253 Kragen Sitaker answers the question "Of what use is 'lambda'? http://deja.com/=dnc/getdoc.xp?AN=671792095 Zooko's posting on why Mojo Nation (a distributed file sharing system with a micro-payment facility) was written in Python. http://deja.com/=dnc/getdoc.xp?AN=672197723 Will Ware posts hints for debugging memory leaks. http://deja.com/=dnc/getdoc.xp?AN=672487959 Walter Dörwald announces XIST 0.4 - an XML based extensible HTML generator. http://deja.com/=dnc/getdoc.xp?AN=671956283 Kragen Sitaker contributes a "[s]imple implementation of Self-like prototype-based inheritance" http://deja.com/=dnc/getdoc.xp?AN=673271182 ======================================================================== Everything you want is probably one or two clicks away in these pages: Python.org's Python Language Website is the traditional center of Pythonia http://www.python.org although PythonLabs.com bills itself as "The Python Source", which is becoming increasingly true in 2000 http://www.pythonlabs.com/ PythonWare complements the digest you're reading with the daily python url http://www.pythonware.com/daily comp.lang.python.announce announces new Python software. Be sure to scan this newly-revitalized newsgroup at least weekly. http://deja.com/group/comp.lang.python.announce The Vaults of Parnassus ambitiously collects Python resources http://www.vex.net/~x/parnassus/ Much of Python's real work takes place on Special-Interest Group mailing lists http://www.python.org/sigs/ Python Consortium emerges as an independent nexus of activity http://www.python.org/consortium Cetus does much of the same http://www.cetus-links.de/oo_python.html Python FAQTS http://python.faqts.com/ Python To-Do List anticipates some of Python's future direction http://www.python.org/cgi-bin/todo.py Python Journal is at work on its second issue http://www.pythonjournal.com Links2Go is a new semi-automated link collection; it's impressive what AI can generate http://www.links2go.com/search?search=python Archive probing trick of the trade: http://www.dejanews.com/dnquery.xp?QRY=&DBS=2&ST=PS&defaultOp=AND&LNG=ALL&format=threaded&showsort=date&maxhits=100&groups=comp.lang.python Previous - (U)se the (R)esource, (L)uke! - messages are listed here: http://purl.org/thecliff/python/url.html or http://www.dejanews.com/dnquery.xp?QRY=~g%20comp.lang.python%20Python-URL%21 Suggestions/corrections for next week's posting are always welcome. [http://www.egroups.com/list/python-url-leads/ is hibernating. Just e-mail us ideas directly.] To receive a new issue of this posting in e-mail each Monday morning, ask to subscribe. Mention "Python-URL!". -- The Python-URL! Team-- Dr. Dobb's Journal (http://www.ddj.com) is pleased to participate in and sponsor the "Python-URL!" project. -- Cameron Laird Business: http://www.Phaseit.net Personal: http://starbase.neosoft.com/~claird/home.html From gward@python.net Tue Sep 26 23:14:15 2000 From: gward@python.net (Greg Ward) Date: Tue, 26 Sep 2000 18:14:15 -0400 Subject: ANNOUNCE: Distutils 0.9.3 Message-ID: Python Distribution Utilities release 0.9.3 September 26, 2000 The Python Distribution Utilities, or Distutils for short, are a collection of modules that aid in the development, distribution, and installation of Python modules and (ultimately) applications. The Distutils are a standard part of Python 2.0; if you are running 2.0 (or one of the 1.6 alpha releases that preceded it), you don't need to install the Distutils separately. This release is primarily so that you can add the Distutils to a Python 1.5.2 installation -- you will then be able to install modules that require the Distutils, or use the Distutils to distribute your own modules. Version 0.9.3 is identical to the Distutils code included with Python 2.0b2. More information is available at the Distutils web page: http://www.python.org/sigs/distutils-sig/ and in the README.txt included in the Distutils source distribution. You can download the Distutils from http://www.python.org/sigs/distutils-sig/download.html Trivial patches can be sent to me (Greg Ward) at gward@python.net. Larger patches should be discussed on the Distutils mailing list: distutils-sig@python.org. Greg -- Greg Ward gward@python.net http://starship.python.net/~gward/ From jeremy@beopen.com Wed Sep 27 17:01:50 2000 From: jeremy@beopen.com (Jeremy Hylton) Date: Wed, 27 Sep 2000 12:01:50 -0400 (EDT) Subject: Python 2.0b2 is released! Message-ID: Python 2.0b2 is released. The BeOpen PythonLabs and our cast of SourceForge volunteers have fixed many bugs since the 2.0b1 release three weeks ago. Please go here to pick it up: http://www.pythonlabs.com/tech/python2.0/ There's a tarball, a Windows installer, RedHat RPMs, online documentation, and a long list of fixed bugs. The final release of Python 2.0 is expected in early- to mid-October. We would appreciate feedback on the current beta release in order to fix any remaining bugs before the final release. Confirmation of build and test success on less common platforms is also helpful. Python 2.0 has many new features, including the following: - Augmented assignment, e.g. x += 1 - List comprehensions, e.g. [x**2 for x in range(10)] - Extended import statement, e.g. import Module as Name - Extended print statement, e.g. print >> file, "Hello" - Optional collection of cyclical garbage This release fixes many known bugs. The list of open bugs has dropped to 50, and more than 100 bug reports have been resolved since Python 1.6. To report a new bug, use the SourceForge bug tracker http://sourceforge.net/bugs/?func=addbug&group_id=5470 -- Jeremy Hylton From jeremy@beopen.com Wed Sep 27 17:33:25 2000 From: jeremy@beopen.com (Jeremy Hylton) Date: Wed, 27 Sep 2000 12:33:25 -0400 (EDT) Subject: Python 2.0b2 is released! [URL corrected] Message-ID: Python 2.0b2 is released. The BeOpen PythonLabs and our cast of SourceForge volunteers have fixed many bugs since the 2.0b1 release three weeks ago. Please go here to pick it up: http://www.pythonlabs.com/products/python2.0/ There's a tarball, a Windows installer, RedHat RPMs, online documentation, and a long list of fixed bugs. The final release of Python 2.0 is expected in early- to mid-October. We would appreciate feedback on the current beta release in order to fix any remaining bugs before the final release. Confirmation of build and test success on less common platforms is also helpful. Python 2.0 has many new features, including the following: - Augmented assignment, e.g. x += 1 - List comprehensions, e.g. [x**2 for x in range(10)] - Extended import statement, e.g. import Module as Name - Extended print statement, e.g. print >> file, "Hello" - Optional collection of cyclical garbage This release fixes many known bugs. The list of open bugs has dropped to 50, and more than 100 bug reports have been resolved since Python 1.6. To report a new bug, use the SourceForge bug tracker http://sourceforge.net/bugs/?func=addbug&group_id=5470 -- Jeremy Hylton From kare@speech.kth.se Wed Sep 27 17:45:08 2000 From: kare@speech.kth.se (Kare Sjolander) Date: Wed, 27 Sep 2000 18:45:08 +0200 Subject: ANNOUNCE: The Snack Sound Toolkit v2.0.1 Message-ID: This release contains: * Several bug-fixes * Updated demos * Updated documentation How to play a sound file using Snack and Python: s = Sound() s.read('ex1.wav') s.play() The Snack Sound Toolkit is designed to be used with a scripting language. Snack adds commands to play and record audio and supports in-memory sound objects, file based audio, and streaming audio, with background audio processing. It handles fileformats such as WAV, MP3, AU, AIFF, and NIST/Sphere. Snack is extensible, new commands and sound file formats can be added using the Snack C-library. Snack also does sound visualization, e.g. waveforms and spectrograms. The visualization canvas item types update in real-time and can output postscript. Snack works with Tcl8.0 - Tcl8.4 and Python 1.5.2-1.6 Platforms: Linux, Solaris, HP-UX, IRIX, NetBSD, Macintosh, and Windows95/98/NT/2K. Source and Binaries can be downloaded from http://www.speech.kth.se/snack/ Regards, Kare Sjolander kare@speech.kth.se From ljohnson@resgen.com Fri Sep 29 14:49:41 2000 From: ljohnson@resgen.com (Lyle Johnson) Date: Fri, 29 Sep 2000 08:49:41 -0500 Subject: ANNOUNCE: FXPy-0.99.131 (FOX Extensions for Python) Message-ID: This is an update of FXPy, a Python extension module which provides an interface to the FOX cross-platform GUI library: Home Page: http://home.hiwaay.net/~johnson2/FXPy Download Source: ftp://ftp.cfdrc.com/pub/FOX/FXPy-0.99.131.tar.gz Windows Binaries: ftp://ftp.cfdrc.com/pub/FOX/FXPy-0.99.131-win32.exe ftp://ftp.cfdrc.com/pub/FOX/FXPy-0.99.131-Py16-win32.exe ftp://ftp.cfdrc.com/pub/FOX/FXPy-0.99.131-Py20b2-win32.exe To build FXPy from the sources, you will also need to download version 0.99.131 of the FOX library: FOX Home Page: http://www.cfdrc.com/FOX/fox.html Download Source: ftp://ftp.cfdrc.com/pub/FOX/fox-0.99.131.tar.gz ftp://ftp.cfdrc.com/pub/FOX/fox-0.99.131.zip As you may have guessed by now, the latest release of FXPy is version 0.99.131. What is it? ----------- FXPy is a Python extension module which provides an interface to the FOX cross-platform GUI library. With a few minor exceptions, FXPy provides a complete interface to FOX. FOX is a C++-based toolkit for developing graphical user interfaces easily and effectively. Some of the significant features of FOX include: * A rich set of widgets (including dials, shutters, tree lists, and many other "modern" widgets). * Powerful but easy-to-use layout managers. * Extensive support for 3-D modeling using OpenGL or Mesa. * Supports the XDND protocol for drag-and-drop. * Registry for persistent application settings. * Runs natively under Unix/X and Microsoft Windows. * And much, much more! Please see the FOX home page (URL listed above) for more details about the FOX library's features. Also consider subscribing to the foxgui-users mailing list for the latest news about FOX development; again, see the FOX home page for information on this. FXPy is (c) 1999, 2000 Lyle Johnson (ljohnson@resgen.com) and is released under the GNU Lesser General Public License.

FXPy-0.99.131 - interface to the FOX cross-platform GUI library. (29-Sep-00) From mail@jbrisbin.net Fri Sep 29 21:36:50 2000 From: mail@jbrisbin.net (Jon Brisbin) Date: Fri, 29 Sep 2000 15:36:50 -0500 Subject: Python Server Pages Message-ID: My new Python ServerPages implementation is available at http://www.jbrisbin.net/PythonServerPages What is it? My PSP implementation is different than almost anything so far in that it currently consists of one single CGI script that can be added to any webserver (though, just tested on Apache) and PSP pages can immediately be created and accessed easily like: http://www.jbrisbin.net/cgi-bin/psp.py/psppage.pyml You can also integrate with existing speeder-uppers like mod_snake, mod_python, etc...and by byte-compiling the "psp.py" file first... If you want, go ahead and put this in your httpd.conf: Action python-serverpages /cgi-bin/psp.py AddHandler python-serverpages .pyml .psp and then call your PSP pages like: http://www.jbrisbin.net/psppage.pyml Basic documentation is on the home page at http://www.jbrisbin.net/PythonServerPages This is designed to be absolutely simple and fast, not just in performance, but in time to integrate and maintain. -- Jon Brisbin www.jbrisbin.net +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Email: mail@jbrisbin.net PSP Home: www.jbrisbin.net/PythonServerPages Public PGP key: www.jbrisbin.net/pgpkey.shtml +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ From jpe@archaeopteryx.com Fri Sep 29 23:36:46 2000 From: jpe@archaeopteryx.com (John Ehresman) Date: Fri, 29 Sep 2000 18:36:46 -0400 Subject: Wing IDE beta 2 is released Message-ID: I'm happy to announce the 2nd beta release of Wing IDE for Python. This release fixes many bugs, introduces several new features, and provides preliminary support for Python 2.0 (beta 1 & 2). A list of the major changes can be found at http://www.wingide.com/wingide/changelog. Highlights include: * Ability to run under Python 2.0 * Better debugger display of C extension values, including NumPy arrays * Better support for printing Python source files * Support for deadkeys on international keyboards * Additional commenting, auto-wrapping, and brace matching features * Support for source files with DOS-style \r\n line endings Wing IDE is an integrated development environment for Python featuring a powerful source code editor, a fast debugger, and a code browser. It is currently available for Intel-based Linux systems and may be obtained, along with a free 30-day evaluation license, from www.wingide.com. We hope that you will give Wing a try and look forward to your feedback! Thanks, John ------------------------------------------------------------------------ Archaeopteryx Software, Inc. Wing IDE for Python www.archaeopteryx.com Take Flight!