We'd like to announce the release candidate for
HTSQL 2.1, a high-level query language and web
service gateway for relational databases. HTSQL
is specifically designed for analytical inquiries
and targeted to data analysts and web developers.
HTSQL is implemented as a WSGI component, works
with PostgreSQL, MySQL, SQLite and could be used
to embed ad-hoc reporting features into your
Since 2.0 release, announced in February, we added many
new language features which increase the "query power"
of the language. HTSQL is now able to express quite
sophisticated business inquiries.
The 2.2 release of HTSQL later this year will be
focused on "usability". It'll include improved
configuration, a query editor and formatting options.
Also for this release we've cleaned up the homepage
attractive dashboards and interactive reports. This
toolkit is MIT licensed and implemented as a JQuery
plugin. For more detail, please visit http://htraf.org.
Let's us know if you have any questions!
Clark C. Evans & Kirill Simonov
HTSQL -- A Query Language for the Accidental Programmer
HTSQL ("Hyper Text Structured Query Language") is a high-level query
language for relational databases. The target audience for HTSQL is
the accidental programmer -- one who is not a SQL expert, yet needs a
usable, comprehensive query tool for data access and reporting.
HTSQL is also a web service which takes a request via HTTP, translates
it into a SQL query, executes the query against a relational database,
and returns the results in a format requested by the user agent (JSON,
CSV, HTML, etc.).
Use of HTSQL with open source databases (PostgreSQL, MySQL, SQLite) is
royalty free under BSD-style conditions. Use of HTSQL with proprietary
database systems (Oracle, Microsoft SQL) requires a commercial license.
See ``LICENSE`` for details.
For installation instructions, see ``INSTALL``. For list of new
features in this release, see ``NEWS``. HTSQL documentation is in the
The HTSQL homepage
Get taste of HTSQL
The HTSQL tutorial
HTSQL source code
IRC chat in #htsql on freenode
The mailing list for users of HTSQL
HTSQL is copyright by Prometheus Research, LLC. HTSQL is written by
Clark C. Evans <cce(a)clarkevans.com> and Kirill Simonov
Generous support for HTSQL was provided by the Simons Foundation.
This material is also based upon work supported by the National
Science Foundation under Grant #0944460.
A huge hit at PyCon-Au last year, Code War is back!
Eight teams, onstage knockout rounds of short programming bouts, loud
crowd...mildly impressive prizes. Any language allowed, no holds
bared. Think of it like cage fighting for coders.
Originally based on an idea from the book PeopleWare, CodeWar has been
run in conjunction with the Sydney WebDU conference since 2008 with
great success. To help share the mayhem we're proud to bring CodeWar
to PyCon-au 2011, with experienced CodeWar compare Robin Hilliard from
RocketBoots on the microphone to keep a wry eye on proceedings.
All comers welcome -- no conference ticket required. Come to compete
or just come to watch. RSVP now!
If you want to enter a team read on...
The competition will consist of three rounds:
* 8 teams of 3-5 people
* 1 laptop per team connected to projector on stage.
* Rounds are first-past-the-post simple programming challenges
* Any programming language you want.
We guarantee this won't be mind twisting problems for algorithm heads.
It will help to have a team with a mix of skills, a clever and/or
intimidating team name and vocal cheer squad.
For example: "Here is the complete text of pride and prejudice on this
usb key. Be the first to print out the 7th and 25th sentances that
contain both 'Elizabeth'and 'Darcy'". See a list of questions from
recent code war events.
If you're registering a team, the team leader should get 1 team leader
ticket and the team members a RSVP ticket. Don't forget to bring your
team and single laptop on the day.
If all the team slots are gone register your standby team in case of a
Thanks to Dylan Jay of PretaWeb for organising CodeWar this year.
I'm happy to announce the release of ackward-0.4.
Ackward is a C++ API for parts of the Python standard library. This
release focuses primarily on "logging", and it includes a number of
API improvements, bug fixes, and a great deal of improvement to the
I would like to announce new release of Portable Python based on Python 3.2.
Included in this release:
* NetworkX v.1.4
* PySerial v.2.5
* PyScripter v.2.4.1
* PyWin32 v.216
* RPyC v.3.0.7
Installation and use:
After downloading, run the installer, select the packages you would like to install, select target folder and you are done! In the main folder you will find shortcuts for selected applications in that package. Some of the most popular free Python IDE’s come preinstalled and preconfigured with Portable Python. How to use and configure them further please consult their documentation or project sites.
Here an attempt of translated Python 3: replacing the english words
( operators, names and messages - if,else,for,..) with another language
- e.g. bulgarian (ако,иначе,за). For kids, and people who want to think
and write in their own language, instead of suffer with the
alternatives - near-"english", transliteration into latin, mixed
клас Филминфо( Инфо): #изцяло преведено / fully translated
деф сглоби_име( кл, име ):
имена = [ име ]
ако име.завършва('.bg'): имена.допълни( име[:-3])
инако име.завършва('.ru'): имена.допълни( име[:-3])
иначе: имена.допълни( име)
върни Инфо.сглоби_име( *имена)
class Filminfo( Info): #изцяло на английски / fully in english
def make_name( kl, name):
names = [ name]
if name.endswith('.bg'): names.append( ime[:-3])
elif name.endswith('.ru'): names.append( име[:-3])
else: names.append( ime)
return Info.make_name( *names)
it's work in progress, so far in bulgarian only, but it's a couple of dictionaries.
Plenty of things to do like translating error messages, some builtins
and some types' methods... hands are always needed.
other my software- and language- related stuff:
I'm happy to announce sqlparse 0.1.3.
sqlparse is a non-validating SQL parser module.
This is a bug fix release.
Changes since 0.1.2
* Improve parsing of floats (thanks to Kris).
* When formatting a statement a space before LIMIT was removed (issue35).
* Fix strip_comments flag (issue38, reported by ooberm...(a)gmail.com).
* Avoid parsing names as keywords (issue39, reported by djo...(a)taket.org).
* Make sure identifier lists in subselects are grouped (issue40,
reported by djo...(a)taket.org).
* Split statements with IF as functions correctly (issue33 and
issue29, reported by charles....(a)unige.ch).
* Relax detection of keywords, esp. when used as function names
* Don't treat single characters as keywords (issue32).
* Improve parsing of stand-alone comments (issue26).
* Detection of placeholders in paramterized queries (issue22,
reported by Glyph Lefkowitz).
* Add parsing of MS Access column names with braces (issue27,
reported by frankz...(a)gmail.com).
* Replace Django by Flask in App Engine frontend (issue11).
Special thanks to Andriy Senkovych for packaging sqlparse for
Debian/Ubuntu and giving some insights in all that packaging
stuff. Thanks to all other package maintainers too!
What is sqlparse
sqlparse is a non-validating SQL parser module for Python.
The module provides functions for splitting, formatting and parsing
Please file bug reports and feature request on the issue tracker.
Project Page: http://python-sqlparse.googlecode.com
Online Demo: http://sqlformat.appspot.com
After a brief hiatus, registrations for PyCon Australia 2011 are back
online! We have extended some registration deadlines to compensate
for the outage.
PyCon Australia is Australia's only conference dedicated exclusively to
the Python programming language, and will be held at the Sydney Masonic
Center over the weekend of August 20 and 21. See below for more
information and updates on:
1. Registration Back Online
2. Call for Volunteers
3. Convore Group
4. Thanks to our Sponsors
Please pass this message on to those you feel may be interested.
Registration Back Online
Registrations are back online after a brief PayPal outage:
Our apologies to those inconvenienced. PayPal put a temporary lock on
our account while they were reviewing our status as a non-profit. Many
thanks to the hard-working folks at Linux Australia for following up with
all the necessary paperwork.
To compensate for the outage we have adjusted some of our registration
deadlines. The new dates are:
1st August: T-Shirt order finalised
8th August: Special dietary needs finalised
15th August: Last chance to get tickets!
Remember, registrations must close on Monday the 15th of August, and we will
not be accepting registrations at the door.
So don't delay, register now at:
Call for Volunteers
A community conference such as PyCon just can't run without the work of
many generous volunteers. If you're interested in helping out, please
send us an email at:
We're currently looking for people to help with the following:
* Session Staff
* Bag Packers
(Friday afternoon; also just general setup of the venue)
* Registration Desk
We've set up a group on Convore for anyone wanting to chat about the
There are already some good tips from Sydney-siders who know the area
around the venue. If you have any more, please share!
Don't forget, you can also follow us on Twitter for the latest updates:
Thanks to our Sponsors
Thanks once again to the following companies for their continuing support
of Python and for helping to make PyCon Australia 2011 a reality:
Gold: Google <http://www.google.com.au/>
Gold: ComOps <http://www.comops.com.au/>
Silver: Anchor <http://anchor.com.au/>
Silver: Enthought <http://www.enthought.com/>
Silver: Python Software Foundation <http://www.python.org/psf/>
Silver: WingWare <http://www.wingware.com/>
Silver: Arclight <http://www.arclight.com.au/>
Silver: Bitbucket by Atlassian <http://bitbucket.org/>
Silver: Microsoft <http://www.microsoft.com/>
Thanks also to Linux Australia, who provide the overarching legal and
organisational structure for PyCon Australia.
PyCon Australia 2011
I'd like to announce Pyrolite 1.1, a lightweight Pyro client library for Java and .NET
"what is a java/.net library doing in this Python newsgroup?"
If you've got a Python application and you find yourself wanting to access it from the
harsh world of java or .net, Pyrolite could be of help. This library is meant to connect
a java or .net program to Python in a very simple way, using the Pyro protocol. Pyro is
a remote object library that is written for Python. Pyro itself can also be used in
Jython or IronPython, so you can already call Python applications from java or .net
(using Pyro), but sometimes that is just too much weight if you only need to call a few
methods. So I decided to explore the possibilities of a thin client-only library for
java and .Net.
Download Pyrolite here: http://irmen.home.xs4all.nl/pyrolite/
(Readme.txt, java jar, .NET assembly DLL, source code archive, javadocs).
Readonly subversion access: svn://svn.razorvine.net/Various/Pyrolite/
More info on Pyro: http://irmen.home.xs4all.nl/pyro/
Pyrolite allows you to connect your Java or .NET program to Python in an extremely
straightforward way, using the Pyro protocol. Include this tiny library (~50kb), and off
you go. It contains:
- an almost fully functional pickle implementation (protocol 2)
- a fully functional unpickle implementation (protocols 0,1,2,3)
- fairly intelligent mapping of Python data types to Java/.NET data types and vice versa
- ofcourse, a subset of the client-side of the Pyro protocol and proxy logic.
Example program (java): http://paste.pocoo.org/show/438990/
The .NET version of this would be almost equivalent.
The Pyrolite source archive includes all source code, a couple of test programs, and a
large amount of unit tests (everything in java and C#). There is not much documentation
though - use the source, Luke... (or browse the javadocs).
Pyrolite only supports Pyro 4.x.
Pyrolite for java requires java 1.5. The project is done in Pycharm.
Pyrolite for .NET requires .NET 3.5 or Mono. The solution is done in
sharpdevelop/monodevelop (but probably works in visual studio too).
I've done quite some work to make this a stable and usable piece of software but
consider it an experiment, or a beta version. I am quite interested in your thoughts
about it. Let me know if you find it useful!
Irmen de Jong
gcc-python-plugin is a plugin for GCC 4.6 onwards which embeds the
CPython interpreter within GCC, allowing you to write new compiler
warnings in Python, generate code visualizations, etc.
Tarball releases are available at:
Prebuilt-documentation can be seen at:
High level summary of the changes since the initial announcement:
- new contributors
- lots of bug fixes and compatibility fixes (e.g. for Python 3): the
selftest suite now works for me with all eight different
- optimized vs debug builds of Python
- Python 2.7 vs Python 3.2
- i686 and x86_64
building against gcc-4.6.1 (also tested with gcc-4.6.0)
- new example scripts; see:
- if PLUGIN_PYTHONPATH is defined at build time, hardcode the value
into the plugin's sys.path, allowing multiple builds to be
- more documentation
- work-in-progress on detecting reference-count errors in C Python
extension code. Although this usage example can now detect errors,
it isn't yet ready for general use. It can generate HTML
visualizations of those errors; see
- numerous other improvements (see below)
- new dependency: the "six" module is required at both build time and
run-time, to smooth over Python 2 vs Python 3 differences:
I've also packaged the plugin in RPM form for Fedora 16 onwards; see:
Detailed change notes follow
David Malcolm (7):
Override all locale information with LC_ALL=C when running
Revamp support for options in selftests
Add note about ccache
Improvements to the example scripts
Split up examples within the docs
David Malcolm (10):
add explicit BR on gmp-devel (rhbz#725569)
Make the test suites be locale-independent
Suppress buffering of output in Python 3
run-test-suite.py: support excluding tests from a run
Python 3 fixes to testcpychecker.py
Add 'str_no_uid' attribute to gcc.Tree and gcc.Gimple; use it to
fix a selftest
Fix segfault seen on i686 due to erroneous implementation of
'pointer' attribute of gcc.TypeDecl
Selftest fixes and exclusions for 32-bit builds
Fix the test for 32/64-bit in selftests so that it works with both
Python 2 and 3
David Malcolm (3):
If PLUGIN_PYTHONPATH is defined at build time, hardcode it into
the plugin's sys.path
Python 3 fixes
Add the beginnings of a manpage for gcc-with-python
Alexandre Lissy (2):
fix: permerror() misusage
Using Freedesktop standard for image viewing
David Malcolm (98):
Introduce gcc.Parameter and gcc.get_parameters()
Introduce a compatibility header file
Document the 'basic_blocks' attribute of gcc.Cfg
Fix a mismatch between gccutils.pformat() and the API docs
Add note about debugging
Move the debugging information to be more prominent, and reword
Automatically supply the correct header search directory for
selftests that #include <Python.h>
Set up various things in sys, including sys.path
Cope with calls to function pointers in the arg checker
Remove stray import
Fix issue with PyArg_ParseTuple("K") seen compiling gdb
Fix erroneous error messages for the various "s" and "z" format
Format codes "U" and "S" can support several different argument
Add a way of turning of const-correctness for "const char*"
Fix breakage of the various "es" and "et" format codes introduced
in last commit
Implement verification of the "O&" format code (converter
callback, followed by appropriate arg)
Use newlines and indentation to try to make the PyArg_ error
messages more readable
Add the example from my blog post
( http://dmalcolm.livejournal.com/6364.html )
Remove redundant (and non-functioning) selftest for "O&" format
Add 'local_decls', 'start', 'end', 'funcdef_no' to gcc.Function
Add 'arguments' and 'result' to gcc.FunctionDecl
Fix typos in docs
Add 'operand' to gcc.Unary; check that the keywords table to
PyArg_ has a NULL terminator
Add 'location' to more tcc types; fill out more documentation
Start building out examples of C syntax vs how it's seen by the
Fix the behavior of the various "#" format codes.
Add Alexandre Lissy to contributors
The various "e" codes can accept NULL as the encoding
Add support for PyNumberMethods; use this to support int() on
Introduce gcc.Option, wrapping GCC's command-line options
Add gcc.warning() and gcc.error()
Implement gcc.Option.is_enabled; allow -Wno-format to work, adding
related workaround to gcc.warning()
Explicitly set -Wno-format in the selftest that requires it
If pygments is available, use it to colorize the source code in
graphviz visualizations. Add line numbers.
Add (disabled) option to generate CFGs as .svg rather than .png
Minor tweaks to dot generation
Support edge connections to individual statements in CFG
renderings (via graphviz 'port=')
Add an optional name to CFG renderings, along with other tweaks
Work-in-progress on refcount checker
Disable the checker by default again (accidentally enabled in last
Disable non-functioning tests for C stdio checker
Remove the now-redundant SSA support from location-tracking
Move generic interp code from refcounts.py to absinterp.py
Eliminate superfluous StateEdge class, adding 'src' field to
Add test coverage for gcc.inform(); clarify docs (the output is to
CFG renderer: cope with pygments styles that have a "bold" prefix
Add a high-level overview of the insides of GCC
Add "operand" field to gcc.MemRef; document gcc.MemRef, along with
Add a Table class to gccutils, to make it easier to generate
Make gccutils.Table's output be a valid .rst table
Expose more of the pass machinery, and use this to include the
full pass tree within the docs
Fix broken image link for cfg docs
Add more information on the different representations
Finish the table of gcc.PROP_ flags
Add gcc.get_gcc_version() and gcc.get_plugin_gcc_version()
Add a note about the GCC version to the pass documentation
Add an autogenerated SVG diagram of GCC's passes
Syntax-highlight Gimple within CFG dumps
Rewrite of state tracking within libcpychecker (work-in-progress)
Eliminate the DataState class, merging it all into State
Report erroneous refcounts returned from functions, and errors
Highlight new and changing values in State Graph visualizations
Fix lookup of ob_refcnt on PyObject* for instances that were never
Suggest the use of Py_RETURN_NONE when detecting
_Py_NoneStruct.ob_refcnt is too low
Detect reference leaks for values that aren't the return value
Ensure that the checker can cope with calls to functions it
doesn't know about
Fix the folding of gcc.GimpleCond where we can know the value of
Remove dead code
Set ob_size in PyList_New
Set up ob_type on objects within the analyser
Add "dump_traces" option to check_refcounts, to make it easier to
Avoid hardware dependent results in the tests/plugin/parameters
Improvements to error reporting
Add support for stolen references
Report on where objects were allocated when reporting on an
Generate HTML reports on errors (in addition to text on stderr)
Try to make the plugin compile against gcc 4.5
Warn when a function returns NULL without setting the per-thread
Beginning implementing Py_DECREF
Warn about code that accesses deallocated memory
Warn about functions that return pointers to deallocated memory
Don't analyse traces with loops, as a primitive means of ensuring
that the analysis terminates
Improve error handling within the checker
Rigidly distinguish between l-values and r-values in cpychecker
Add 'array' and 'index' fields to gcc.ArrayRef
minor docs tweak
Support arrays, and more pointer handling
Fix the build (and many selftests) against Python 3; tweak
Better support for building against debug builds of Python
Comment out the "Other callback events" section for now
Add explicit requirements section to the documentation
Clean the docs during a 'make clean'
Minor tweak to Makefile
Tom Tromey (2):
make html from top-level
expose 'inform' function
[Send this to:
Release files for *both* wxPython 18.104.22.168 *and* 22.214.171.124 are now
available for download at http://wxpython.org/download.php.
The 126.96.36.199 release is a minor update from 188.8.131.52 which relaxes an
assertion in the Bind method which prevented the use of None as the
handler, (which can be used to remove an event binding). Also
included are updates from contributed modules like AGW.
The 184.108.40.206 release adds some new features and lots of general
improvements and fixes for the development series of wxWidgets and
wxPython. There have been a number of improvements in the wxOSX-Cocoa
port, making it much more usable and stable. Please see the recent
changes document for more details. http://wxpython.org/recentchanges.php
Various binaries are available for 32-bit and 64-bit Windows, and also
for OSX using the Carbon and Cocoa APIs, for Python 2.6 and 2.7, and
source code is also available at http://wxpython.org/download.php of
course for building your own.
What is wxPython?
wxPython is a GUI toolkit for the Python programming language. It
allows Python programmers to create programs with a robust, highly
functional graphical user interface, simply and easily. It is
implemented as a set of Python extension modules that wrap the GUI
components of the popular wxWidgets cross platform library, which is
written in C++.
wxPython is a cross-platform toolkit. This means that the same program
will usually run on multiple platforms without modifications.
Currently supported platforms are 32-bit and 64-bit Microsoft Windows,
most Linux or other Unix-like systems using GTK2, and Mac OS X 10.4+.
In most cases the native widgets are used on each platform to provide
a 100% native look and feel for the application.