Profile cover photo
Profile photo
Batteries Included: TurboGears Makes Web Applications Easy
Batteries Included: TurboGears Makes Web Applications Easy

TurboGears's posts

Post is pinned.Post has attachment
TurboGears 2.3.10 now released ( )

This release introduces some major changes in response management for non HTML responses. This is mostly aimed at people implementing web services and JSON APIs on TurboGears.

* Fixed unicode error messages in validation_errors_response
* Added support for strip_text in kajiki templates
* Transaction manager no longer sets current path as not (fixes crash with transaction 2.0.3)
* Improved deprecated features warning reporting
* Allow custom error pages to only render for specific content types through errorpage.content_types option. ( )
* Custom error pages no longer will render for content types != text/html
* Fixed ``tg.abort`` passthrough support, now properly skipping error pages and authentication ( )
* Changing ``tg.response.content_type`` in controller actions will now properly change the rendered template when multiple ones are registered.
* Documented request attributes and methods that previously were not.
* Exposed ``request.disable_error_pages()`` and ``request.disable_auth_challenger()`` to skip custom error pages and auth challenging in current request ( )
* It is no longer needed for ``lib.helpers`` and ``lib.app_globals`` to be imported into ``lib/``.
* Controller Actions can now return ``None`` for a 204 No Content response.
* Returning ``tg.response`` from a controller action will now return the response as it is instead of creating a new copy of it
* JSON renderer now accepts rendering only a part of the dictionary returned by the action through the ``key`` render_param ( )
* It is now possible to return JSON lists instead of objects from actions by using ``render_params={'allow_lists': False, 'key': 'values'}`` in ``@expose`` and returning the list in ``values`` key of the action returned dictionary.
* ``script_json_encode`` will now encode as JSON lists and iso dates by default.
* Fixed scaffolds for templates in newly quickstarted projects ( )

Post has attachment
Kajiki 0.6.0 released with some major improvements in handling text nodes and multiline expressions.


* Fixed ``py:switch`` error message wrongly mentioning ``py:with``
* Support for multiline ``${}`` expressions
* Subsequent text nodes are now squashed into a single text node. This allows translating whole paragraphs instead of single sentences.
* Allow code and function calls inside tag attributes
* Added ``strip_text`` option to XMLTemplate and i18n collector to ensure leading and trailing spaces are stipped by text nodes (also leads to minified HTML)
* Some HTML nodes that do not require being closed but is commonly considered best practice to close them are now emitted with ending tag (IE: <p>)
* Generally improved code documentation to lower entry barrier for contributors

Post has attachment
tgext.routes 0.2.0 released with dispatch continuation support. It is now possible to continue dispatching with a different dispatch system from the target of a route.

This allows to continue with ObjectDispatch or other routing systems from the result of a routes dispatch.

Post has attachment
If you never noticed it, tgext.utils 0.0.2 is now available on PyPi.

tgext.utils is a collection of common TurboGears utilities that add support for more features typically used in web application and that are not provided by TurboGears itself.

This currently includes: vanity urls (slugs), CSRF and social meta tags.

Post has attachment
tgext.pluggable 0.6.2 is now available on PyPi.

The release now allows rendering partials from submodules without the need to import them into the parent modules.

It also includes changes from 0.6.x series which add support for `primary_key` utility on mongodb a fix on Python3 and support for kajiki based pluggable apps

Post has attachment
tgext.admin 0.7.4 released. This if a bugfix release with a minor fix for BootstrapGroupedLayout on Kajiki

TurboGears 2.3.9 now released ( )

This release sets foundations for Python3 as the primary development environment for TurboGears2 users and allows for faster web applications thanks to faster template engine.

While TurboGears has been supporting Python3 since version 2.3.0 most of development took place in Python2, especially since parts of the core stack like Genshi didn't provide major support for latest Python3 versions. Now all the core TurboGears stack has full support for Python3.4 and 3.5

* New Layout for TurboGears2 Documentation, this aims at providing a clearer flow of the documentation and a single continuative progression between the three minimal, full stack and rapid prototyping tutorials ( )
* Kajiki is now the default template engine when quickstarting new projects. This gives a great speed boost (as kajiki is usually 3-4x faster then genshi) and provides Python3.4 and 3.5 support while maitaining 90% syntax compatibility with Genshi ( )
* For people willing to port existing projects from Genshi to Kajiki an easy automated migration step has been provided with a short guide ( )
* tgext.debugbar is now installed with devtools and supports Python3 so all new projects will get the debugbar for free in development environments.
* Allow forcing file extension using !ext syntax in dotted templates this allows to force file extension for engine templates without chaning it for the whole applications. Also permits Genshi and Kajiki to share the same template files in cases where it's viable, like for partials and manual render_template calls.
* Devtools are now tested against Python 3.4 and 3.5 too
* Python 3.2 is no longer officially supported as most of the dependencies and libraries out there did not support it anymore
* TGShell now Allows running python scripts. Running gearbox tgshell will now run in the context of a request.
* Support render_params in kajiki so that custom renderning options can be passed to Kajiki XMLTemplates
* Allow mixing dotted and file notations in mako renderer
* Allow custom template file extension option for mako templates
* Make DotteFileNameFinder work with zips too, this should allow to serve templates from zipped distributions (or .exe) with a performance penality.
* Adapted tests for webob that doesn't specify encoding anymore for json
* Better support pkg_resources from frozen TG apps
* When quickstarting a project with Genshi on Python3.4 "name_constant" patch is enabled by default

Post has attachment
TurboGears 2.3.8 now released.

Major changes in this release include cleanups in configuration process and routing.

* Rely on new crank flatten_arguments function, this avoid crashes when controller receives unexpected arguments ( )
* Allow lists in JSON Encoder when explicitly permitted ( )
* It is now possible to enable both Ming and SQLAlchemy in same project returning sessions from init_model ( )
* unless utility function, works well coped with Convert validation utility ( )
* Support for scheme argument in url, lurl and redirect ( )
* Removed built-in routes support, this can now be implemented through _dispatch and is provided in tgext.routes ( )
* Auth logger is not properly configured in Ming quickstart
* Add --minimal-quickstart option, to remove example pages in quickstart
* Serialize sessions as JSON in newly quickstarted projects
* error messages in newly quickstarted projects are not required to be valid XML anymore.
* Configuration steps now only read/write options from configuration instead of AppConfig ( )
* Configuration steps are now considered internal
* Directly expose milestones in main tg namespace
* Clearly express that TGApp only methods available to users are _call_ and classmethods
* Provide TGApp.lookup_controller class method to allow to lookup controllers based on a specific configuration
* All milestones are now properly triggered when load_environment is not provided
* In case load_environment is False reuse global config as a new one is not created.
* thread_locals got renamed to context in most locations
* Dispatch now relies on crank 0.8 resolve api
* Take params from DispatchState, this allows dispatcher to modify them
* No longer switch tmpl_context strictness depending on debug/production, that lead to unexpected bugs on production ( )
* raise stacklevel in warnings to provider a better suited context in warnings.
* database name cannot be an empty string in mongodb
* Make LazyString objects iterable

Post has attachment
Gearbox 0.1.0 released on PyPi

This version adds support for HTTPS in serve command and is now based on a stripped down version of Cliff greatly reducing the dependencies required to install Gearbox.

Wait while more posts are being loaded