[ANN] Zope 3.4.1 KGS released!

2010-06-25 Thread Adam GROSZER
==
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

2010-06-25 Thread Paul McGuire
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

2010-06-25 Thread Stefan Behnel

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

2010-06-25 Thread Jendrik Seipp

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

2010-06-25 Thread Tim Daneliuk
'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

2010-06-25 Thread John Nagle

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

2010-06-25 Thread Maciej Fijalkowski
===
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/