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
"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)
PyQt5 v5.2 has been released and is available from
PyQt5 is a comprehensive set of bindings for v5 of Digia's Qt
cross-platform application framework. It supports Python v3, v2.7 and
The highlights of this release include full support for Qt v5.2, and
QtBluetooth, QtPositioning, QtMacExtras, QtWinExtras and QtX11Extras
Windows installers are provided which contain everything needed for
development (including Qt, Qt Designer, QScintilla, and MySQL,
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
- non-GUI infrastructure including event loops, threads, i18n, user and
application settings, mapped files and shared memory
- GUI infrastructure including window system integration, event
2D graphics, basic imaging, fonts, OpenGL
- a comprehensive set of desktop widgets
- 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
- global positioning using satellite, Wi-Fi or text file sources
- sensors including accelerometers, altimeters, compasses, gyroscopes,
magnetometers, and light, pressure, proximity, rotation and
- serial ports
- XPath, XQuery, XSLT and XML Schema validation
- a help system for creating and viewing searchable documentation
- unit testing of GUI applications.
On behalf of the Python development team, I'm pleased to announce
the second beta release of Python 3.4.
This is a preview release, and its use is not recommended for
Python 3.4 includes a range of improvements of the 3.x series, including
hundreds of small improvements and bug fixes. Major new features and
changes in the 3.4 release series include:
* PEP 428, a "pathlib" module providing object-oriented filesystem paths
* PEP 435, a standardized "enum" module
* PEP 436, a build enhancement that will help generate introspection
information for builtins
* PEP 442, improved semantics for object finalization
* PEP 443, adding single-dispatch generic functions to the standard library
* PEP 445, a new C API for implementing custom memory allocators
* PEP 446, changing file descriptors to not be inherited by default
* PEP 450, a new "statistics" module
* PEP 451, standardizing module metadata for Python's module import system
* PEP 453, a bundled installer for the *pip* package manager
* PEP 454, a new "tracemalloc" module for tracing Python memory allocations
* PEP 456, a new hash algorithm for Python strings and binary data
* PEP 3154, a new and improved protocol for pickled objects
* PEP 3156, a new "asyncio" module, a new framework for asynchronous I/O
Python 3.4 is now in "feature freeze", meaning that no new features will be
added. The final release is projected for late February 2014.
To download Python 3.4.0b2 visit:
Please consider trying Python 3.4.0b2 with your code and reporting any
new issues you notice to:
Larry Hastings, Release Manager
larry at hastings.org
(on behalf of the entire python-dev team and 3.4's contributors)
I'm happy to announce the immediate release of six 1.5.0. six is a
Python 2/3 compatibility library designed to aid the same-source
migration path. The new release can be downloaded on PyPI:
six.moves has been improved to act more like real modules. You should be
able to import directly classes and functions from six.moves Python 2.4
support has been dropped as of this release. This is because py.test
stopped supporting 2.4.
I'd particularly like to thank Marc Abramowitz and Alexander Lukanin for
Report bugs to
Here is the complete changelog:
- Removed support for Python 2.4. This is because py.test no longer
- Fix various import problems including issues #19 and #41. six.moves
are now lazy wrappers over the underlying modules instead of the
- Issue #49: Add six.moves mapping for tkinter.ttk.
- Pull request #24: Add __dir__ special method to six.moves modules.
- Issue #47: Fix add_metaclass on classes with a string for the
- Issue #44: Fix interpretation of backslashes on Python 2 in the u()
- Pull request #21: Add import mapping for urllib's proxy_bypass
- Issue #43: Add import mapping for the Python 2 xmlrpclib module.
- Issue #39: Add import mapping for the Python 2 thread module.
- Issue #40: Add import mapping for the Python 2 gdbm module.
- Issue #35: On Python versions less than 2.7, print_ now encodes
strings when outputing to standard streams. (Python 2.7 handles this
## About Uliweb
Uliweb is a full-stacked Python based web framework. It has three main
goals, they are: reusability, configurability, and replaceability. All the
functionalities revolve around these goals.
This project was created and lead by Limodou <mailto:firstname.lastname@example.org>.
Uliweb is released under BSD license.
## Change Log
* Update nginx support output, add proxy_set_header
* Add `save_file()` function to orm, so you can save select result to a csv
* Add `save_file()` method to Result.
* Fix missing `clear()` function of SortedDict.
* Fix i18n process, for project and apps extraction, it'll create
application first, so that
user defined tag will be registered correctly. But user defined tag will
be limited later.
* Add `walk_dirs()` to utils/common.py. This function can ignore some files
and file ext,
and supports fnmatch pattern.
* Project Organization
* MVT(Model View Template) development model.
* Distributed development but unified management. Uliweb organizes a
small apps. Each app can have its own configuration
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
* URL Mapping
* Flexiable and powerful URL mapping. Uliweb uses werkzeug's routing
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 and Template
* View templates can be automatically applied. If you return a dict
view function, Uliweb will automatically try to match and apply a
to the view function name.
* Environment execution mode. Each view function will be run in an
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.
* 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
and table structure modification).
* Can be used in python and template files.
* Browser language and cookie settings are supported including
automatic language switching.
* Provides a command line tool that developers can use to extract .po
This can happen either at the app level or project level process.
It can automatically merge .pot files to existing
* Dispatch extension. This is a dispatch processing mechanism that
types of dispatch points. So you can write procedures to carry out
special processes and bind them to these dispatch points. For
initicalization, I18n process initialization, etc.
* middleware extension. It's similar to Djangos. You can configure it
files. Each middleware can process the request and response objets.
* Special function calls in the views module initial process. If you
write a special
function named __begin__, it'll be processed before any view
function can be processed,
this allows developers to do some module level processing at that
point, for example:
check the user authentication, etc.
* Command Line Tools
* Creates project, creates apps, and include the basic essential
structure, files and code.
* Export static files, you can export all available apps' static files
special directory. Also supports css and js combinition and
* Startup a development web server thats supports debugging and
* Apps can also have its own command line tools. For example: orm,
* Supports mod_wsgi in Apache.
* Supports uwsgi.
* Provide a development server, and can be automatically reload when
module files are modified.
* Enhanced debugging, you can check the error traceback, template
debugging is also supported.
* Mailing List: http://groups.google.com/group/uliweb
* **Uliweb** Project Homepage https://github.com/limodou/uliweb
* **Uliweb-doc** Documentation Project http://github.com/limodou/uliweb-doc
* **Uliweb-doc Online** Document http://limodou.github.com/uliweb-doc/
* **plugs** Uliweb Apps Collection Project https://github.com/limodou/plugs
I like python!
UliPad <<The Python Editor>>: http://code.google.com/p/ulipad/
UliWeb <<simple web framework>>: https://github.com/limodou/uliweb
My Blog: http://my.oschina.net/limodou
I am proud to announce the release of version 0.8.0 of github3.py, a
wrapper for version 3 of GitHub's API.
This version adds support for the recently finalized search
functionality added to GitHub's API and support for the experimental
releases API to allow users to create, edit, and delete Releases on
GitHub. The library also now supports Two-Factor Authentication with
To download this new version simply `pip install github3.py`.
For a full changelog and other documentation, please see:
isort v 3.0.0 released with the following major features:
- Built-in support for editorconfig config files (http://editorconfig.org/)
- Support for consistent syntax when adding or removing imports
- Improved handling of files that a user doesn't have permission to read
- The ability to separate import sections with custom comments
see more here: http://timothycrosley.github.io/isort/