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.
* 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.
* Luban 1.0.1 mainly supports python 3.1+
* Experimental support for python 2.6+ exists.
$ pip install luban
Bug reports and any comments are appreciated!
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):
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 ;-)
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.
One-day in-depth SQLAlchemy training with guest trainer Erik Janssens.
Location: Leipzig, Germany
Trainer: Erik Janssens
Course Language: English
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.
Location: Leipzig, Germany
Trainer: Erik Janssens
Course Language: English
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.
Location: Leipzig, Germany
Trainer: Mike Müller
Course Language: English
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),
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
* 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
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
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
* Code intelligence for Python: Auto-completion, call tips, find uses,
goto-definition, error indicators, refactoring, context-aware
smart indent and rewrapping, and source navigation
* Advanced multi-threaded debugger with graphical UI, command line
conditional breakpoints, data value tooltips over code, watch tool, and
externally launched and remote debugging
* Powerful search and replace options including keyboard driven and
UIs, multi-file, wild card, and regular expression search and replace
* Version control integration for Subversion, CVS, Bazaar, git,
* 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
X11 Server), or a recent Linux system (either 32 or 64 bit). Wing IDE
Python versions 2.0.x through 3.2.x and Stackless Python.
For more information, see the http://wingware.com/
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:
Wing IDE Personal -- A simplified IDE:
Wing IDE 101 -- For teaching with Python:
**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:
The Wingware Team
Wingware | Python IDE
Advancing Software Development
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
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
* 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
* 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
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.
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:
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
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:
The 3.2.2 release of the eGenix mx Base Distribution is the latest release of our open-source Python
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:
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
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
and the change logs of the various included Python packages.
The download archives and instructions for installing the packages can
be found on the eGenix mx Base Distribution page:
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
Commercial support for this product is available from eGenix.com.
for details about our support offerings.
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