Skip to content

1.4.1

Latest
Compare
Choose a tag to compare
@github-actions github-actions released this 15 Dec 08:39
· 17 commits to master since this release
v1.4.1
457b28e

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 a config_settings
    flag pure-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 force pypa/build produce a wheel from source
    directly, as opposed to building an sdist 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.