Hello Python users and developers,
I'm pleased to announce that pyexiv2 0.3.0 [1], codename "A Good Year",
was released today.
pyexiv2 is a python binding to exiv2 [2], the C++ library for
manipulation of EXIF, IPTC and XMP image metadata.
It is a python module that allows your python scripts to read *and*
write metadata (EXIF, IPTC, XMP, thumbnails) embedded in image files
(JPEG, TIFF, ...).
It is designed as a high-level interface to the functionalities offered
by libexiv2. Using python's built-in data types and standard modules, it
provides easy manipulation of image metadata.
This series remains fully backward compatible with its predecessor, the
0.2 series, which should ease the transition away from the antiquated
0.1 series.
The highlights of this release are:
- Compiles and tested (on linux and windows) against libexiv2 0.19,
0.20, 0.21
- ImageMetadata implements the collections.MutableMapping interface
- Consistent API across all types of tags to access the value(s)
- Read/write access to the EXIF thumbnail
- Decode and encode EXIF comments according to the specified charset
- API to (un)register custom XMP namespaces
- API to get, set and delete the (optional) IPTC charset
- Added pickling support to tags
- Use fractions.Fraction when available in the standard library (Python
≥ 2.6)
Feedback, suggestions and bug reports are welcome at
https://launchpad.net/pyexiv2.
Cheers,
Olivier
[1] https://launchpad.net/pyexiv2/0.3.x/0.3
[2] http://exiv2.org
We are proud to announce that version 1.99.1 of pygtkmvc has been
released.
Project homepage:
<http://apps.sourceforge.net/trac/pygtkmvc/wiki>
Download:
<http://sourceforge.net/projects/pygtkmvc/>
==============
About pygtkmvc
==============
pygtkmvc is a fully Python-based implementation of the
Model-View-Controller (MVC) and Observer patterns for the PyGTK2
toolkit.
MVC is a pattern that can be successfully used to design and
develop well structured GUI applications. The MVC pattern
basically helps in separating semantics and data of the
application, from their representation.
The Observer pattern helps to weaken dependencies among parts
that should be separated, but need to be connected each other.
pygtkmvc provides a powerful and still simple infrastructure to
help designing and implement GUI applications based on the MVC
and Observer patterns.
The framework has been designed to be:
* Essential and small, it does only what it was designed for.
* Not an external dependency for your application: it fits in
200KB and can be released along with it.
* Easy to understand and to use; fully documented.
* Portable: straightly runs under many platforms.
License: LGPL
**********************************************************************
* Dec 30 2010 *
**********************************************************************
Released version 1.99.1
This is a release that keeps compatibility with previous version
1.99.0. However, some features provided in 1.99.0 are deprecated
in 1.99.1.
This version goes in the direction of stabilizing the API and
making the code more robust. Many bugs were fixed, and a new,
clean API is now provided for defining notification methods in
observers, and logical observable properties in models.
The documentation has been updated and extended to reflect all
changes, and a complete Library Reference is now
available. Furthermore, the documentation now uses Sphinx instead
of Latex to generate both pdf and html documentation formats.
Last but not the least, the team grew up!
* New
- Models now feature Logical Observable Properties, along with
already supported Concrete Observable Properties.
- In Observers notification methods have all the same
prototype, which make much cleaner the application code.
- New mechanism to declare both dynamically and statically
notification methods in Observers.
- Auto-adapt of FileChooserButton, ComboBox and Adjustment
- API to extend default adapter list
- More widget types now correctly cast when adapted to
unicode/int/float properties.
- Enable RoUserClassAdapter to update the widget. It used to
only do it when connecting, not on property changes. This
makes the built-in support for gtk.Calendar work in both
directions.
- Controller's method adapt() allows auto-adaption even if the
view does not have corresponding widgets for *all* properties
in the model.
- Adapters can optionally call prop_write *instead of* casting
the value from the widget to the type of the old property
value. This was the intended behaviour all along. Default is
still to call it after the cast.
- Decorators for property setters/getters in models. The
methods can now have arbitrary names and you are no longer
limited to one property per method.
* Changed
- Name-based notification methods like
`property_<name>_value_change` are still supported, but their
usage is now discouraged. A new mechanism for declaring
notifications is now available, and you should consider
porting applications accordingly.
- Decorator Observer.observes is now deprecated. A new
mechanism for declaring notifications is now available, and
you should consider porting applications accordingly.
- Support GtkBuilder in addition to libglade, which is no
longer required. This changed the signature of the View
constructor. The two formats are not equivalent, as GTK
cannot build only parts of a file.
- Allow creation of adapters that act on spurious
notifications.
- Use less eval(codestring)
This changed how adapters create
observer functions. If you have adapter subclasses you will
have to adjust them.
- Misuse of the framework that used to exit your application
can now be caught as exceptions.
- Fewer warnings printed by the framework. Remember to increase
the logging level during development.
* Fixed
- Assigning a tuple with length 3 to a property no longer
raises
- Pass the correct model when emitting notifications for an
inherited signal. This changes how all property wrappers
track their owners, but your code should not be affected.
- Wrapped sequences lacked crucial special methods like len and
iter.
- Inspecting wrappers no longer omits the class name.
- Various changes to make SQLObjectModel actually usable.
- Wrapping more than one sequence class could cause the wrong
methods to be called on all but the last instance
created. This did not affect programs that only use the
built-in list type.
- Mutable instances that used to be assigned to properties
would notify of their changes even after being replaced in
the model.
- No more errors from static container adapters you didn't
create.
- Multiple concurrent iterators on views no longer steal each
other widgets.
Many thanks to Christian Spoer for narrowing down a bug and to
Tobias Weber for joining the team.
--
Roberto Cavada
<P><A HREF="http://pygtkmvc.sourceforge.net">pygtkmvc 1.99.1</A> -
Pygtk MVC is a thin, multiplatform framework that helps to design
and develop GUI applications based on the PyGTK toolkit. (30-Dec-10)
We are proud to announce that version 1.99.1 of pygtkmvc has been
released.
Project homepage:
<http://apps.sourceforge.net/trac/pygtkmvc/wiki>
Download:
<http://sourceforge.net/projects/pygtkmvc/>
==============
About pygtkmvc
==============
pygtkmvc is a fully Python-based implementation of the
Model-View-Controller (MVC) and Observer patterns for the PyGTK2
toolkit.
MVC is a pattern that can be successfully used to design and
develop well structured GUI applications. The MVC pattern
basically helps in separating semantics and data of the
application, from their representation.
The Observer pattern helps to weaken dependencies among parts that
should be separated, but need to be connected each other.
pygtkmvc provides a powerful and still simple infrastructure to
help designing and implement GUI applications based on the MVC and
Observer patterns.
The framework has been designed to be:
* Essential and small, it does only what it was designed for.
* Not an external dependency for your application: it fits in
200KB and can be released along with it.
* Easy to understand and to use; fully documented.
* Portable: straightly runs under many platforms.
License: LGPL
**********************************************************************
* Dec 30 2010 *
**********************************************************************
Released version 1.99.1
This is a release that keeps compatibility with previous version
1.99.0. However, some features provided in 1.99.0 are deprecated in
1.99.1.
This version goes in the direction of stabilizing the API and making
the code more robust. Many bugs were fixed, and a new, clean API is
now provided for defining notification methods in observers, and
logical observable properties in models.
The documentation has been updated and extended to reflect all changes,
and a
complete Library Reference is now available. Furthermore, the
documentation
now uses Sphinx instead of Latex to generate both pdf and html
documentation
formats.
Last but not the least, the team grew up!
* New
- Models now feature Logical Observable Properties, along with already
supported Concrete Observable Properties.
- In Observers notification methods have all the same prototype,
which make much cleaner the application code.
- New mechanism to declare both dynamically and statically
notification methods in Observers.
- Auto-adapt of FileChooserButton, ComboBox and Adjustment
- API to extend default adapter list
- More widget types now correctly cast when adapted to
unicode/int/float properties.
- Enable RoUserClassAdapter to update the widget.
It used to only do it when connecting, not on property changes.
This makes the built-in support for gtk.Calendar work in both
directions.
- Controller's method adapt() allows auto-adaption even if the view
does not have corresponding widgets for *all* properties in the
model.
- Adapters can optionally call prop_write *instead of* casting the
value from
the widget to the type of the old property value. This was the
intended
behaviour all along. Default is still to call it after the cast.
- Decorators for property setters/getters in models. The methods can
now have
arbitrary names and you are no longer limited to one property per
method.
* Changed
- Name-based notification methods like
`property_<name>_value_change` are still supported, but their
usage is now discouraged. A new mechanism for declaring
notifications is now available, and you should consider porting
applications accordingly.
- Decorator Observer.observes is now deprecated. A new mechanism for
declaring notifications is now available, and you should consider
porting applications accordingly.
- Support GtkBuilder in addition to libglade, which is no longer
required.
This changed the signature of the View constructor. The two
formats are not equivalent, as GTK cannot build only parts of a
file.
- Allow creation of adapters that act on spurious notifications.
- Use less eval(codestring)
This changed how adapters create observer functions. If you have
adapter subclasses you will have to adjust them.
- Misuse of the framework that used to exit your application can now
be
caught as exceptions.
- Fewer warnings printed by the framework. Remember to increase the
logging
level during development.
* Fixed
- Assigning a tuple with length 3 to a property no longer raises
- Pass the correct model when emitting notifications for an
inherited signal.
This changes how all property wrappers track their owners, but
your code should not be affected.
- Wrapped sequences lacked crucial special methods like len and
iter.
- Inspecting wrappers no longer omits the class name.
- Various changes to make SQLObjectModel actually usable.
- Wrapping more than one sequence class could cause the wrong
methods to be called on all but the last instance created. This
did not affect programs that only use the built-in list type.
- Mutable instances that used to be assigned to properties would
notify of their changes even after being replaced in the model.
- No more errors from static container adapters you didn't create.
- Multiple concurrent iterators on views no longer steal each other
widgets.
Many thanks to Christian Spoer for narrowing down a bug and to Tobias
Weber for joining the team.
--
Roberto Cavada
<P><A HREF="http://pygtkmvc.sourceforge.net">pygtkmvc 1.99.1</A> -
Pygtk MVC is a thin, multiplatform framework that helps to design
and develop GUI applications based on the PyGTK toolkit. (30-Dec-10)
Announcing the first release of my Coding class.
This is a simple utility class that answers the question of how to
implement enums in python. I know there have been many other answers as
well, many of them quite fine, but this is the answer that I've been
wanting so I'm sharing it.
Coding-0.001 should be considered alpha stability. I've written it,
it's pretty simple, and it has test cases, and it's now ready for others
to kick it about.
Features:
* Supports at least python 2.6, 2.7, and 3.1.
* MIT License (Open source)
Doc: http://packages.python.org/coding
PyPi: http://pypi.python.org/pypi/coding/0.001
--rich
Hi, I would announce you my new python wrapper to make shorten urls
and QRCodes, using main used services: goo.gl, bit.ly and tinyurl.
Please, visit http://code.google.com/p/tiny4py/
Bests
Hi there,
I'm really pleased to announce a new release of MyNewspaper, a
web-based personal RSS aggregator and feeds reader.
Although no public releases in last years, I've been improving
MyNewspaper continually for my personal use, but I think it's the time
to publish it again.
Some technical points of interest:
- backend based on CherryPy web framework, FeedParser, SQLObject, SQLite
- frontend with javascript (jQuery, jQueryUI, jQuery-mobile)
More information, complete requirements and download link at:
[main] https://inigo.katxi.org/devel/mynewspaper/
[mirror] http://www.terra.es/personal7/inigoserna/mynewspaper/
Of course, all comments, suggestions etc. are welcome.
Best regards,
Iñigo Serna
Hi,
I'm happy to announce Kamaelia's 4th release of 2010: 1.0.12.0
(Y.Y.M.r)
Kamaelia is a component system based around unix-like
concurrency/composition &
pipelining. There's a strong focus on networked multimedia systems.
Kamaelia's license changed earlier this year to the Apache 2.0 License.
The release is divided up as follows:
* Axon - the core component framework. Provides safe and secure
message based concurrency & composition using generators as
limited co-routines, threads, experimental process based support,
and (simplified) software transactional memory. Includes examples.
* Kamaelia - A large Ol' Bucket of components, both application
specific and generic. Components vary from network systems,
through digital tv, graphics, visualisation, data processing etc.
These reflect the work and systems that Kamaelia has been used
to build. Includes examples.
* Apps - A collection of applications built using Kamaelia. Whilst
Kamaelia includes a collection of examples, these are either
releases of internal apps or exemplars created by contributors.
* Bindings - a collection of bindings we maintain as part of
Kamaelia, including things like DVB bindings. (Bindings recently
changed over to using Cython to make life simpler)
Website:
http://www.kamaelia.org/Home.html
Source:
http://code.google.com/p/kamaelia
Tutorial:
http://www.kamaelia.org/PragmaticConcurrency.html
Detail of changes:
http://groups.google.com/group/kamaelia/browse_frm/thread/db45646ce1790233
Download:
http://www.kamaelia.org/release/MonthlyReleases/Kamaelia-1.0.12.0.tar.gz
Overview of Changes in this release:
* This rolls up (primarily) 3 application and examples branches.
The core functionality for these, as ever, is in the main
Kamaelia.Apps namespace, meaning these applications and examples
are designed for inclusion or extraction into other applications
relatively easily.
As a result they act as exemplars for things like 3D
visualisation, video and audio communications, twitter mining,
database interaction and analysis and django integration. They're
also useful (and used) as standalone apps in their own right.
* Examples (and application components) added for using the 3D
graph visualisation (PyOpenGL based) - one based on visualising
collaborations, another based on viewed FOAF networks.
* Whiteboard application extended such that:
* It supports multiway video comms as well as multiway audio
comms.
* Adds support for "decks" (collections of slides which can be
downloaded, saved, loaded, emailed, encrypted, etc)
* Removes pymedia dependency
* Change audio over to us PyAlsaAudio directly.
* Adds support for calibrated touch screen displays to Pygame
Display.
- For example large digital whiteboards in addition to
existing tablets etc.
* Adds in a "Social Bookmarking system" that does the following:
* Harvests a semantic web/RDF data store for realtime search
terms (relating to live television broadcast)
* Uses these search terms to search twitter, to identify
conversations around the semantic web data.
* Takes the resulting tweets, and stores them in a DB
* Analyses the tweets (including fixing language for analysis
using NLTK) for a variety of aspects, storing these in the DB
* Presents the results (graphs of buzz/popularity around the
content)
* Additionally the system attempts to identify particularly
interesting/notable moments based on audience conversations,
and provides links back to the actual broadcast programmes.
* Additionally provides an API for data, generates word
clouds etc.
* Front end uses Django and web graph APIs to presnet data.
Mailing list:
http://groups.google.com/group/kamaelia
Have fun :-)
Michael Sparks
--
http://twitter.com/kamaelianhttp://yeoldeclue.com/blog
Hi All,
I am glad to announce the first alpha release of PySWITCH.
http://pyswitch.sf.net
The idea of PySWITCH is to offer a complete library to Python and Twisted
programmers for interacting with FreeSWITCH using EventSocket interface. The
target is to cover all FreeSWITCH API commands and Dialplan tools. PySWITCH
handles all the low level details in executing FreeSWITCH commands, so the
programmer can easily concentrate on quickly building FreeSWITCH
applications. As an example, the API functions offered by PySWITCH often
executes many FreeSWITCH commands under the hood and finally returns the
desired result. Suppose you execute a background job, PySWITCH API will
automatically wait and catch the backgroundjob event parse the result and
will fire the deferred.
The current release covers good amount of API commands and a few Dialplan
tools. The protocol communication issues are ironed out. It has a nice event
call back interface. I’ll present its usage in couple of tutorials soon.
--
Thanks & Regards,
Godson Gera
http://godson.in
I am proud to announce the release of Pogo 0.3.1, probably the simplest
and fastest audio player for Linux.
You can get the tarball and an Ubuntu deb package at
http://launchpad.net/pogo
What is Pogo?
--------------------
Pogo plays your music. Nothing else. It tries to be fast and
easy-to-use. Pogo's elementary-inspired design uses the screen-space
very efficiently. It is especially well-suited for people who organize
their music by albums on the harddrive. The main interface components
are a directory tree and a playlist that groups albums in an innovative way.
Pogo is a fork of Decibel Audio Player. Supported file formats include
Ogg Vorbis, MP3, FLAC, Musepack, Wavpack, and MPEG-4 AAC.
Pogo is written in Python and uses GTK+ and gstreamer.
What's new in
0.3.1 "You are a radar detector" (2010-12-26)
==============================================
* When a track is added from nautilus etc. start playback if not already
playing
* Show info messages when no music directories have been added
* Stop old search when user clears search field or enters new search phrase
* Add search shortcut (Ctrl-F)
* Do not allow adding root or home directory to music directories
* Translations updated
Cheers,
Jendrik