ANN: PyQt v5.2 Released

2014-01-14 Thread Phil Thompson

PyQt5 v5.2 has been released and is available from
http://www.riverbankcomputing.com/software/pyqt/download5.

PyQt5 is a comprehensive set of bindings for v5 of Digia's Qt
cross-platform application framework.  It supports Python v3, v2.7 and
v2.6.

The highlights of this release include full support for Qt v5.2, and 
the

QtBluetooth, QtPositioning, QtMacExtras, QtWinExtras and QtX11Extras
modules.

Windows installers are provided which contain everything needed for 
PyQt5
development (including Qt, Qt Designer, QScintilla, and MySQL, 
PostgreSQL,

SQLite and ODBC drivers) except Python itself.  Installers are provided
for the 32 and 64 bit versions of Python v3.3.

PyQt5 is implemented as a set of 27 extension modules including support
for:

- non-GUI infrastructure including event loops, threads, i18n, user and
  application settings, mapped files and shared memory

- GUI infrastructure including window system integration, event 
handling,

  2D graphics, basic imaging, fonts, OpenGL

- a comprehensive set of desktop widgets

- WebKit

- full integration with Quick2 and QML allowing new Quick items to be
  implemented in Python and created in QML

- event driven network programming

- multimedia including cameras, audio and radios

- Bluetooth

- global positioning using satellite, Wi-Fi or text file sources

- sensors including accelerometers, altimeters, compasses, gyroscopes,
  magnetometers, and light, pressure, proximity, rotation and 
temperature

  sensors

- serial ports

- SQL

- printing

- DBus

- XPath, XQuery, XSLT and XML Schema validation

- a help system for creating and viewing searchable documentation

- unit testing of GUI applications.

--
https://mail.python.org/mailman/listinfo/python-announce-list

   Support the Python Software Foundation:
   http://www.python.org/psf/donations/


[ANN]Uliweb 0.2.4 released!

2014-01-14 Thread limodou
## About Uliweb

Uliweb is a full-stacked Python based web framework. It has three main
design
goals, they are: reusability, configurability, and replaceability. All the
functionalities revolve around these goals.

This project was created and lead by Limodou mailto:limo...@gmail.com.


## License

Uliweb is released under BSD license.

## Change Log

* Fix ORM is not compatible with SQLAlchemy 0.9.1. Old style:

```
cond = None
cond = (Blog.c.id==5)  None
```

will not right in 0.9.1, because None will not be skipped, so you can
change
above code `cond = None` to :

```
from sqlalchemy.sql import true
cond = true()
```

or

```
from uliweb.orm import true
cond = true()
```

* add `__contains__` to functions, so you can test if an API is already
defined, just
  use:

```
'flash' in functions
```
* Refact generic.py, remove `functions.flash` and
`functions.get_fileserving` dependencies by default.

* Fix `yield` support in view function, you can also used in gevent
environment, for example:

```
@expose('/test')
def test():
yield ul
for i in range(10):
yield li%d/li % (i + 1)
sleep(1)
yield /ul
```

* Fix `rawsql()` bug for different database engine
* Fix `jsonp()` dumps Chinese characters bug
* Add `trim_path()` function to `utils/common.py`, it can trim a file path
to
  limited length, for example:

```
 a = '/project/apps/default/settings.ini'
 trim_path(a, 30)
'.../apps/default/settings.ini'
```

Default limited length is 30.
* Add ORM connection information output when given `-v` option in command
line. And
  the password will be replace with `'*'`. For example:

```
$uliweb syncdb -v
Connection : mysql://blog:***@localhost/blog?charset=utf8

[default] Creating [1/1, blog] blog...EXISTED
```
* Add multiple apps support for `makeapp` command, so you can use :

```
uliweb makeapp a b c
```

to create `a`, `b`, `c` apps at once time.
* Refactor `save_file()` process, add `headers` and `convertors` parameter.

`headers` used to create csv header instead of using column name, but
you can
create alias name like this:

```
User.c.username.label(uName)
```

and `convertors` used to convert column value, for example:

```
def name(value, data):

value is the column value
data is the current record object

return value + 'test'
save_file(do_(select([User.c.name])), 'test.csv',
convertors={'name':name})
```
* Fix `call_view()` invoke `wrap_result` bug. Missing pass `handler`
parameter to wrap_result.



## Features

* Project Organization

* MVT(Model View Template) development model.
* Distributed development but unified management. Uliweb organizes a
project with
small apps. Each app can have its own configuration
file(settings.ini), template
directory, and static directory. Existing apps can be easily
reused, but are treated as a compound.
web application project if configured as such. Developers can also
reference static files and templates between apps, thus easing
inter-application data exchange.
All apps in a project are loaded by default if INSTALLED_APPS is
not configured in
the configuration file. All separate app configuration files are
automatically processed at
project startup.

* URL Mapping

* Flexiable and powerful URL mapping. Uliweb uses werkzeug's routing
module.
User can easily define a URL, which in turn can be easily bound
with a view function.
URLs can also be created reversely according to the view function
name. It supports
argument definitions in URLs and default URL mapping to a
view function.

* View and Template

* View templates can be automatically applied. If you return a dict
variable from
view function, Uliweb will automatically try to match and apply a
template according
to the view function name.
* Environment execution mode. Each view function will be run in an
environment,
which eliminates the need to write many import statements. Plus
there are already many
objects that can be used directly, for example: request, response,
etc. This is DRY and saves a lot of coding
* Developers can directly use Python code in a template, the Python
code does not neede to be indented
as long as a pass statement is added at the end of each code block.
Uliweb also supports child template inclusion and inheritance.

* ORM

* Uliorm is the default ORM module but not configured by default.
Developers are free to use any
ORM module as preferred.
* Uliorm supports model creation and automatic database
migiration(table creation
and table structure modification).

* I18n

* Can be used in python and template files.
* Browser language and 

pyPEG 2.15 released

2014-01-14 Thread Volker Birk
pyPEG now supports adding feeble things to the AST like automatically
removed comments or whitespace.

pyPEG is a quick and easy solution for creating a parser in Python
programs. pyPEG uses a PEG like language in Python data structures to
parse, so it can be used dynamically to parse nearly every context free
language. The output is a plain Python data structure called pyAST, or,
as an alternative, XML.

pyPEG implements an intrinsic Packrat parser. Memoization is used for
performance improvements. pyPEG is used by defining a data model with a
grammar. Therefore it cannot only be used to parse text, but to compose
text out of the language model, too. It can be used for code generation.

You can find pyPEG2 in the PyPI repository. The homepage is here:
http://fdik.org/pyPEG. pyPEG is maintained in a Bitbucket repository
at https://bitbucket.org/fdik/pypeg/.

Yours,
VB.
-- 
Back when PHP had less than 100 functions and the function hashing mechanism
was strlen(). In order to get a nice hash distribution of function names
across the various function name lengths names were picked specifically to
make them fit into a specific length bucket.  (Rasmus Lerdorf)
-- 
https://mail.python.org/mailman/listinfo/python-announce-list

Support the Python Software Foundation:
http://www.python.org/psf/donations/


PyGObject 3.11.4 Released

2014-01-14 Thread Simon Feltman
I am pleased to announce version 3.11.4 of the Python bindings for
GObject. This is the fourth alpha release of the 3.11.x series for GNOME 3.12.

Notable additions in this release include demos showing off CSS with GTK+
thanks to Gian Mario Tagliaretti. While these demos are not currently included
in the in the release tarball, they are available in our git repository:
https://git.gnome.org/browse/pygobject/tree/demos/gtk-demo

Python doc strings for introspected classes and functions have been updated.
Classes now list available constructors with their function signatures and
type annotations. Function doc strings now accurately present their signatures
and no longer include implicit arguments like list lengths.

Download

The new release is available from ftp.gnome.org:

https://download.gnome.org/sources/pygobject/3.11/pygobject-3.11.4.tar.xz (497K)
sha256sum: 073bc913bfafcbdad5578a976022d60c4f13707489e7fb83c492ca17327e9ab7

What’s new since PyGObject 3.11.4
=
- Add enum and flags member methods (Simon Feltman) (#693099)
- overrides: Fix __repr__ for various Gdk structs (Simon Feltman)
- python.m4: g/c JD_PYTHON_CHECK_VERSION (Patrick Welche) (#721662)
- Support union creation with PyGIStruct (Simon Feltman)
- docs: List constructors in object and struct doc strings
  (Simon Feltman) (#708060)
- docs: Fix array length argument skipping with preceding out arguments
- docs: Add return values and skip implicit out arguments in functions
  (Simon Feltman) (#697356)
- docs: Skip implicit array length args when building function doc strings
  (Simon Feltman) (#697356)
- gtk-demo: Add CSS demos (Gian Mario Tagliaretti) (#719722)
- build: Avoid clash between gi/types.py and stdlib (Colin Watson) (#721025)

About PyGObject
===
GObject is a object system used by GTK+, GStreamer and other libraries.

PyGObject provides a convenient wrapper for use in Python programs when
accessing GObject libraries.

Like the GObject library itself PyGObject is licensed under the GNU
LGPL, so is suitable for use in both free software and proprietary
applications. It is already in use in many applications ranging from
small single purpose scripts up to large full featured applications.

PyGObject now dynamically accesses any GObject libraries that uses
GObject Introspection. It replaces the need for separate modules such as
PyGTK, GIO and python-gnome to build a full GNOME 3.0 application. Once
new functionality is added to gobject library it is instantly available
as a Python API without the need for intermediate Python glue.
-- 
https://mail.python.org/mailman/listinfo/python-announce-list

Support the Python Software Foundation:
http://www.python.org/psf/donations/