Luban 1.0.1 was released. In this release, "Workflow" was introduced to make it easier for users to build their applications using workflows as building blocks. A tutorial of "workflow" is here: http://lubanui.org/current/workflow-tutorial.html. The first three workflows introduced were: registration, login, and feedback; see http://lubanui.org/current/workflow.html.
These workflow examples also show how luban could work with models and database. Once luban is installed, you can read its source code to find out how those workflows were implemented to work with database models. They are under luban python sub-packages "luban.workflows.<workflow>". Or you can find source code of workflows here: http://bazaar.launchpad.net/~jiao-lin/luban/trunk/files/head:/workflows/lub….
Please keep in mind, however, luban is not intended to be a full-featured python web framework. Its main purpose is to help (web) UI developers to specify their UI applications in a generic and concise way. So these workflows are just examples, and are not the main functionality of luban. They can be used as scaffolding tools for your applications, but in no way they should limit you from finding creative ways of using luban with stuff typically found in a python web framework -- database, orm, etc.
There are some new developments for the luban API documentation and demo, "aokuang" (http://lubanui.org/aokuang) as well. API/demo for individual widget is now available at http://aokuang.lubanui.org/<widget>. For example, http://aokuang.lubanui.org/document.
Also, you could get a sneak peak at one new widget for the next release, luban 1.0.2, "sketchcanvas", at http://aokuang.lubanui.org/sketchcanvas.
-------
Luban (http://lubanui.org) is a compact, generic UI "language".
It is a python package for building (web) user interface.
It is NOT yet-another web framework.
Features:
* Dynamic, ajax-based web user interface can be created using pure python (no knowledge of javascript/ajax/etc is required)
* A compact set of simple concepts and rules
* Simple, natural syntax for describing UI
* A set of basic and advanced widgets --- see demo and API of widgets at http://lubanui.org/aokuang
* Write "bindings" of your favorite js widgets to use them in python.
Python versions:
* Luban 1.0.1 mainly supports python 3.1+
* Experimental support for python 2.6+ exists.
Installation:
$ pip install luban
Bug reports and any comments are appreciated!
--
Jiao Lin
linjiao(a)caltech.edu
FYI
Just released Qdb, a small & simple remote client/server debugger
based on Bdb (Pdb style), wich could be used from a remote terminal to
any server (and in the near future, with a nice visual IDE):
http://code.google.com/p/rad2py/wiki/QdbRemotePythonDebugger
It uses multiprocessing.connection to communicate between the backend
and frontend, with a simple JSONRPC-like stream protocol.
It could use also Queues or Pipes for communication, and includes a
basic frontend (Cmd command line based) that can be replaced with a
visual interface (currently working on a wxPython one, but it could be
adapted to any framework/toolkit)
Quick start guide:
1. Download qdb.py (put in your python path / local folder)
2. Add the following line: import qdb; qdb.set_trace()
3. In a terminal, run: python qdb.py
Then run the main program, when the qdb.set_trace() line is reached,
you'll see the debugger prompt in your terminal.
Also, it can invoke a program to be debugged using pdb like syntax:
python -m qdb yourscript.py
To connect to a remote server, just change addres and password in the
source file. ASAP that will be more configurable.
This work was started as a research thesis, but I think it can be used
for other purposes too.
Comments and contributions are welcome ;-)
Best regards
Mariano Reingart
http://www.sistemasagiles.com.arhttp://reingart.blogspot.com
Get up to Speed with SQLAlchemy and More
========================================
SQLAlchemy is a great library that combines the power of
Python with the well-establish world of relational databases
in a powerful manner.
If you would like to learn more about SQLAlchemy, you might be
interested in our course in Germany.
This course is followed by a Camelot course. Camelot uses
SQLAlchemy for building rich desktop applications.
If you would like to improve your Python knowledge before taking
these courses, we recommend our "Python for Programmers" course
that you can attend just before the SQLAlchemy course.
All three courses can be booked separately or combined.
See below for details.
Mike
SQLAlchemy Course
-----------------
One-day in-depth SQLAlchemy training with guest trainer Erik Janssens.
Date: 09.02.2012
Location: Leipzig, Germany
Trainer: Erik Janssens
Course Language: English
Link:
http://www.python-academy.com/courses/specialtopics/python_course_sqlalchem…
Camelot Course
--------------
Camelot (http://www.python-camelot.com/) is an open source RAD framework
for rich desktop applications. Basic ingredients are Python, SQLAlchemy
and Qt. This course is best combined with the SQLAlchemy course just the
day before (see above). The course is presented by guest trainer and
Camelot expert Erik Janssens.
Date: 10.02.2012
Location: Leipzig, Germany
Trainer: Erik Janssens
Course Language: English
Link:
http://www.python-academy.com/courses/specialtopics/python_course_camelot.h…
Python for Programmers
----------------------
You know another programming language and would like to learn Python?
This course teaches you all the basics to write useful Python programs.
It is hands-on with plenty of exercises and also provides sound knowledge
how Python does things.
Date: 06.02.-08.02.2012
Location: Leipzig, Germany
Trainer: Mike Müller
Course Language: English
Link: http://www.python-academy.com/courses/python_course_programmers.html
Hi folks,
I'm pleased to announce the 0.2.0 release of pysendfile:
http://code.google.com/p/pysendfile
=== About ===
This is a python interface to sendfile(2) system call available on
most UNIX systems.
sendfile(2) provides a "zero-copy" way of copying data from one file
descriptor to another (a socket). The phrase "zero-copy" refers to the
fact that all of the copying of data between the two descriptors is
done entirely by the kernel, with no copying of data into userspace
buffers, resuting in file transfers being from 2x to 3x faster.
Basically, any application sending files over the network can take
advantage of it. HTTP and FTP servers are a typical example.
=== Supported platforms ===
* Linux
* Mac OSX
* FreeBSD
* Dragon Fly BSD
* Sun OS
* AIX (not properly tested)
=== Supported python versions ===
>From 2.5 to 3.3.
=== Links ===
* Home page: http://code.google.com/p/pysendfile
* Source tarball: http://pysendfile.googlecode.com/files/pysendfile-0.2.0.tar.gz
--- Giampaolo Rodola'
http://code.google.com/p/pyftpdlib/http://code.google.com/p/psutil/http://code.google.com/p/pysendfile/
Hi,
Wingware has released version 4.1.3 of Wing IDE, an integrated development
environment designed specifically for the Python programming language.
Wing IDE is a cross-platform Python IDE that provides a professional code
editor with vi, emacs, and other key bindings, auto-completion, call tips,
refactoring, context-aware auto-editing, a powerful graphical debugger,
version control, unit testing, search, and many other features.
**Changes in Version 4.1.3**
Highlights of this release include:
* Added move-line-up and move-line-down line editing commands
* Added Open From Project option to search only on the file name
* Added goto-overridden-method command
* Added copy-reference command to copy filename, line number(s),
scope, and
optionally the current or selected lines to the clipboard
* Added experimental Eclipse style key binding
* Several auto-editing improvements
* 12 vi mode fixes
* Avoid grouping snippets and arg entry into a single undo action
* Speed up auto-completion and auto-editing
* About 25 other bug fixes and minor improvements
Complete change log: http://wingware.com/pub/wingide/4.1.3/CHANGELOG.txt
**New Features in Version 4**
Version 4 adds the following new major features:
* Refactoring -- Rename/move symbols, extract to function/method, and
introduce variable
* Find Uses -- Find all points of use of a symbol
* Auto-Editing -- Reduce typing burden by auto-entering expected code
* Diff/Merge -- Graphical file and repository comparison and merge
* Django Support -- Debug Django templates, run Django unit tests, and more
* matplotlib Support -- Maintains live-updating plots in shell and debugger
* Simplified Licensing -- Includes all OSes and adds Support+Upgrades
subscriptions
Details on licensing changes: http://wingware.com/news/2011-02-16
**About Wing IDE**
Wing IDE is an integrated development environment designed specifically for
the Python programming language. It provides powerful editing, testing, and
debugging features that help reduce development and debugging time, cut down
on coding errors, and make it easier to understand and navigate Python code.
Wing IDE can be used to develop Python code for web, GUI, and embedded
scripting applications.
Wing IDE is available in three product levels: Wing IDE Professional is
the full-featured Python IDE, Wing IDE Personal offers a reduced feature
set at a low price, and Wing IDE 101 is a free simplified version designed
for teaching beginning programming courses with Python.
Version 4.0 of Wing IDE Professional includes the following major features:
* Professional quality code editor with vi, emacs, and other keyboard
personalities
* Code intelligence for Python: Auto-completion, call tips, find uses,
goto-definition, error indicators, refactoring, context-aware
auto-editing,
smart indent and rewrapping, and source navigation
* Advanced multi-threaded debugger with graphical UI, command line
interaction,
conditional breakpoints, data value tooltips over code, watch tool, and
externally launched and remote debugging
* Powerful search and replace options including keyboard driven and
graphical
UIs, multi-file, wild card, and regular expression search and replace
* Version control integration for Subversion, CVS, Bazaar, git,
Mercurial, and
Perforce
* Integrated unit testing with unittest, nose, and doctest frameworks
* Django support: Debugs Django templates, provides project setup tools,
and runs Django unit tests
* Many other features including project manager, bookmarks, code snippets,
diff/merge tool, OS command integration, indentation manager, PyLint
integration, and perspectives
* Extremely configurable and may be extended with Python scripts
* Extensive product documentation and How-Tos for Django, matplotlib,
Plone, wxPython, PyQt, mod_wsgi, Autodesk Maya, and many other frameworks
Please refer to http://wingware.com/wingide/features for a detailed listing
of features by product level.
System requirements are Windows 2000 or later, OS X 10.3.9 or later
(requires
X11 Server), or a recent Linux system (either 32 or 64 bit). Wing IDE
supports
Python versions 2.0.x through 3.2.x and Stackless Python.
For more information, see the http://wingware.com/
**Downloads**
Wing IDE Professional and Wing IDE Personal are commercial software and
require a license to run. A free trial can be obtained directly from the
product when launched.
Wing IDE Pro -- Full-featured product:
http://wingware.com/downloads/wingide/4.1
Wing IDE Personal -- A simplified IDE:
http://wingware.com/downloads/wingide-personal/4.1
Wing IDE 101 -- For teaching with Python:
http://wingware.com/downloads/wingide-101/4.1
**Purchasing and Upgrading**
Wing 4.x requires an upgrade for Wing IDE 2.x and 3.x users at a cost of
1/2 the full product pricing.
Upgrade a license: https://wingware.com/store/upgrade
Purchase a new license: https://wingware.com/store/purchase
Optional Support+Upgrades subscriptions are available for expanded
support coverage and free upgrades to new major releases:
http://wingware.com/support/agreement
Thanks!
--
The Wingware Team
Wingware | Python IDE
Advancing Software Development
www.wingware.com
Version 0.8.1 of IMAPClient is out. IMAPClient is an easy-to-use,
Pythonic and complete IMAP client library that takes the pain out of
doing IMAP with Python.
Highlights for version 0.8.1:
* IMAPClient wasn't installing on Windows due to an extra trailing
slash in MANIFEST.in
* MANIFEST.in was fixed so that the main documentation index file
is included the source distribution.
* distribute_setup.py was updated to the 0.6.24 version.
* Various documentation enhancements
IMAPClient currently works with Python 2.4 through 2.7.
Version 0.8.1 can be installed from PyPI (pip install imapclient) or
downloaded from http://freshfoo.com/projects/IMAPClient/IMAPClient-0.8.1.zip
For further information see:
Project website: http://imapclient.freshfoo.com/
Documentation: http://imapclient.readthedocs.org/
NEWS: http://imapclient.freshfoo.com/browser/NEWS
README: http://imapclient.freshfoo.com/browser/README
-Menno
I am proud to announce the release of Pogo, probably the simplest and
fastest audio player for Linux.
The tarball and an Ubuntu PPA are available 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.5 "Rolling in the deep" (2012-01-12)
=======================================
* Export tracks in playlist into a directory (with subdirectories)
* Save playlist periodically to prevent losing it during a shutdown
(LP:669132)
* Usability: Select new track when old selected is deleted
* Fix: Playback after pause should show the play icon, not the pause icon
* Fix: Never interrupt playing song when appending new ones (lp:735619)
* Cache music folders repeatedly to speedup searches
* Let user remove music folders that were deleted from the hard disk
* Do not add music folders that have been deleted
* Apply fix from decibel: Skipping track just before the end skips the
following track
* Apply fix from decibel: Sort files case-independently
* Apply fix from decibel: Raise the window of the already running
instance if there is one
* Apply fix from decibel: Create symbolic links to covers so that
external apps can access them
* Log all messages to log file
* Updated translations
Cheers,
Jendrik
pytickets are light-weight symmetrically signed data containers with
optional encryption, serialization and compression of their contents.
A sample anti-XSRF-library (tickets.web.forms.FormTokenService) based
on pytickets is included. It's stateless (as tickets are stand-alone
signed containers) and provides more security options than most anti-
XSRF-libraries in use today, for instance only allowing pre-declared
parameter names to be submitted.
http://pypi.python.org/pypi/pytickets/0.9.0
Documentation:
http://pytickets.tripleaes.com/
________________________________________________________________________
ANNOUNCING
eGenix.com mx Base Distribution
Version 3.2.2 for Python 2.4 - 2.7
Open Source Python extensions providing
important and useful services
for Python programmers.
This announcement is also available on our web-site for online reading:
http://www.egenix.com/company/news/eGenix-mx-Base-Distribution-3.2.2-GA.html
________________________________________________________________________
ABOUT
The eGenix.com mx Base Distribution for Python is a collection of
professional quality software tools which enhance Python's usability
in many important areas such as fast text searching, date/time
processing and high speed data types.
The tools have a proven record of being portable across many Unix and
Windows platforms. You can write applications which use the tools on
Windows and then run them on Unix platforms without change due to the
consistent platform independent interfaces.
Contents of the distribution:
* mxDateTime - Easy to use Date/Time Library for Python
* mxTextTools - Fast Text Parsing and Processing Tools for Python
* mxProxy - Object Access Control for Python
* mxBeeBase - On-disk B+Tree Based Database Kit for Python
* mxURL - Flexible URL Data-Type for Python
* mxUID - Fast Universal Identifiers for Python
* mxStack - Fast and Memory-Efficient Stack Type for Python
* mxQueue - Fast and Memory-Efficient Queue Type for Python
* mxTools - Fast Everyday Helpers for Python
The package also include a number of helpful smaller modules in the
mx.Misc subpackage, such as mx.Misc.ConfigFile for config file parsing
or mx.Misc.CommandLine to quickly write command line applications in
Python.
All available packages have proven their stability and usefulness in
many mission critical applications and various commercial settings all
around the world.
For more information, please see the distribution page:
http://www.egenix.com/products/python/mxBase/
________________________________________________________________________
NEWS
The 3.2.2 release of the eGenix mx Base Distribution is the latest release of our open-source Python
extensions.
The new patch-level version includes a few important fixes:
* mxDateTime seconds rounding is now more careful to not show
60.00 or 61.00 as second value.
* mxDateTime will now correctly work with numeric arrays (numpy)
again. Thanks to Christian Marquardt for reporting the problem.
* mxDateTime's DateTimeFromAbsDateTime() now accepts leap second
values (86400.0 - <86401.0) as well. Thanks to Christian Marquardt
for reporting the problem.
* Enhanced mx.Misc.ConfigFile. Please see the changelog for details
(URL listed below).
If you are upgrading from eGenix mx Base 3.1.x, please also see the
eGenix mx Base Distribution 3.2.0 release notes for details on what
has changed and which new features are available:
http://www.egenix.com/company/news/eGenix-mx-Base-Distribution-3.2.0-GA.html
As always, we are providing pre-built binaries for all common
platforms: Windows 32/64-bit, Linux 32/64-bit, FreeBSD 32/64-bit, Mac
OS X 32/64-bit. Source code archives are available for installation on
all other Python platforms, such as Solaris, AIX, HP-UX, etc.
To simplify installation in Zope/Plone and other egg-based systems, we
have also precompiled egg distributions for all platforms. These are
available on our own PyPI-style index server for easy and automatic
download.
Whether you are using a pre-built package or the source distribution,
installation is a simple "python setup.py install" command in all
cases. The only difference is that the pre-built packages do not
require a compiler or the Python development packages to be installed.
For a full list of changes, please refer to the eGenix mx Base Distribution
change log at
http://www.egenix.com/products/python/mxBase/changelog.html
and the change logs of the various included Python packages.
________________________________________________________________________
DOWNLOADS
The download archives and instructions for installing the packages can
be found on the eGenix mx Base Distribution page:
http://www.egenix.com/products/python/mxBase/
________________________________________________________________________
LICENSE
The eGenix mx Base package is distributed under the eGenix.com Public
License 1.1.0 which is an Open Source license similar to the Python
license. You can use the packages in both commercial and non-commercial
settings without fee or charge.
The package comes with full source code
________________________________________________________________________
SUPPORT
Commercial support for this product is available from eGenix.com.
Please see
http://www.egenix.com/services/support/
for details about our support offerings.
Enjoy,
--
Marc-Andre Lemburg
eGenix.com
Professional Python Services directly from the Source (#1, Jan 11 2012)
>>> Python/Zope Consulting and Support ... http://www.egenix.com/
>>> mxODBC.Zope.Database.Adapter ... http://zope.egenix.com/
>>> mxODBC, mxDateTime, mxTextTools ... http://python.egenix.com/
________________________________________________________________________
::: Try our new mxODBC.Connect Python Database Interface for free ! ::::
eGenix.com Software, Skills and Services GmbH Pastor-Loeh-Str.48
D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg
Registered at Amtsgericht Duesseldorf: HRB 46611
http://www.egenix.com/company/contact/