1.4.1
Packaging updates and notes for downstreams
-
Declared Python 3.12 and PyPy 3.8-3.10 supported officially
in the distribution package metadata.Related issues and pull requests on GitHub:
#553. -
Replaced the packaging is replaced from an old-fashioned :file:
setup.py
to an
in-tree :pep:517
build backend -- by :user:webknjaz
.Whenever the end-users or downstream packagers need to build
frozenlist
from source (a Git checkout or an sdist), they may pass aconfig_settings
flagpure-python
. If this flag is not set, a C-extension will be built
and included into the distribution.Here is how this can be done with
pip
:.. code-block:: console
$ python3 -m pip install . --config-settings=pure-python=
This will also work with
-e | --editable
.The same can be achieved via
pypa/build
:.. code-block:: console
$ python3 -m build --config-setting=pure-python=
Adding
-w | --wheel
can forcepypa/build
produce a wheel from source
directly, as opposed to building ansdist
and then building from it.Related issues and pull requests on GitHub:
#560.
Contributor-facing changes
-
It is now possible to request line tracing in Cython builds using the
with-cython-tracing
:pep:517
config setting
-- :user:webknjaz
.This can be used in CI and development environment to measure coverage
on Cython modules, but is not normally useful to the end-users or
downstream packagers.Here's a usage example:
.. code-block:: console
$ python3 -Im pip install . --config-settings=with-cython-tracing=true
For editable installs, this setting is on by default. Otherwise, it's
off unless requested explicitly.The following produces C-files required for the Cython coverage
plugin to map the measurements back to the PYX-files:.. code-block:: console
$ python -Im pip install -e .
Alternatively, the
FROZENLIST_CYTHON_TRACING=1
environment variable
can be set to do the same as the :pep:517
config setting.Related issues and pull requests on GitHub:
#560. -
Coverage collection has been implemented for the Cython modules
-- by :user:webknjaz
.It will also be reported to Codecov from any non-release CI jobs.
Related issues and pull requests on GitHub:
#561. -
A step-by-step :doc:
Release Guide <contributing/release_guide>
guide has
been added, describing how to release frozenlist -- by :user:webknjaz
.This is primarily targeting the maintainers.
Related issues and pull requests on GitHub:
#563. -
Detailed :doc:
Contributing Guidelines <contributing/guidelines>
on
authoring the changelog fragments have been published in the
documentation -- by :user:webknjaz
.Related issues and pull requests on GitHub:
#564.