./www/py-flask, Python web microframework

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 1.0.3, Package name: py37-flask-1.0.3, Maintainer: kleink

Flask is a microframework for Python based on Werkzeug, Jinja 2
and good intentions.


Required to run:
[devel/py-setuptools] [textproc/py-jinja2] [www/py-werkzeug] [security/py-itsdangerous] [devel/py-click] [lang/python37]

Required to build:
[pkgtools/cwrappers]

Master sites:

SHA1: 7033ecbb28428b43703c231eb1de3545b5a744b6
RMD160: 6b60d312c533d982ce09032b6ed8a261462a073b
Filesize: 632.14 KB

Version history: (Expand)


CVS history: (Expand)


   2019-05-19 09:59:50 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-flask: updated to 1.0.3

Version 1.0.3
-   :func:send_file encodes filenames as ASCII instead of Latin-1
    (ISO-8859-1). This fixes compatibility with Gunicorn, which is
    stricter about header encodings than PEP 3333.
-   Allow custom CLIs using FlaskGroup to set the debug flag without
    it always being overwritten based on environment variables.
-   flask --version outputs Werkzeug's version and simplifies the
    Python version.
-   :func:send_file handles an attachment_filename that is a
    native Python 2 string (bytes) with UTF-8 coded bytes.
-   A catch-all error handler registered for HTTPException will not
    handle RoutingExcpetion, which is used internally during
    routing. This fixes the unexpected behavior that had been introduced
    in 1.0.
-   Passing the json argument to app.test_client does not
    push/pop an extra app context.
   2018-07-26 09:34:03 by Thomas Klausner | Files touched by this commit (1)
Log message:
py-flask: remove patch that is not in distinfo
   2018-07-20 10:40:42 by Adam Ciarcinski | Files touched by this commit (4) | Package updated
Log message:
py-flask: updated to 1.0.2

Version 1.0.2:
Fix more backwards compatibility issues with merging slashes between a blueprint \ 
prefix and route.
Fix error with flask routes command when there are no routes.

Version 1.0.1:
Fix registering partials (with no __name__) as view functions.
Don't treat lists returned from view functions the same as tuples. Only tuples \ 
are interpreted as response data.
Extra slashes between a blueprint's url_prefix and a route URL are merged. This \ 
fixes some backwards compatibility issues with the change in 1.0.
Only trap BadRequestKeyError errors in debug mode, not all BadRequest errors. \ 
This allows abort(400) to continue working as expected.
The FLASK_SKIP_DOTENV environment variable can be set to 1 to skip automatically \ 
loading dotenv files.

Version 1.0:
Python 2.6 and 3.3 are no longer supported.
Bump minimum dependency versions to the latest stable versions: Werkzeug >= \ 
0.14, Jinja >= 2.10, itsdangerous >= 0.24, Click >= 5.1.
Skip :meth:app.run <Flask.run> when a Flask application is run from the \ 
command line. This avoids some behavior that was confusing to debug.
Change the default for :data:JSONIFY_PRETTYPRINT_REGULAR to False. \ 
:func:~json.jsonify returns a compact format by default, and an indented format \ 
in debug mode.
:meth:Flask.__init__ <Flask> accepts the host_matching argument and sets \ 
it on :attr:~Flask.url_map.
:meth:Flask.__init__ <Flask> accepts the static_host argument and passes \ 
it as the host argument when defining the static route.
:func:send_file supports Unicode in attachment_filename.
Pass _scheme argument from :func:url_for to :meth:~Flask.handle_url_build_error.
:meth:~Flask.add_url_rule accepts the provide_automatic_options argument to \ 
disable adding the OPTIONS method.
:class:~views.MethodView subclasses inherit method handlers from base classes.
Errors caused while opening the session at the beginning of the request are \ 
handled by the app's error handlers.
Blueprints gained :attr:~Blueprint.json_encoder and \ 
:attr:~Blueprint.json_decoder attributes to override the app's encoder and \ 
decoder.
:meth:Flask.make_response raises TypeError instead of ValueError for bad \ 
response types. The error messages have been improved to describe why the type \ 
is invalid.
Add routes CLI command to output routes registered on the application.
Show warning when session cookie domain is a bare hostname or an IP address, as \ 
these may not behave properly in some browsers, such as Chrome.
Allow IP address as exact session cookie domain.
SESSION_COOKIE_DOMAIN is set if it is detected through SERVER_NAME.
Auto-detect zero-argument app factory called create_app or make_app from FLASK_APP.
Factory functions are not required to take a script_info parameter to work with \ 
the flask command. If they take a single parameter or a parameter named \ 
script_info, the :class:~cli.ScriptInfo object will be passed.
FLASK_APP can be set to an app factory, with arguments if needed, for example \ 
FLASK_APP=myproject.app:create_app('dev').
FLASK_APP can point to local packages that are not installed in editable mode, \ 
although pip install -e is still preferred.
The :class:~views.View class attribute \ 
:attr:~views.View.provide_automatic_options is set in :meth:~views.View.as_view, \ 
to be detected by :meth:~Flask.add_url_rule.
Error handling will try handlers registered for blueprint, code, app, code, \ 
blueprint, exception, app, exception.
Cookie is added to the response's Vary header if the session is accessed at all \ 
during the request (and not deleted).
:meth:~Flask.test_request_context accepts subdomain and url_scheme arguments for \ 
use when building the base URL.
Set :data:APPLICATION_ROOT to '/' by default. This was already the implicit \ 
default when it was set to None.
:data:TRAP_BAD_REQUEST_ERRORS is enabled by default in debug mode. \ 
BadRequestKeyError has a message with the bad key in debug mode instead of the \ 
generic bad request message.
Allow registering new tags with :class:~json.tag.TaggedJSONSerializer to support \ 
storing other types in the session cookie.
Only open the session if the request has not been pushed onto the context stack \ 
yet. This allows :func:~stream_with_context generators to access the same \ 
session that the containing view uses.
Add json keyword argument for the test client request methods. This will dump \ 
the given object as JSON and set the appropriate content type.
Extract JSON handling to a mixin applied to both the :class:Request and \ 
:class:Response classes. This adds the :meth:~Response.is_json and \ 
:meth:~Response.get_json methods to the response to make testing JSON response \ 
much easier.
Removed error handler caching because it caused unexpected results for some \ 
exception inheritance hierarchies. Register handlers explicitly for each \ 
exception if you want to avoid traversing the MRO.
Fix incorrect JSON encoding of aware, non-UTC datetimes.
Template auto reloading will honor debug mode even even if \ 
:attr:~Flask.jinja_env was already accessed.
The following old deprecated code was removed.
flask.ext - import extensions directly by their name instead of through the \ 
flask.ext namespace. For example, import flask.ext.sqlalchemy becomes import \ 
flask_sqlalchemy.
Flask.init_jinja_globals - extend :meth:Flask.create_jinja_environment instead.
Flask.error_handlers - tracked by :attr:Flask.error_handler_spec, use \ 
:meth:Flask.errorhandler to register handlers.
Flask.request_globals_class - use :attr:Flask.app_ctx_globals_class instead.
Flask.static_path - use :attr:Flask.static_url_path instead.
Request.module - use :attr:Request.blueprint instead.
The :attr:Request.json property is no longer deprecated.
Support passing a :class:~werkzeug.test.EnvironBuilder or dict to \ 
:meth:test_client.open <werkzeug.test.Client.open>.
The flask command and :meth:Flask.run will load environment variables from .env \ 
and .flaskenv files if python-dotenv is installed.
When passing a full URL to the test client, the scheme in the URL is used \ 
instead of :data:PREFERRED_URL_SCHEME.
:attr:Flask.logger has been simplified. LOGGER_NAME and LOGGER_HANDLER_POLICY \ 
config was removed. The logger is always named flask.app. The level is only set \ 
on first access, it doesn't check :attr:Flask.debug each time. Only one format \ 
is used, not different ones depending on :attr:Flask.debug. No handlers are \ 
removed, and a handler is only added if no handlers are already configured.
Blueprint view function names may not contain dots.
Fix a ValueError caused by invalid Range requests in some cases.
The development server uses threads by default.
Loading config files with silent=True will ignore :data:~errno.ENOTDIR errors.
Pass --cert and --key options to flask run to run the development server over HTTPS.
Added :data:SESSION_COOKIE_SAMESITE to control the SameSite attribute on the \ 
session cookie.
Added :meth:~flask.Flask.test_cli_runner to create a Click runner that can \ 
invoke Flask CLI commands for testing.
Subdomain matching is disabled by default and setting :data:SERVER_NAME does not \ 
implicitly enable it. It can be enabled by passing subdomain_matching=True to \ 
the Flask constructor.
A single trailing slash is stripped from the blueprint url_prefix when it is \ 
registered with the app.
:meth:Request.get_json doesn't cache the result if parsing fails when silent is true.
:func:Request.get_json no longer accepts arbitrary encodings. Incoming JSON \ 
should be encoded using UTF-8 per RFC 8259, but Flask will autodetect UTF-8, \ 
-16, or -32.
Added :data:MAX_COOKIE_SIZE and :attr:Response.max_cookie_size to control when \ 
Werkzeug warns about large cookies that browsers may ignore.
Updated documentation theme to make docs look better in small windows.
Rewrote the tutorial docs and example project to take a more structured approach \ 
to help new users avoid common pitfalls.
   2017-11-25 13:23:41 by Thomas Klausner | Files touched by this commit (1)
Log message:
py-flask: add upstream bug report URL for test failures
   2017-06-12 12:17:40 by Adam Ciarcinski | Files touched by this commit (2)
Log message:
Version 0.12.2
Released on May 16 2017
- Fix a bug in `safe_join` on Windows.

Version 0.12.1
Bugfix release, released on March 31st 2017
- Prevent `flask run` from showing a NoAppException when an ImportError occurs
  within the imported application module.
- Fix encoding behavior of ``app.config.from_pyfile`` for Python 3.
- Call `ctx.auto_pop` with the exception object instead of `None`, in the
  event that a `BaseException` such as `KeyboardInterrupt` is raised in a
  request handler.
   2017-01-02 12:45:29 by Wen Heping | Files touched by this commit (2) | Package updated
Log message:
Update to 0.12

Upstream changes:
Version 0.12
------------

Released on December 21st 2016, codename Punsch.

- the cli command now responds to `--version`.
- Mimetype guessing and ETag generation for file-like objects in ``send_file``
  has been removed, as per issue ``#104``.  See pull request ``#1849``.
- Mimetype guessing in ``send_file`` now fails loudly and doesn't fall back to
  ``application/octet-stream``. See pull request ``#1988``.
- Make ``flask.safe_join`` able to join multiple paths like ``os.path.join``
  (pull request ``#1730``).
- Revert a behavior change that made the dev server crash instead of returning
  a Internal Server Error (pull request ``#2006``).
- Correctly invoke response handlers for both regular request dispatching as
  well as error handlers.
- Disable logger propagation by default for the app logger.
- Add support for range requests in ``send_file``.
- ``app.test_client`` includes preset default environment, which can now be
  directly set, instead of per ``client.get``.

Version 0.11.2
--------------

Bugfix release, unreleased

- Fix crash when running under PyPy3, see pull request ``#1814``.

Version 0.11.1
--------------

Bugfix release, released on June 7th 2016.

- Fixed a bug that prevented ``FLASK_APP=foobar/__init__.py`` from working. See
pull request ``#1872``.
   2016-08-28 17:48:37 by Thomas Klausner | Files touched by this commit (112)
Log message:
Remove unnecessary PLIST_SUBST and FILES_SUBST that are now provided
by the infrastructure.

Mark a couple more packages as not ready for python-3.x.
   2016-06-01 23:05:46 by Klaus Klein | Files touched by this commit (5) | Package updated
Log message:
Update py-flask to 0.11.

Version 0.11
------------

Released on May 29th 2016, codename Absinthe.

- Added support to serializing top-level arrays to :func:`flask.jsonify`. This
  introduces a security risk in ancient browsers. See
  :ref:`json-security` for details.
- Added before_render_template signal.
- Added `**kwargs` to :meth:`flask.Test.test_client` to support passing
  additional keyword arguments to the constructor of
  :attr:`flask.Flask.test_client_class`.
- Added ``SESSION_REFRESH_EACH_REQUEST`` config key that controls the
  set-cookie behavior.  If set to ``True`` a permanent session will be
  refreshed each request and get their lifetime extended, if set to
  ``False`` it will only be modified if the session actually modifies.
  Non permanent sessions are not affected by this and will always
  expire if the browser window closes.
- Made Flask support custom JSON mimetypes for incoming data.
- Added support for returning tuples in the form ``(response, headers)``
  from a view function.
- Added :meth:`flask.Config.from_json`.
- Added :attr:`flask.Flask.config_class`.
- Added :meth:`flask.config.Config.get_namespace`.
- Templates are no longer automatically reloaded outside of debug mode. This
  can be configured with the new ``TEMPLATES_AUTO_RELOAD`` config key.
- Added a workaround for a limitation in Python 3.3's namespace loader.
- Added support for explicit root paths when using Python 3.3's namespace
  packages.
- Added :command:`flask` and the ``flask.cli`` module to start the local
  debug server through the click CLI system.  This is recommended over the old
  ``flask.run()`` method as it works faster and more reliable due to a
  different design and also replaces ``Flask-Script``.
- Error handlers that match specific classes are now checked first,
  thereby allowing catching exceptions that are subclasses of HTTP
  exceptions (in ``werkzeug.exceptions``).  This makes it possible
  for an extension author to create exceptions that will by default
  result in the HTTP error of their choosing, but may be caught with
  a custom error handler if desired.
- Added :meth:`flask.Config.from_mapping`.
- Flask will now log by default even if debug is disabled.  The log format is
  now hardcoded but the default log handling can be disabled through the
  ``LOGGER_HANDLER_POLICY`` configuration key.
- Removed deprecated module functionality.
- Added the ``EXPLAIN_TEMPLATE_LOADING`` config flag which when enabled will
  instruct Flask to explain how it locates templates.  This should help
  users debug when the wrong templates are loaded.
- Enforce blueprint handling in the order they were registered for template
  loading.
- Ported test suite to py.test.
- Deprecated ``request.json`` in favour of ``request.get_json()``.
- Add "pretty" and "compressed" separators definitions in \ 
jsonify() method.
  Reduces JSON response size when JSONIFY_PRETTYPRINT_REGULAR=False by removing
  unnecessary white space included by default after separators.
- JSON responses are now terminated with a newline character, because it is a
  convention that UNIX text files end with a newline and some clients don't
  deal well when this newline is missing. See
  https://github.com/pallets/flask/pull/1262 -- this came up originally as a
  part of https://github.com/kennethreitz/httpbin/issues/168
- The automatically provided ``OPTIONS`` method is now correctly disabled if
  the user registered an overriding rule with the lowercase-version
  ``options`` (issue ``#1288``).
- ``flask.json.jsonify`` now supports the ``datetime.date`` type (pull request
  ``#1326``).
- Don't leak exception info of already catched exceptions to context teardown
  handlers (pull request ``#1393``).
- Allow custom Jinja environment subclasses (pull request ``#1422``).
- ``flask.g`` now has ``pop()`` and ``setdefault`` methods.
- Turn on autoescape for ``flask.templating.render_template_string`` by default
  (pull request ``#1515``).
- ``flask.ext`` is now deprecated (pull request ``#1484``).
- ``send_from_directory`` now raises BadRequest if the filename is invalid on
  the server OS (pull request ``#1763``).
- Added the ``JSONIFY_MIMETYPE`` configuration variable (pull request ``#1728``).
- Exceptions during teardown handling will no longer leave bad application
  contexts lingering around.