./devel/py-falcon, Unladen web framework for building APIs and app backends

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


Branch: CURRENT, Version: 4.0.2, Package name: py312-falcon-4.0.2, Maintainer: pkgsrc-users

Falcon is a high-performance Python framework for building cloud APIs.
It encourages the REST architectural style, and tries to do as little
as possible while remaining highly effective.


Required to run:
[devel/py-setuptools] [devel/py-cython] [lang/python37]

Required to build:
[pkgtools/cwrappers]

Master sites:

Filesize: 615.353 KB

Version history: (Expand)


CVS history: (Expand)


   2024-12-09 22:11:43 by Thomas Klausner | Files touched by this commit (3) | Package updated
Log message:
py-falcon: update to 4.0.2.

Adds Python 3.13 support.

Changelog for Falcon 4.0.2
==========================

Summary
-------

This is a minor point release to fix some missed re-exports for type checkers.
In addition, we have also included a couple of documentation improvements.

Changelog for Falcon 4.0.1
==========================

Summary
-------

This is a minor point release addressing a Python distribution issue in
Falcon 4.0.0.

Changelog for Falcon 4.0.0
==========================

Summary
-------

We are happy to present Falcon 4.0, a new major version of the framework that
brings a couple of commonly requested features including support for matching
multiple path segments (using :class:`~falcon.routing.PathConverter`), and
a fully typed codebase. (Please read more about typing in the notes below.)

The timeframe for Falcon 4.0 was challenging due to the need to balance our
high standards with the CPython 3.13 timeline. We aimed to deliver the main
development branch in this release, without resorting to another compatibility
micro update (as we did with Falcon 3.1.1-3.1.3). Following community feedback,
we also want to improve our overall release schedule by shipping smaller
increments more often.
To support this goal, we have made several tooling and testing improvements:
the build process for :ref:`binary wheels <binary_wheels>` has been simplified
using `cibuildwheel <https://cibuildwheel.pypa.io/>`__, and our test suite now
only requires ``pytest`` as a hard dependency. Additionally, you can run
``pytest`` against our tests from any directory. We hope that these changes
should also benefit packaging Falcon in Linux distributions.

As with every SemVer major release, we have removed a number of previously
deprecated functions, classes, compatibility shims, as well as made other
potentially breaking changes that we could not risk in a minor version.
If you have been paying attention the deprecation warnings from the 3.x series,
the impact should be minimal, but please do take a look at the list of breaking
changes below.
   2024-11-26 13:42:22 by Nia Alarie | Files touched by this commit (3)
Log message:
py-falcon: Broken with Python 3.13, uses deprecated cgi module
   2024-11-11 08:29:31 by Thomas Klausner | Files touched by this commit (862)
Log message:
py-*: remove unused tool dependency

py-setuptools includes the py-wheel functionality nowadays
   2024-10-14 08:46:10 by Thomas Klausner | Files touched by this commit (325)
Log message:
*: clean-up after python38 removal
   2024-01-18 19:21:31 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-falcon: updated to 3.1.3

3.1.3

This is a minor bugfix release that only pins the ``pytest-asyncio`` test
dependency in order to prevent an incompatible version from interfering with
the build workflow.

3.1.2

Summary
-------

This is a minor point release fixing a couple of high impact bugs,
as well as publishing binary wheels for the recently released CPython 3.12.

Changes to Supported Platforms
------------------------------

- Falcon is now supported (including binary wheels) on CPython 3.12.
  A couple of remaining stdlib deprecations from 3.11 and 3.12 will be
  addressed in Falcon 4.0.
- As with the previous release, Python 3.5 & 3.6 remain deprecated and
  will no longer be supported in Falcon 4.0.
- EOL Python 3.7 will no longer be actively supported in 4.0, but the framework
  should still continue to install from source. We may remove the support for
  3.7 altogether later in the 4.x series if we are faced with incompatible
  ecosystem changes in typing, Cython, etc.

Fixed
-----

- Some essential files were unintentionally omitted from the source distribution
  archive, rendering it unsuitable to run the test suite off.
  This has been fixed, and the ``sdist`` tarball should now be usable as a base
  for packaging Falcon in OS distributions.
- :ref:`WebSocket <ws>` implementation has been fixed to properly handle
  :class:`~falcon.HTTPError` and :class:`~falcon.HTTPStatus` exceptions raised by
  custom :func:`error handlers <falcon.asgi.App.add_error_handler>`.
  The WebSocket connection is now correctly closed with an appropriate code
  instead of bubbling up an unhandled error to the application server.
- Falcon's :class:`~falcon.testing.TestClient` mimics the behavior of real WSGI
  servers (and the WSGI spec) by presenting the ``PATH_INFO`` CGI variable
  already in the percent-decoded form. However, the client also used to
  indiscriminately set the non-standard ``RAW_URI`` CGI variable to ``/``, which
  made writing tests for apps :ref:`decoding raw URL path \ 
<raw_url_path_recipe>`
  cumbersome. This has been fixed, and the raw path of a simulated request is now
  preserved in ``RAW_URI``.
   2023-11-07 23:38:10 by Thomas Klausner | Files touched by this commit (112)
Log message:
*: latest py-sphinx only support Python 3.9+
   2023-05-08 22:30:55 by Mark Davies | Files touched by this commit (4) | Package updated
Log message:
py-falcon: update to 3.1.1

3.0.0
A major new release that includes ASGI-based asyncio and WebSocket support,
fantastic multipart/form-data parsing, better error handling, enhancements to
existing features, and the usual assortment of bug fixes.
* Python 3.8 and 3.9 are now fully supported.
* Python 3.6+ is only required when using the new ASGI interface. WSGI is still
  supported on Python 3.5+.
* Python 3.5 support is deprecated and may be removed in the next major release.
* Python 3.4 is no longer supported.
* The Falcon 2.x series was the last to support Python language version 2. As a
  result, support for CPython 2.7 and PyPy2.7 was removed in Falcon 3.0.
* The class OptionalRepresentation and the attribute has_representation were
  deprecated. The default error serializer now generates a representation for
  every error type that derives from falcon.HTTPError. In addition, Falcon
  now ensures that any previously set response body is cleared before handling
  any raised exception.
* The class NoRepresentation was deprecated. All subclasses of falcon.HTTPError
  now have a media type representation.

3.0.1
This is a minor point release to take care of a couple of bugs that we did not
catch for 3.0.0.

3.1.0
This release contains several refinements to request validation and error
handling, along with some tweaks to response handling for static and downloadable
files.

Due to popular demand, TestClient and ASGIConductor now expose convenience
shorthand aliases for the simulate_* methods, i.e., simulate_get() is now also
available as get(), etc.

Some important bugs were also fixed to ensure applications properly clean up
response streams and do not hang when reading request bodies that are streamed
using chunked transfer encoding.

This release also adds support for CPython 3.10 and deprecates CPython 3.6.

3.1.1
This is a minor point release addressing a couple of high impact bugs, and
enabling the framework on the recently released CPython 3.11.
   2022-05-01 09:51:48 by Thomas Klausner | Files touched by this commit (1)
Log message:
py-falcon: mark as not for python 2.x