IMDbPY 3.1 released

2007-07-19 Thread Davide Alberani
IMDbPY 3.1 is available (tgz, deb, rpm, exe) from:
  http://imdbpy.sourceforge.net/

IMDbPY is a Python package useful to retrieve and manage the data of
the IMDb movie database about both movies and people.

In this release there are many fixes to stay up-to-date with the new
IMDb's layout. Moreover there is support for the new 'synopsis' and
'parents guide' pages.

Platform-independent and written in pure Python (and few C lines), it
can retrieve data from both the IMDb's web server and a local copy of
the whole database.

IMDbPY package can be very easily used by programmers and developers
to provide access to the IMDb's data to their programs.
Some simple example scripts are included in the package; other
IMDbPY-based programs are available from the home page.


-- 
Davide Alberani <[EMAIL PROTECTED]> [PGP KeyID: 0x465BFD47]
http://erlug.linux.it/~da/
-- 
http://mail.python.org/mailman/listinfo/python-announce-list

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


Python related activities at OSCon 2007 next week

2007-07-19 Thread Michael Pittaro
I've been getting ready for OSCon 2007 next week, and theres quite a bit
of Python related activity there.

Based on a suggestion from Jeff Rush, (who can't be there), I've
proposed a Python Advocacy BoF on Monday, from 6:30pm - 7:30pm. For
anyone arriving early, this will be a great opportunity to coordinate
Python advocacy activites at OSCon.

Theres also a regular Python BoF on Wednesday from 8:30pm - 9:30pm.

Apart from those, I've tagged [1] a bunch of sessions I felt were Python
related. This list includes sessions outside the main Python track.

[1] see:
http://blog.snaplogic.org/?p=61
or
http://del.icio.us/mikeyp/oscon2007%2Boscon_python

-- 
[EMAIL PROTECTED]http://www.snaplogic.org

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

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


pyIDL 0.6 released

2007-07-19 Thread Michael McKerns
updated Python bindings for IDL

http://www.its.caltech.edu/~mmckerns/software.html

# Version

0.6: 07/18/07
 added support for idl_6.4
 fixed boolean support in direct IDL function/procedure calls

(Thanks to G. Novak for his patch)

---

Mike McKerns
California Institute of Technology
http://www.its.caltech.edu/~mmckerns
-- 
http://mail.python.org/mailman/listinfo/python-announce-list

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


Pydev 1.3.8 Released

2007-07-19 Thread Fabio Zadrozny

Hi All,

Pydev and Pydev Extensions 1.3.8 have been released

Details on Pydev Extensions: http://www.fabioz.com/pydev
Details on Pydev: http://pydev.sf.net
Details on its development: http://pydev.blogspot.com

Release Highlights in Pydev Extensions:
-

* Code-analysis: Detects mixing of spaces and tabs.
* Code-analysis: Reimport not flagged when inside of try..except
ImportError.


Release Highlights in Pydev:
--

* Fixed problems related to the pydev package explorer that appeared when
using java 1.6 (ConcurrentModificationException)
* Other minor bug-fixes



What is PyDev?
---

PyDev is a plugin that enables users to use Eclipse for Python and Jython
development -- making Eclipse a first class Python IDE -- It comes with many
goodies such as code completion, syntax highlighting, syntax analysis,
refactor, debug and many others.


Cheers,

--
Fabio Zadrozny
--
Software Developer

ESSS - Engineering Simulation and Scientific Software
http://www.esss.com.br

Pydev Extensions
http://www.fabioz.com/pydev

Pydev - Python Development Enviroment for Eclipse
http://pydev.sf.net
http://pydev.blogspot.com
-- 
http://mail.python.org/mailman/listinfo/python-announce-list

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


Publication of Hachoir project version 1.0

2007-07-19 Thread Victor Stinner
Hachoir is a framework for binary file manipulation: file format
recognition, metadata extraction, search files in any binary stream
(forensics), view file content with human representation, etc. It's
composed of many component:

 Programs:
 * hachoir-metadata: fault tolerant metadata extraction;
 * hachoir-subfile: search subfiles in a disk image or any other
binary
   stream;
 * hachoir-urwid, hachoir-wx, hachoir-gtk, hachoir-gtk: user interface
to
   view file content (curses, wxPython, pygtk, web+ajax);

 Modules:
 * hachoir-core: library to split binary data into a field tree;
 * hachoir-parser: collection of 70 file format parsers;
 * hachoir-regex: regular expression optimization/manipulation and
pattern
   matching (used by hachoir-subfile).


Project website:
  http://hachoir.org/

List of supported file formats:
  http://hachoir.org/wiki/hachoir-parser#Listofparsers
  (jpeg, ttf, exe, rar, ogg, ntfs, ole2, torrent, ...)

Examples of metadata extraction:
  http://hachoir.org/wiki/hachoir-metadata/examples

hachoir-wx screenshots:
  http://hachoir.org/wiki/hachoir-wx#Screenshots


Hachoir works any operating system and only depends on Python (2.4+).
Packages are available for Debian, Mandriva, Gentoo, Arch and FreeBSD.

hachoir-core goal is to ease binary parser writing. It takes care of
endian
problem, has bit resolution (for addresses and sizes), and only use
Unicode
charset for text. It gives a nice API to the programmer (see parsers
source
code): each field is an object. A parser is lazy: its value, display
string,
description, etc. is computed on demand (when the program ask it). So
it's
possible to parse very complex structures and huge files (60 GB or
more is
not a problem).

hachoir-core and hachoir-metadata are "fault tolerant": on parser/
extractor
error or file error (truncated or damaged file), the program doesn't
stop
but continue to next valid state. It allows to extract informations on
very
damaged files.

hachoir-metadata create a dictionary with typed values: track number
is an
integer, creation date is datetime.datetime object, etc. and all text
are
stored as Unicode string. The API allows easy reuse of extracted data.

Source code has good code coverage with automatic tests (lot of
testcases).
Fuzzing is sometimes used to find more bugs.

Some experimental programs exist like hachoir-strip: program to remove
personal information (author name, timestamp, copyright, etc.) from a
picture, movie, sound, archive, etc. Another example: swf_extract.py
allows
to extract pictures and sounds from a SWF (Flash) document.

Victor Stinner aka haypo

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

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


itools 0.16.3 released

2007-07-19 Thread J. David Ibáñez
itools is a Python library, it groups a number of packages into a single
meta-package for easier development and deployment:

   itools.catalogitools.i18n itools.tmx
   itools.cmsitools.ical itools.uri
   itools.csvitools.odf  itools.vfs
   itools.datatypes  itools.pdf  itools.web
   itools.gettextitools.rest itools.workflow
   itools.handlers   itools.rss  itools.xhtml
   itools.html   itools.schemas  itools.xliff
   itools.http   itools.stl  itools.xml

Version 0.16.3 of itools does not use anymore the package uTidylib [1]
(it was required by itools.cms), now the itools API for (X)HTML is used
instead.

But the big news this Thursday is the new file handler (named "Table")
to manage structured data.  This feature is still in an experimental
state, the API will probably change in the next releases.

Another important change, the Virtual File System (itools.vfs) now can
open files in "append" mode.  This is supported by the local file system
layer, and by the itools.cms database.  So far only the handler Table
takes advantage of this feature to improve scalability.

All handlers have a new method, "abort_changes", which will reset the
changes made to a handler and not yet saved.  Folders have an specific
implementation that improves memory usage when a transaction is aborted,
or fails.

The itools.xhtml package has two new functions, "sanitize_stream" and
"sanitize_str"; they will clean an (X)HTML fragment of potentially
dangerous elements and attributes, like JavaScript code.

The (X)HTML document handlers have two new methods: "to_xhtml" and
"to_html".  They return a byte string that represents the state of the
handler, as XHTML and HTML respectively.

The HTML parser is now compatible with the XML parser, the events it
returns have the same structure.  And the state of the HTML document
handler is now identical to the state of the XHTML document handler.
(This way the itools.xhtml and itools.html packages are getting closer,
in preparation for a future merge.)

There is a fix in the XML parser (itools.xml), it did not correctly
parse attribute values when there was more than one entity reference.

And another small fix in the "set_prefix" function from itools.stl, now
the "" tags are also processed.

The reST support (itools.rest) has seen some changes to the API.  First
the function "to_html_events" will return an stream of (X)HTML events
from a reST text.  Second the new function "to_str(text, format)" is
recommended over "to_xml", "to_html" and "to_latex", which become
deprecated.  Last, the "Document" class has been removed, as it was
redundant (use the functions instead).

And the usual bunch of fixes for itools.cms; most notably the new
procedure for when the user forgets her password: now instead of
sending a new password by email we send a link to a form that allows
the user to choose her new password.  Also, a number of methods
have been deprecated, check the UPDATE-0.16.3 file for the details.


Credits:

  - J. David Ibáñez worked on itools.vfs, itools.handlers, itools.xml and
itools.cms;
  - Henry Obein fixed bugs;
  - Sylvain Taverne worked on itools.xhtml, itools.rest and itools.cms;


Resources
-

Download
http://download.ikaaro.org/itools/itools-0.16.3.tar.gz

Home
http://www.ikaaro.org/itools

Mailing list
http://mail.ikaaro.org/mailman/listinfo/itools

Bug Tracker
http://bugs.ikaaro.org/


-- 
J. David Ibáñez
Itaapy  Tel +33 (0)1 42 23 67 45
9 rue Darwin, 75018 Paris  Fax +33 (0)1 53 28 27 88
-- 
http://mail.python.org/mailman/listinfo/python-announce-list

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


dbcook 0.1

2007-07-19 Thread svilen_dobrev
g'day.

This is dbcook, a framework to cook databases from recipes, written 
as python declarations. Eventually the result may be edible (;-)

If u're interested, have a look, dbcook/usage/example1.py might be a 
start. The directory-structure is still in flux - u need to get the 
internal dbcook/ accessible somehow (PYTHONPATH or else). Licensed as 
MIT-license.

svn co https://dbcook.svn.sf.net/svnroot/dbcook/trunk

http://dbcook.sf.net


Here a short description what it probably is, and can do:

A framework for declarative mapping of object hierarchies/relations 
into a (relational or not) database.

The "language" itself is made with independence in mind, although 
currently all available builder stuff is over SQLAlchemy as backend 
(so it looks like wrapping declarative translator).

It completely hides/automates the table/key/column/mapper/whatever 
creation. The user can only control certain characteristics of the 
way the mapping happens, mostly related to hierarchy and relations 
between objects (subclasses, instances, leafs, uniqueness etc).

it's about 10 months old now. It can handle: 
 - data column types
 - reference columns -> foreign keys
 - class inheritance, and class inclusion (inheritance without 
database mapping of the base), and virtual classes (those never
have instances). More in mapcontext._Base
 - polymorphism, giving 3 kinds of queries for each mapped class: ALL, 
base-only, subclasses only
 - any combination of table-inheritance-types within the tree 
(concrete/joined/no-single-yet; beware that sql-polymorphism only 
works with joined-table for now)
 - automatic solving of cyclical references/dependencies (and putting 
proper alter_table / post_update)
 - associations (many2many) - implicit and explicit
 - more? maybe


Example declarations:

import dbcook.usage.plainwrap as o2r
class Text( o2r.Type): pass

class Address( Base):
place = Text()

class Person( o2r.Base):
name = Text()
address = o2r.Type4SubStruct( Address)
friend  = o2r.Type4SubStruct( 'Person')

class Employee( Person):
job = Text()

. and no mentioning of tables, columns etc whatsoever .

Once the mapping is built, any of these can be done:
 - use it as plain SA - session.query( class).. and similar
 - query-clause expressions can be automatically created from plain 
python functions over objects' attributes, e.g.: 
 lambda self: (self.friend.manager.age < 40) & self.name.endswith('a')
 - generate a source of the equivalent plain SA-calls to build it

So far it is just a library. There is no single way to use it. The 
directory usage/ has 2 possible reflectors (things that walk the 
declared classes and gather info from them), one is just plain python 
(plainwrap.py), another is for my static_type/ framework. You can 
make your own for your own taste.

The usage/samanager thing tries to (correctly - context like) keep all 
related things in one place - mappings, dbs, engines, sessions, etc. 
If destroy() is requested, it'll try hard to clear all side-effects 
of its existence.

Certain pieces are (almost) independent and are usable as is without 
all the rest: expression.py, usage/hack*py, sa_generator.py - all 
SQLAlchemy related.

The tests/ directory contains 2 types of tests - sa/ which proves that 
the way SA is used in dbcook is correct/working, and mapper/other 
which check whether the cooker does right thing as result. It still 
uses makefile to run all stuff.

external dependencies: 
 - needs kjbuckets (from gadfly) for graph-arithmetics
 - needs sqlalchemy, 0.3.6+?
 - optional static_type/ framework - makes staticly-declared structs 
(a-la java/C semantics) in python - do mail if interested.

Some todo's, long- or short- term:
 - nicer/some way of declaring collections 
 (SA: relation(.. use_list=True))
 - some documentation, translate all in both languages.
 - tests for all the stuff, in most of combinations, 
instead of just trying this/that
 - generate sql-server-side functions, triggers etc
 - autoload / reverse-engineering
 - single-table inheritance
 - other reflectors/"syntaxes" - e.g. elixir-like 
 - concrete-polymorphism: polymunion of (type,id) key

have fun

svil
svilen_dobrev at users point sourceforge point net
Might be easier to reach me at sqlalchemy's newsgroup.

--

http://dbcook.sf.net";>dbcook 0.1 - A framework for 
declarative mapping of object hierarchies/relations 
into a (relational or not) database. (19-jul-2007)
-- 
http://mail.python.org/mailman/listinfo/python-announce-list

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