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
setup.py
to an in-tree517
build backend -- bywebknjaz
.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
:$ python3 -m pip install . --config-settings=pure-python=
This will also work with
-e | --editable
.The same can be achieved via
pypa/build
:$ 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
.
It is now possible to request line tracing in Cython builds using the
with-cython-tracing
517
config setting --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:
$ 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:
$ python -Im pip install -e .
Alternatively, the
FROZENLIST_CYTHON_TRACING=1
environment variable can be set to do the same as the517
config setting.Related issues and pull requests on GitHub:
560
.Coverage collection has been implemented for the Cython modules -- by
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
Release Guide <contributing/release_guide>
guide has been added, describing how to release frozenlist -- bywebknjaz
.This is primarily targeting the maintainers.
Related issues and pull requests on GitHub:
563
.Detailed
Contributing Guidelines <contributing/guidelines>
on authoring the changelog fragments have been published in the documentation -- bywebknjaz
.Related issues and pull requests on GitHub:
564
.
The published source distribution package became buildable under Python 3.12.
- Removed an unused :py
typing.Tuple
import #411
- Dropped Python 3.7 support. #413
- Fixed CI runs when creating a new release, where new towncrier versions fail when the current version section is already present.
- Updated the CI runs to better check for test results and to avoid deprecated syntax. #327
The published source distribution package became buildable under Python 3.11.
- Do not install C sources with binary distributions. #250
- Dropped Python 3.6 support #274
FrozenList
now supports being used as a generic type as per PEP 585, e.g.frozen_int_list: FrozenList[int]
(requires Python 3.9 or newer). #172- Added support for Python 3.10. #227
- Started shipping platform-specific wheels with the
musl
tag targeting typical Alpine Linux runtimes. #227 - Started shipping platform-specific arm64 wheels for Apple Silicon. #227
- Provide x86 Windows wheels. #169
- Add support for hashing of a frozen list. #136
- Support Python 3.8 and 3.9.
- Provide wheels for
aarch64
,i686
,ppc64le
,s390x
architectures on Linux as well asx86_64
.
- Dropped support for Python 3.5; only 3.6, 3.7 and 3.8 are supported going forward. #24