wsgi
Werkzeug 0.5
The Swiss Army knife of Python web development more>>
Werkzeug is unicode aware and doesn't enforce a specific template engine, database adapter or anything else. Werkzeug doesn't even enforce a specific way of handling requests and will just leave all that up to the developer. Werkzeug is most useful for end user applications which should work on as many server environments as possible (such as blogs, wikis, bulletin boards, etc.).
Major Features:
- Unicode awareness
- Request and response objects
- Various utility functions for dealing with HTTP headers such as Accept and Cache-Control headers.
- Thread local objects with proper cleanup at request end
- An interactive debugger
- Wrapper around wsgiref that works around some of the limitations and bugs, adds threading and fork support for test environments and adds an automatic reloader.
- A flexible URL routing system with REST support.
- Fully WSGI compatible
Enhancements:
- Requires Python 2.4 now
- Fixed a bug in :class:`~contrib.IterIO`
- Added :class:`MIMEAccept` and :class:`CharsetAccept` that work like the regular :class:`Accept` but have extra special normalization for mimetypes and charsets and extra convenience methods.
- Switched the serving system from wsgiref to something homebrew.
- The :class:`Client` now supports cookies.
- Added the :mod:`~werkzeug.contrib.fixers` module with various fixes for webserver bugs and hosting setup side-effects.
- Added :mod:`werkzeug.contrib.wrappers`
- Added :func:`is_hop_by_hop_header`
- Added :func:`is_entity_header`
- Added :func:`remove_hop_by_hop_headers`
- Added :func:`pop_path_info`
- Added :func:`peek_path_info`
- Added :func:`wrap_file` and :class:`FileWrapper`
- Moved `LimitedStream` from the contrib package into the regular werkzeug one and changed the default behavior to raise exceptions rather than stopping without warning. The old class will stick in the module until 0.6.
- Implemented experimental multipart parser that replaces the old CGI hack.
- Added :func:`dump_options_header` and :func:`parse_options_header`
- Added :func:`quote_header_value` and :func:`unquote_header_value`
- :func:`url_encode` and :func:`url_decode` now accept a separator argument to switch between `&` and `;` as pair separator. The magic switch is no longer in place.
- All form data parsing functions as well as the :class:`BaseRequest` object have parameters (or attributes) to limit the number of incoming bytes (either totally or per field).
- Added :class:`LanguageAccept`
- Request objects are now enforced to be read only for all collections.
- Added many new collection classes, refactored collections in general.
- Test support was refactored, semi-undocumented `werkzeug.test.File` was replaced by :class:`werkzeug.FileStorage`.
- :class:`EnvironBuilder` was added and unifies the previous distinct :func:`create_environ`, :class:`Client` and :meth:`BaseRequest.from_values`. They all work the same now which is less confusing.
- Officially documented imports from the internal modules as undefined behavior. These modules were never exposed as public interfaces.
- Removed `FileStorage.__len__` which previously made the object falsy for browsers not sending the content length which all browsers do.
- :class:`SharedDataMiddleware` uses `wrap_file` now and has a configurable cache timeout.
- Added :class:`CommonRequestDescriptorsMixin`
- Added :attr:`CommonResponseDescriptorsMixin.mimetype_params`
- Added :mod:`werkzeug.contrib.lint`
- Added `passthrough_errors` to `run_simple`.
- Added `secure_filename`
- Added :func:`make_line_iter`
- :class:`MultiDict` copies now instead of revealing internal lists to the caller for `getlist` and iteration functions that return lists.
- Added :attr:`follow_redirect` to the :func:`open` of :class:`Client`.
- Added support for `extra_files` in :func:`~werkzeug.script.make_runserver`

web2py 1.65.7
web2py functions as a free and open source full-stack enterprise framework for agile development of quick, scalable, secure and portable database-driven web-based applications. more>>
web2py 1.65.7 functions as a free and open source full-stack enterprise framework for agile development of quick, scalable, secure and portable database-driven web-based applications.
The best way to understand web2py is to try it. You can try it online here. This online version is identical to the actual web2py although some functions are disabled for security reasons.
web2py was inspired by Ruby on Rails and, as Rails, it focuses on rapid development and follows a Model View Controller design. web2py differs from Rails because it is based on Python (thus it is faster and more scalable), because it provides a comprehensive web-based administrative interface (thus there is no need to ever type shell commands unless you wish), includes libraries to handle more protocols (for example XML-RPC and RSS feeds), and can run on the Google App Engine.
web2py was also inspired by Django and, as Django, it has the ability to generate forms from database tables and it includes an extensive set of validators. web2py differs from Django because it is more compact, easier to learn and does not have any project-level configuration files.
web2py is less verbose than Java-based frameworks and its syntax is much cleaner than PHP-based frameworks. This makes applications simpler to developer, easier to read and maintain.
Major Features:
- Runs on Mac, Linux, Windows, Windows Mobile, and on the Google App Engine
- Requires no installation and can run off a USB drive
- Has no configuration files. You just unzip it and click on it
- Includes a multi-threaded wsgi-compliant web-server (also works with Apache and others)
- Includes a transaction-safe relational database (sqlite)
- Includes a web-based integrated development environment (demo)
- Includes a ticketing system to help you debug deployed applications
- Includes a sophisticated Database Abstraction Layer that can handle joins, left joins, nested selects, aggregates, transactions and distributed transactions. Writes SQL code for you, transparently and in real time, for SQLite, PostgreSQL, MySQL, MSSQL, FireBird, Oracle and IBM DB2 (since 1.58)
- Automatically generates a web-based database administrative interface for your applications
- Prevents the most common types of vulnerabilities: Cross Site Scripting, Injection Flaws, and Malicious File Execution
- Enforces good Software Engineer practices (Model-View-Controller design, Server-side form validation, postbacks)
- Includes internationalization support and a web based translation interface
- Includes functions for caching in ram, disk, memcache and combinations thereof
- Includes libraries for Authentication (login, logout, registration, change password, etc.)
- Includes libraries for Authorization (Role Based Access Control)
- Includes libraries to generate and process Create/Update forms directly from a database
- Includes libraries to handle HTML, ATOM, RSS, RTF, JSON, AJAX, XML-RPC, CSV, REST, WIKI
- Works with Flash/Flex via PyAMF and Google Web Toolkit via Pyjamas
- Includes jQuery for Effects and Ajax
- Includes a powerful Python-based template language to render objects into HTML or other text-based protocols
- Handles automatically upload and download streaming for large media files
- Includes portable cron mechanism for creating and running recurrent tasks in background
- Allows to bytecode-compile applications and distribute them in closed source
- Backward compatibility is guaranteed for the web2py API since 1.0
License:GPL
- Page: 1 of 1
- 1