[maemo-users] BRisa UPnP Framework has been released

From: ext Leandro Sales leandroal at gmail.com
Date: Thu Feb 5 06:15:32 EET 2009
Hello list!

I'm pleased to announce the release of Python-BRisa version 0.8.
 We have awesome worked for this release and due to this, the BRisa
project has started a new phase: we finally have a separation of the
BRisa framework and the applications. Please, try it, we are still
working hard to make the BRisa project much better than today.

What is Python-BRisa

Python-BRisa is an UPnP framework written in Python with facilities
for building UPnP devices, services and control points. The
Python-BRisa API comprehends Internet messaging protocols and basic
services (TCP, UDP, HTTP, SOAP, SSDP), networking facilities,
threading management, logging, configurations, web server and more.
Python-BRisa's runs on the maemo platform, Linux and on Mac with a few
tweaks. We would really appreciate community feedback, bug reports and
feature requests concerning attempts to run it on other systems.


- Python 2.5.x, Python 2.5.x-dev - http://www.python.org
- Python-Cherrypy - http://www.cherrypy.org

Features of this release


- Major cleanup on the framework (old/unused modules removed)
- Fixed PEP8 errors and files/methods/variables with wrong naming convention
- Split between framework and applications
- Separate documentation for developers and users
- Various bug-fixes on the framework and applicationss
- Thread management improvements (assured control over threads)
- Better programmatic control over the control point
- Better support for multiple instances of BRisa
- Configuration API stabilized, using cPickle
- Logging with more information (file, line, time)
- DIDL completely refactored and now uses cElementTree
- Added a simple command line tool for configuring (brisa-conf)
- UPnP A/V specifics moved out from python-brisa
- Added simple watch API for objects and SQLite databases
- Improved debian packaging
- Installation script (setup.py) enhanced
- Added more examples to the directory

Bugs fixed in this release

#2980: didl_lite using parse_xml incorrectly
#3242: difficulties in control point start/stop
#3244, #3270, #3273: ThreadObject problem with blocking run()'s fixed with
interruption mechanism
#3247: attributes moved to object scope
#3271: run_async_call() performing the call even when cancelled
#3273: ThreadManager.stop_all using list dangerously
#3274: webserver does not remove itself from ThreadManager list
#3288: service XML is never parsed
#3289: control point event not sending changed_vars
#3291: some UPnP devices sending empty controlURL
#3306: default number of trials and intervals of url_fetch should be
#3306: device which failed to download XML is being ignored forever by
#3371: instances of ThreadObject not being garbage-collected

Next release plans


- Improve the thread interrupt with a higher level mechanism (probably pipes)
- Provide framework's own exception classes
- Implement more basic devices as examples
- Add more basic examples of framework usage
- Complete unit test suite for the framework
- Add scripts for automatic packaging for gentoo, rpm
- Create an universal control point









Mailing list:


Meet us on IRC


#brisa @ irc.freenode.net


Thanks to the following contributors who awesome worked for this release:
    - Andre Moreira Magalhaes (andrunko) <andrunko at gmail.com>
    - Elvis Pfutzenreuter (epx) <epx at epx.com.br>

More information about the maemo-users mailing list