An incorrect signature of the
__class_getitem__
class method has been fixed, adding a missingclass_item
argument under Python 3.8 and older.This change also improves the code coverage of this method that was previously missing -- by :user:`webknjaz`.
Related issues and pull requests on GitHub: :issue:`567`, :issue:`571`.
Rendered issue, PR, and commit links now lead to
frozenlist
's repo instead ofyarl
's repo.Related issues and pull requests on GitHub: :issue:`573`.
On the :doc:`Contributing docs <contributing/guidelines>` page, a link to the
Towncrier philosophy
has been fixed.Related issues and pull requests on GitHub: :issue:`574`.
A name of a temporary building directory now reflects that it's related to
frozenlist
, notyarl
.Related issues and pull requests on GitHub: :issue:`573`.
Declared Python 3.13 supported officially in the distribution package metadata.
Related issues and pull requests on GitHub: :issue:`595`.
Declared Python 3.12 and PyPy 3.8-3.10 supported officially in the distribution package metadata.
Related issues and pull requests on GitHub: :issue:`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
:$ 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: :issue:`560`.
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:
$ 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 the PEP 517 config setting.Related issues and pull requests on GitHub: :issue:`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: :issue:`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: :issue:`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: :issue:`564`.
The published source distribution package became buildable under Python 3.12.
- Removed an unused :py:data:`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