ANN: PyQt v5.2 Released
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!
## 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
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
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/