ANN: Gracie v0.2 -- a local-account OpenID provider

2007-03-27 Thread Ben Finney
Howdy all,

I'm pleased to announce the creation of the Gracie project.

What is Gracie?
===

Gracie is an OpenID server (a "provider" in OpenID terminology) that 
serves OpenID identities for the local system PAM accounts. It 
authenticates users with a username/password challenge.

The OpenID protocol is documented at http://openid.net/>.

Gracie is intended for use within trusted environments that have an 
existing authentication system available via PAM (e.g. most GNU/Linux 
environments), that would like to provide OpenIDs for all local users 
instead of maintaining disparate web-based accounts for local 
services.

What can Gracie do now?
===

Gracie 0.2 is still alpha-development software, not intended for use 
in production environments. That said, this version does satisfy some 
basic requirements.

Currently Gracie can serve OpenID 1.1 authentication for local PAM 
users. It will authenticate the user with a web form, using the PAM 
system where the Gracie server is running. It assumes that any 
consumer request for identity is authorised to be given the user's 
identity.

What improvements are needed?
=

The current state of Gracie is functional but still needs much 
improvement. Please check the TODO.txt file in the source package for 
a list of improvements that need to be made.


As of this announcement, Gracie version 0.2 is available.

The project's home page is http://trac.whitetree.org/gracie/>.

-- 
 \ "When I turned two I was really anxious, because I'd doubled my |
  `\   age in a year. I thought, if this keeps up, by the time I'm six |
_o__)   I'll be ninety."  -- Steven Wright |
Ben Finney <[EMAIL PROTECTED]>
-- 
http://mail.python.org/mailman/listinfo/python-announce-list

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


ANN: python-ldap-2.3.0

2007-03-27 Thread Michael Ströder
Find a new release of python-ldap:

  http://python-ldap.sourceforge.net/

python-ldap provides an object-oriented API to access LDAP directory
servers from Python programs. It mainly wraps the OpenLDAP 2.x libs for
that purpose. Additionally it contains modules for other LDAP-related
stuff (e.g. processing LDIF, LDAPURLs and LDAPv3 schema).


Released 2.3.0 2007-03-27

Changes since 2.2.1:

* OpenLDAP 2.3+ required now to build.
* Added support for Cancel operation ext. op. if supported
in OpenLDAP API of the libs used for the build.

Modules/
* Removed deprecated code for setting options by name
* Added l_ldap_cancel()
* Some modifications related to PEP 353 for
  Python 2.5 on 64-bit platforms (see SF#1467529, thanks to Matej)
* Added new function l_ldap_str2dn(), removed functions
  l_ldap_explode_dn() and l_ldap_explode_rdn()
  (see SF#1657848, thanks to David)

Lib/
* Added method ldapobject.LDAPObject.cancel()
* ldap.schema.subentry.urlfetch() now can do non-anonymous
  simple bind if the LDAP URL provided contains extensions
  'bindname' and 'X-BINDPW'. (see SF#1589206)
* ldap.filter.escape_filter_chars() has new a key-word argument
  escape_mode now which defines which chars to be escaped
  (see SF#1193271).
* Various important fixes to ldapobject.ReconnectLDAPObject
* Moved all DN-related functions to sub-module ldap.dn,
  import them in ldap.functions for backward compability
* ldap.dn.explode_dn() and ldap.dn.explode_rdn() use the new
  wrapper function ldap.dn.str2dn() (related to SF#1657848)
* changetype issue partially fixed (see SF#1683746)

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

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


PyPy 1.0: JIT compilers for free and more

2007-03-27 Thread Carl Friedrich Bolz
==
PyPy 1.0: JIT compilers for free and more
==

Welcome to the PyPy 1.0 release - a milestone integrating the results
of four years of research, engineering, management and sprinting
efforts, concluding the 28 months phase of EU co-funding!

Although still not mature enough for general use, PyPy 1.0 materializes
for the first time the full extent of our original vision:

- A flexible Python interpreter, written in "RPython":

   - Mostly unaware of threading, memory and lower-level target platform
 aspects.
   - Showcasing advanced interpreter features and prototypes.
   - Passing core CPython regression tests, translatable to C, LLVM and 
.NET.

- An advanced framework to translate such interpreters and programs:

   - That performs whole type-inference on RPython programs.
   - Can weave in threading, memory and target platform aspects.
   - Has low level (C, LLVM) and high level (CLI, Java, JavaScript) 
backends.

- A **Just-In-Time Compiler generator** able to **automatically**
   enhance the low level versions of our Python interpreter, leading to
   run-time machine code that runs algorithmic examples at speeds typical
   of JITs!

Previous releases, particularly the 0.99.0 release from February,
already highlighted features of our Python implementation and the
abilities of our translation approach but the **new JIT generator**
clearly marks a major research result and gives weight to our vision
that one can generate efficient interpreter implementations, starting
from a description in a high level language.

We have prepared several entry points to help you get started:

* The main entry point for JIT documentation and status:

http://codespeak.net/pypy/dist/pypy/doc/jit.html

* The main documentation and getting-started PyPy entry point:

http://codespeak.net/pypy/dist/pypy/doc/index.html

* Our online "play1" demos showcasing various Python interpreters,
   features (and a new way to program AJAX applications):

http://play1.codespeak.net/

* Our detailed and in-depth Reports about various aspects of the
   project:

http://codespeak.net/pypy/dist/pypy/doc/index-report.html

In the next few months we are going to discuss the goals and form of
the next stage of development - now more than ever depending on your
feedback and contributions - and we hope you appreciate PyPy 1.0 as an
interesting basis for greater things to come, as much as we do
ourselves!

have fun,

 the PyPy release team,
 Samuele Pedroni, Armin Rigo, Holger Krekel, Michael Hudson,
 Carl Friedrich Bolz, Antonio Cuni, Anders Chrigstroem, Guido Wesdorp
 Maciej Fijalkowski, Alexandre Fayolle

 and many others:
 http://codespeak.net/pypy/dist/pypy/doc/contributor.html


What is PyPy?


Technically, PyPy is both a Python interpreter implementation and an
advanced compiler, or more precisely a framework for implementing dynamic
languages and generating virtual machines for them.

The framework allows for alternative frontends and for alternative
backends, currently C, LLVM and .NET.  For our main target "C", we can
can "mix in" different garbage collectors and threading models,
including micro-threads aka "Stackless".  The inherent complexity that
arises from this ambitious approach is mostly kept away from the Python
interpreter implementation, our main frontend.

PyPy is now also a Just-In-Time compiler generator.  The translation
framework contains the now-integrated JIT generation technology.  This
depends only on a few hints added to the interpreter source and should
be able to cope with the changes to the interpreter and be generally
applicable to other interpreters written using the framework.

Socially, PyPy is a collaborative effort of many individuals working
together in a distributed and sprint-driven way since 2003.  PyPy would
not have gotten as far as it has without the coding, feedback and
general support from numerous people.

Formally, many of the current developers were involved in executing an
EU contract with the goal of exploring and researching new approaches
to language and compiler development and software engineering.  This
contract's duration is about to end this month (March 2007) and we are
working and preparing the according final review which is scheduled
for May 2007.

For the future, we are in the process of setting up structures to help
maintain conceptual integrity of the project and to discuss and deal
with funding opportunities related to further PyPy sprinting and
developments. See here for results of the discussion so far:

 http://codespeak.net/pipermail/pypy-dev/2007q1/003577.html


1.0.0 Feature highlights
==


Here is a summary list of key features included in PyPy 1.0:

- The Just-In-Time compiler generator, now capable of generating the
   first JIT compiler versions of our Python interpreter:

http://cod

python-cjson 1.0.3x2 released

2007-03-27 Thread Ferenczi Viktor
This is an enhanced version of python-cjson, the fast JSON encoder/decoder.

Qiangning Hong submitted a patch to fix segfault with Python 2.5 on 64 bit
platforms. Version python-cjson 1.0.3x2 released to incorporate this patch.

It's numbered 1.0.3x, where x stands for eXtension.

The main improvement is the ability to extend the JSON encoder and decoder
with extensions functions to serialize/unserialize objects not in the
original JSON specification. This is achieved without sacrificing the speed
and stability of the original implementation. Please send bug reports to
[EMAIL PROTECTED] and do not contact the original author (Dan Pascu) about this
version.

Download and more information:
http://cx.hu/python-cjson/

Example to encode/decode python date objects as JavaScript Date:

import re
import cjson
import datetime

# Encoding Date objects:
def dateEncoder(d):
assert isinstance(d, datetime.date)
return 'new Date(Date.UTC(%d,%d,%d))'%(d.year, d.month, d.day)

json=cjson.encode([1,datetime.date(2007,1,2),2], extension=dateEncoder)
assert json=='[1, new Date(Date.UTC(2007,1,2)), 2]'

# Decoding Date objects:
re_date=re.compile('^new\sDate\(Date\.UTC\(.*?\)\)')
def dateDecoder(json,idx):
json=json[idx:]
m=re_date.match(json)
if not m: raise 'cannot parse JSON string as Date object: %s'%json[idx:]
args=cjson.decode('[%s]'%json[18:m.end()-2])
dt=datetime.date(*args)
return (dt,m.end()) # must return (object, character_count) tuple

data=cjson.decode('[1, new Date(Date.UTC(2007,1,2)), 2]',
extension=dateDecoder)
assert data==[1,datetime.date(2007,1,2),2]

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

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


SyPy - Sydney Users Group Meeting, Thursday April 5, 2007

2007-03-27 Thread Mark Rees

Hi everyone,

For our April meeting, Google have kindly offered to host us.

Thursday, April 5, 2007 6:15-8:30PM
Google Australia
Level 18, Tower 1 Darling Park
201 Sussex St
Sydney

We will have two presentations:

1. Alec Thomas will give us a debrief on his time at PyCon 2007

2. Andrew Bennets will talk about the Bazaar Distributed Version Control

followed by some lively discussion and for those who want to, we will
continue the gathering
at a local watering hole after 8:30PM.

The room can hold 40 people. To attend this meeting you must RSVP to Alan
Green  (alangreen at google dot com)

Regards

Mark

About SyPy

A group of Sydney based python users who meet on the first thursday of the
month.

Website: http://sypy.org

Maillist: http://groups.google.com/group/sydneypython
-- 
http://mail.python.org/mailman/listinfo/python-announce-list

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


Elixir 0.3.0 released!

2007-03-27 Thread Gaetan de Menten
We are pleased to announce that version 0.3.0 of Elixir is now
available. As always, feedback is very welcome, preferably on Elixir
mailing list.

Highlights for this release
-

- Added support for autoloading/reflecting databases with
 has_and_belongs_to_many relationships. See the docs for details.
- Added support for the "version_id_col" option on entities. This option adds
 a column to the table which will be used to prevent concurrent modifications
 on any row of the entity's table (i.e. it will raise an error if it happens).
- Added an "ondelete" argument to belongs_to relationships.
- The tablename option can now be given a callable so that people can provide
 their own function to get the table name for an entity.
- Made the provided metadata not threadlocal. This could break things for you
 in some rare case. Please see the (newly created) FAQ file for details about
 this.

- Fixed bug preventing having entities without any statement.
- Fixed typo which broke the use_alter argument on belongs_to relationships.

The full list of changes can be seen at:
http://elixir.ematia.de/svn/elixir/tags/0.3.0/CHANGES

What is Elixir?
-

Elixir is a declarative layer on top of SQLAlchemy. It is a fairly
thin wrapper, which provides the ability to define model objects
following the Active Record design pattern, and using a DSL syntax
similar to that of the Ruby on Rails ActiveRecord system.

Elixir does not intend to replace SQLAlchemy's core features, but
instead focuses on providing a simpler syntax for defining model
objects when you do not need the full expressiveness of SQLAlchemy's
manual mapper definitions.

Mailing list


http://groups.google.com/group/sqlelixir/about


-- 
Gaëtan de Menten
http://openhex.org
-- 
http://mail.python.org/mailman/listinfo/python-announce-list

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


Shed Skin Optimizing Python-to-C++ Compiler 0.0.21

2007-03-27 Thread Mark Dufour
Hi all,

Development of Shed Skin is continuing at a steady pace. I have just
released 0.0.21, which comes with the following changes:

-important type inference fix/cleanup
-support for 'bisect', 'collections.deque' and 'string.maketrans'
-improved 'copy' support
-support for 'try, else' construction
-some optimizations ('dict[..] += ..', "''.join(sorted(str))")
-several minor bug fixes

See the homepage for more information about Shed Skin, and a
collection of 27 'largish' programs (in total about 7,000 lines) that
compile with the latest release:

http://mark.dufour.googlepages.com

I am always looking for developers to join the project. So far I have
not received much help. An important area where Shed Skin is still
lacking is integration with CPython (building extension modules and
using non-compiled modules from compiled code). Other areas I could
really use help with are systematic testing, bug reporting, building a
better website/wiki, etc. Please let me know if you are interested,
and/or join the mailing list from the sourceforge site.


Thanks,
Mark Dufour.
-- 
"One of my most productive days was throwing away 1000 lines of code"
- Ken Thompson
-- 
http://mail.python.org/mailman/listinfo/python-announce-list

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