[ANN] Zope 3.4.1 KGS released!
== Zope 3.4.1 Released! == June 22, 2010 - The Zope 3 development team announces the Zope 3.4.1 release. The 3.4.1 is the long awaited next bugfix version of 3.4.0. Major changes ~ - setuptools update to 0.6c11, so that it supports svn 1.6. - z3c.layer update to 0.2.4, which is a **SECURITY** fix. For details see the changelog. Packages and Eggs - Zope 3 is now fully converted to an egg-based system. While some work still remains, it integrates very well with the rest of the Python community. The conversion to egg-based packaging also enables other Python developers to only have to use small bits and pieces of the complete Zope software system. The conversion means that Zope 3 developers do not use the classic Zope 3 tar-ball release anymore. However, for your convenience, Zope 3 developers will provide the classic Zope 3 tar ball releases for at least the 3.4 series. So how are Zope 3 applications built using only eggs? The Known Good Set (KGS) The known good set -- or in short KGS -- is a configuration of packages and their versions that are known to work well together. The compatibility is frequently verified by running over twelve thousand tests on a daily basis [1]_. The KGS is tested against Python 2.4 and 2.5 on the 32- and 64-bit platforms. The list of controlled packages and their versions for Zope 3.4 can be found at the Zope 3 KGS site [2]_. The KGS can be used in several ways [3]_. The most common way is to nail the versions by downloading the version configuration file [4]_ and insert them as follows in your buildout configuration:: [buildout] versions = versions ... [versions] zope.interface = 3.4.0 ... ``zopeproject`` Project Builder ~~~ To start building a project using a common setup, a package called `zopeproject` can be used to quickly setup the boilerplate for the project. Ample documentation is provided at the `zopeproject` home page [5]_. `zopeproject` uses Paste or ZDaemon to create a working server. The following commands get you started:: $ easy_install zopeproject $ zopeproject HelloWorld $ cd HelloWorld $ bin/helloworld-ctl foreground Demo Packages ~ At this point, there is no demo package demonstrating a simple Zope 3 application setup. However, the ``z3c.formdemo`` package can be used as a fairly minimal setup. To get started with it, enter the following:: $ svn co svn://svn.zope.org/repos/main/z3c.formdemo/tags/1.5.3 formdemo $ cd formdemo $ python bootstrap.py $ ./bin/buildout -v $ ./bin/demo fg .. [1] http://zope3.pov.lt/buildbot .. [2] http://download.zope.org/zope3.4/3.4.1/controlled-packages.cfg .. [3] http://download.zope.org/zope3.4/intro.html .. [4] http://download.zope.org/zope3.4/3.4.1/versions.cfg .. [5] http://pypi.python.org/pypi/zopeproject Downloads - - Zope 3.4 KGS: http://download.zope.org/zope3.4 - Zope 3.4 Controlled Packages: http://download.zope.org/zope3.4/3.4.1/controlled-packages.cfg - Zope 3.4 Versions: http://download.zope.org/zope3.4/3.4.1/versions.cfg - The classic Zope 3 source release will be made only on request. - The Windows .exe installer will be made only on request. Installation instructions for both Windows and Un*x/Linux are now available in the top level `README.txt` file of the distribution. The binary installer is recommended for Windows. Zope 3.4 requires Python 2.4 or 2.5 to run. You must also have zlib installed on your system. Resources - - Zope 3 Development Web Site: http://wiki.zope.org/zope3 - Zope 3 Developers Mailing List: http://mail.zope.org/mailman/listinfo/zope-dev Retired: http://mail.zope.org/mailman/listinfo/zope3-dev - Zope 3 Users Mailing List: http://mail.zope.org/mailman/listinfo/zope-users - Bug tracker at launchpad: https://launchpad.net/zope3 - IRC Channel: #zope3-dev at irc.freenode.net About Zope 3 Zope 3 is a web application server that continues to build on the heritage of Zope. It was rewritten from scratch based on the latest software design patterns and the experiences of Zope 2. The component architecture is the very core of Zope 3 that allows developers to create flexible and powerful web applications. Compatibility with Zope 2 ~ Zope 3 is not upwards compatible with Zope 2. This means you cannot run Zope 2 applications in Zope 3. We continue to work on the transition from Zope 2 to Zope 3 by making Zope 2 use more and more of the Zope 3 infrastructure. This means that new code written in Zope 2 can benefit from Zope 3 technology. Also, with care, code can be written that works in both Zope 3 and Zope 2. This allows a Zope 2 application to slowly evolve towards Zope 3. Unchanged Zope 2 applications are never expected to work in Zope 3, however. About the Zope Foundation - The
[ANN] pyparsing 1.5.3 released
I'm happy to announce that a new release of pyparsing is now available, version 1.5.3. It has been almost a year and a half since 1.5.2 was released, but pyparsing has remained pretty stable. I believe I have cleaned up the botch-job I made in version 1.5.2 of trying to support both Python 2.x and Python 3.x. This new release will handle it by: - providing version-specific binary installers for Windows users - use version-adaptive code in the source distribution to use the correct version of pyparsing.py for the current Python distribution This release also includes a number of small bug-fixes, plus some very interesting new examples. Here is the high-level summary of what's new in pyparsing 1.5.3: - === NOTE: API CHANGE!!! === With this release, and henceforward, the pyparsing module is imported as pyparsing on both Python 2.x and Python 3.x versions. - Fixed up setup.py to auto-detect Python version and install the correct version of pyparsing - suggested by Alex Martelli, thanks, Alex! (and my apologies to all those who struggled with those spurious installation errors caused by my earlier fumblings!) - Fixed bug on Python3 when using parseFile, getting bytes instead of a str from the input file. - Fixed subtle bug in originalTextFor, if followed by significant whitespace (like a newline) - discovered by Francis Vidal, thanks! - Fixed very sneaky bug in Each, in which Optional elements were not completely recognized as optional - found by Tal Weiss, thanks for your patience. - Fixed off-by-1 bug in line() method when the first line of the input text was an empty line. Thanks to John Krukoff for submitting a patch! - Fixed bug in transformString if grammar contains Group expressions, thanks to patch submitted by barnabas79, nice work! - Fixed bug in originalTextFor in which trailing comments or otherwised ignored text got slurped in with the matched expression. Thanks to michael_ramirez44 on the pyparsing wiki for reporting this just in time to get into this release! - Added better support for summing ParseResults, see the new example, parseResultsSumExample.py. - Added support for composing a Regex using a compiled RE object; thanks to my new colleague, Mike Thornton! - In version 1.5.2, I changed the way exceptions are raised in order to simplify the stacktraces reported during parsing. An anonymous user posted a bug report on SF that this behavior makes it difficult to debug some complex parsers, or parsers nested within parsers. In this release I've added a class attribute ParserElement.verbose_stacktrace, with a default value of False. If you set this to True, pyparsing will report stacktraces using the pre-1.5.2 behavior. - Some interesting new examples, including a number of parsers related to parsing C source code: . pymicko.py, a MicroC compiler submitted by Zarko Zivanov. (Note: this example is separately licensed under the GPLv3, and requires Python 2.6 or higher.) Thank you, Zarko! . oc.py, a subset C parser, using the BNF from the 1996 Obfuscated C Contest. . select_parser.py, a parser for reading SQLite SELECT statements, as specified at http://www.sqlite.org/lang_select.html; this goes into much more detail than the simple SQL parser included in pyparsing's source code . stateMachine2.py, a modified version of stateMachine.py submitted by Matt Anderson, that is compatible with Python versions 2.7 and above - thanks so much, Matt! . excelExpr.py, a *simplistic* first-cut at a parser for Excel expressions, which I originally posted on comp.lang.python in January, 2010; beware, this parser omits many common Excel cases (addition of numbers represented as strings, references to named ranges) . cpp_enum_parser.py, a nice little parser posted my Mark Tolonen on comp.lang.python in August, 2009 (redistributed here with Mark's permission). Thanks a bunch, Mark! . partial_gene_match.py, a sample I posted to Stackoverflow.com, implementing a special variation on Literal that does close matching, up to a given number of allowed mismatches. The application was to find matching gene sequences, with allowance for one or two mismatches. . tagCapture.py, a sample showing how to use a Forward placeholder to enforce matching of text parsed in a previous expression. . matchPreviousDemo.py, simple demo showing how the matchPreviousLiteral helper method is used to match a previously parsed token. Download pyparsing 1.5.3 at http://sourceforge.net/projects/pyparsing/. You can also access pyparsing's epydoc documentation online at http://packages.python.org/pyparsing/. The pyparsing Wiki is at http://pyparsing.wikispaces.com. -- Paul Pyparsing is a pure-Python class library for quickly developing recursive-descent parsers. Parser grammars are assembled directly in the
German 1-day course on XML/ElementTree/lxml in Leipzig, Germany - September 3rd, 2010
Hi everyone, [English version] I will be giving a 1-day beginners course on XML, ElementTree and lxml in September. It will be held in German (although sufficient interest may convince me to give it in English as well). It's called High-Performance XML with Python and will take place at the Python Academy in Leipzig/Germany on September 3rd, 2010. http://www.python-academy.de/Kurse/kurs_xml_python.html http://www.python-academy.com/courses/prices.html If you are interested, please contact me and/or Mike Müller of the PyA. http://www.python-academy.com/contact.html [German version] Am 3. September 2010 gebe ich einen eintägigen deutschsprachigen Einsteigerkurs zu XML, ElementTree und lxml. Der Kurstitel ist High-Performance XML mit Python, Veranstaltungsort ist die Python-Akademie in Leipzig. http://www.python-academy.de/Kurse/kurs_xml_python.html http://www.python-academy.de/Kurse/preise.html Bei Intresse bitte an mich und/oder Mike Müller von der PyA wenden. http://www.python-academy.de/kontakt.html Have fun, Stefan -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
[ANN] RedNotebook 1.0
RedNotebook 1.0 has been released. You can get the tarball at http://sourceforge.net/projects/rednotebook/files/ For links to distribution packages head to the RedNotebook homepage http://rednotebook.sourceforge.net What is RedNotebook? RedNotebook is a **graphical journal** and diary helping you keep track of notes and thoughts. It includes a calendar navigation, customizable templates, export functionality and word clouds. You can also format, tag and search your entries. RedNotebook is available in the repositories of most common Linux distributions and a Windows installer is available. What's new? --- * Describe how to add latex math formulas and custom html tags in help * Fix crash on windows when data and program live on different drives in portable mode (LP:581646) * Fix display of italic text in edit mode * Fix inserting templates on Windows * New Translations: * Faroese Cheers, Jendrik -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
ANN: 'tsearchpath' Path Search Module, Version 1.08 Released
'tsearchpath' Version 1.108 is now released and available for download at: http://www.tundraware.com/Software/tsearchpath - What's New In This Release? --- This is the initial public release. A FreeBSD port has also been submitted. What Is 'tsearchpath'? --- 'tsearchpath' is a Python module for searching a list of paths for a particular file system 'filename'. This can be the name of a directory, file, or any other entity in the file system. This makes it easy to add things like include- or configuration file paths to your own programs. There is no fee for using 'tsearchpath' so long as the licensing terms found in 'tsearchpath-license.txt' are observed. Please take a moment to review this document. Tim Daneliuk tun...@tundraware.com PGP Key: http://www.tundraware.com/PGP/ -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
[ANN]: newthreading - an approach to simplified thread usage, and a path to getting rid of the GIL
We have just released a proof-of-concept implementation of a new approach to thread management - newthreading. It is available for download at https://sourceforge.net/projects/newthreading/ The user's guide is at http://www.animats.com/papers/languages/newthreadingintro.html This is a pure Python implementation of synchronized objects, along with a set of restrictions which make programs race-condition free, even without a Global Interpreter Lock. The basic idea is that classes derived from SynchronizedObject are automatically locked at entry and unlocked at exit. They're also unlocked when a thread blocks within the class. So at no time can two threads be active in such a class at one time. In addition, only frozen objects can be passed in and out of synchronized objects. (This is somewhat like the multiprocessing module, where you can only pass objects that can be pickled. But it's not as restrictive; multiple threads can access the same synchronized object, one at a time. This pure Python implementation is usable, but does not improve performance. It's a proof of concept implementation so that programmers can try out synchronized classes and see what it's like to work within those restrictions. The semantics of Python don't change for single-thread programs. But when the program forks off the first new thread, the rules change, and some of the dynamic features of Python are disabled. Some of the ideas are borrowed from Java, and some are from safethreading. The point is to come up with a set of liveable restrictions which would allow getting rid of the GIL. This is becoming essential as Unladen Swallow starts to work and the number of processors per machine keeps climbing. This may in time become a Python Enhancement Proposal. We'd like to get some experience with it first. Try it out and report back. The SourceForge forum for the project is the best place to report problems. John Nagle -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
PyPy 1.3 released
=== PyPy 1.3: Stabilization === Hello. We're please to announce release of PyPy 1.3. This release has two major improvements. First of all, we stabilized the JIT compiler since 1.2 release, answered user issues, fixed bugs, and generally improved speed. We're also pleased to announce alpha support for loading CPython extension modules written in C. While the main purpose of this release is increased stability, this feature is in alpha stage and it is not yet suited for production environments. Highlights of this release == * We introduced support for CPython extension modules written in C. As of now, this support is in alpha, and it's very unlikely unaltered C extensions will work out of the box, due to missing functions or refcounting details. The support is disable by default, so you have to do:: import cpyext before trying to import any .so file. Also, libraries are source-compatible and not binary-compatible. That means you need to recompile binaries, using for example:: python setup.py build Details may vary, depending on your build system. Make sure you include the above line at the beginning of setup.py or put it in your PYTHONSTARTUP. This is alpha feature. It'll likely segfault. You have been warned! * JIT bugfixes. A lot of bugs reported for the JIT have been fixed, and its stability greatly improved since 1.2 release. * Various small improvements have been added to the JIT code, as well as a great speedup of compiling time. Cheers, Maciej Fijalkowski, Armin Rigo, Alex Gaynor, Amaury Forgeot d'Arc and the PyPy team -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/