* Add final support for Python 3.13.
- Adjust upstream source name in spec file
- Drop unnecessary removal of egg-info from %setup section
- Fix missing version contraint for Obsoletes
- Switch build system from setuptools to pyproject.toml
* Add python-pip and python-wheel to BuildRequires
* Replace %python_build with %pyproject_wheel
* Replace %python_install with %pyproject_install
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-BTrees?expand=0&rev=40
- version update to 4.11.0 (2022-11-03):
* Add support for Python 3.11.
- version update to 4.10.1 (2022-09-12):
* Disable unsafe math optimizations in C code. (#184)
- version update to 4.10.0 (2022-03-09):
* Add support for Python 3.10.
- version update to 4.9.2 (2021-06-09):
* Fix fsBTree.TreeSet and fsBTree.BTree raising SystemError. See
issue 170.
* Fix all the fsBTree objects to provide the correct interfaces
and be instances of the appropriate collection ABCs. This was
done for the other modules in release 4.8.0.
* Fix the multiunion, union, intersection, and difference
functions when used with arbitrary iterables. Previously, the
iterable had to be pre-sorted, meaning only sequences like list
and tuple could reliably be used; this was not documented
though. If the iterable wasn’t sorted, the function would
produce garbage output. Now, if the function detects an
arbitrary iterable, it automatically sorts a copy.
- version update to 4.9.1 (2021-05-27):
* Fix setting unknown class attributes on subclasses of BTrees
when using the C extension. This prevented subclasses from
being decorated with @component.adapter(). See issue 168.
- version update to 4.9.0 (2021-05-26):
* Fix the C implementation to match the Python implementation and
allow setting custom node sizes for an entire application
directly by changing BTree.max_leaf_size and
BTree.max_internal_size attributes, without having to create a
new subclass. These attributes can now also be read from the
classes in the C implementation. See issue 166.
OBS-URL: https://build.opensuse.org/request/show/1033872
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-BTrees?expand=0&rev=25
- version update to 4.8.0
* Make Python 2 forbid the use of type objects as keys (unless a
custom metaclass is used that implements comparison as required by
BTrees.) On Python 3, types are not orderable so they were already
forbidden, but on Python 2 types can be ordered by memory address,
which makes them unsuitable for use as keys. See `issue
<https://github.com/zopefoundation/BTrees/issues/153>`_.
* Make the ``multiunion``, ``union``, ``intersection``, and
``difference`` functions accept arbitrary Python iterables (that
iterate across the correct types). Previously, the Python
implementation allowed this, but the C implementation only allowed
objects (like ``TreeSet`` or ``Bucket``) defined in the same module
providing the function. See `issue 24
<https://github.com/zopefoundation/BTrees/issues/24>`_.
* Fix persistency bug in the Python version
(`#118 <https://github.com/zopefoundation/BTrees/issues/118>`_).
* Fix ``Tree.__setstate__`` to no longer accept children besides
tree or bucket types to prevent crashes. See `PR 143
<https://github.com/zopefoundation/BTrees/pull/143>`_ for details.
* Make BTrees, TreeSet, Set and Buckets implements the ``__and__``,
``__or__`` and ``__sub__`` special methods as shortcuts for
``BTrees.Interfaces.IMerge.intersection``,
``BTrees.Interfaces.IMerge.union`` and
``BTrees.Interfaces.IMerge.difference``.
* Add support for Python 3.9.
* Build and upload aarch64 wheels.
* Make a value of ``0`` in the ``PURE_PYTHON`` environment variable
require the C extensions (except on PyPy). Previously, and if this
variable is unset, missing or unusable C extensions would be
silently ignored. With this variable set to ``0``, an
OBS-URL: https://build.opensuse.org/request/show/895156
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-BTrees?expand=0&rev=22
- update to 4.7.1
* Ensure the interface resolution order of all objects is consistent.
See `issue 137 <https://github.com/zopefoundation/BTrees/issues/137>`_.
* Add unsigned variants of the trees. These use the initial "U" for
32-bit data and "Q" for 64-bit data (for "quad", which is similar to
what the C ``printf`` function uses and the Python struct module
uses).
* Fix the value for ``BTrees.OIBTree.using64bits`` when using the pure Python
implementation (PyPy and when ``PURE_PYTHON`` is in the environment).
* Make the errors that are raised when values are out of range more
consistent between Python 2 and Python 3 and between 32-bit and
64-bit variants.
* Make the Bucket types consistent with the BTree types as updated in
versions 4.3.2: Querying for keys with default comparisons or that
are not integers no longer raises ``TypeError``.
OBS-URL: https://build.opensuse.org/request/show/788263
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-BTrees?expand=0&rev=18
- Update to v4.5.1
+ Use pyproject.toml to specify build dependencies. This requires pip
18 or later to build from source.
- 4.5.0
+ Add support for Python 3.6 and 3.7, and drop support for Python 3.3.
+ Raise an ``ImportError`` consistently on Python 3 if the C extension for
BTrees is used but the ``persistent`` C extension is not available.
Previously this could result in an odd ``AttributeError``.
+ Fix the possibility of a rare crash in the C extension when
deallocating items.
+ Respect the ``PURE_PYTHON`` environment variable at runtime even if
the C extensions are available.
+ Always attempt to build the C extensions, but make their success
optional.
+ Fix a ``DeprecationWarning`` that could come from I and L objects in
Python 2 in pure-Python mode.
- Use %license (forwarded request 673139 from jayvdb)
OBS-URL: https://build.opensuse.org/request/show/673140
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-BTrees?expand=0&rev=6
- Update to v4.5.1
+ Use pyproject.toml to specify build dependencies. This requires pip
18 or later to build from source.
- 4.5.0
+ Add support for Python 3.6 and 3.7, and drop support for Python 3.3.
+ Raise an ``ImportError`` consistently on Python 3 if the C extension for
BTrees is used but the ``persistent`` C extension is not available.
Previously this could result in an odd ``AttributeError``.
+ Fix the possibility of a rare crash in the C extension when
deallocating items.
+ Respect the ``PURE_PYTHON`` environment variable at runtime even if
the C extensions are available.
+ Always attempt to build the C extensions, but make their success
optional.
+ Fix a ``DeprecationWarning`` that could come from I and L objects in
Python 2 in pure-Python mode.
- Use %license
OBS-URL: https://build.opensuse.org/request/show/673139
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-BTrees?expand=0&rev=10
- version 4.1.1
- 4.1.1 (2014-12-27)
Accomodate long values in pure-Python OLBTrees.
- 4.1.0 (2014-12-26)
Add support for PyPy and PyPy3.
Add support for Python 3.4.
BTree subclasses can define max_leaf_size or max_internal_size to control
maximum sizes for Bucket/Set and BTree/TreeSet nodes. Detect integer overflow
on 32-bit machines correctly under Python 3. Update pure-Python and C trees /
sets to accept explicit None to indicate max / min value for minKey, maxKey.
PR #3) Update pure-Python trees / sets to accept explicit None to indicate
pen ranges for keys, values, items. (PR #3)
OBS-URL: https://build.opensuse.org/request/show/284525
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-BTrees?expand=0&rev=3