Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-frozenlist for
openSUSE:Factory checked in at 2022-01-25 17:35:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-frozenlist (Old)
and /work/SRC/openSUSE:Factory/.python-frozenlist.new.1938 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-frozenlist"
Tue Jan 25 17:35:45 2022 rev:2 rq:948240 version:1.3.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-frozenlist/python-frozenlist.changes
2021-12-16 02:01:04.551638072 +0100
+++
/work/SRC/openSUSE:Factory/.python-frozenlist.new.1938/python-frozenlist.changes
2022-01-25 17:36:36.058114973 +0100
@@ -1,0 +2,7 @@
+Sun Jan 23 16:23:05 UTC 2022 - Dirk M??ller <[email protected]>
+
+- update to 1.3.0:
+ * Do not install C sources with binary distributions.
+ * Dropped Python 3.6 support
+
+-------------------------------------------------------------------
Old:
----
frozenlist-1.2.0.tar.gz
New:
----
frozenlist-1.3.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-frozenlist.spec ++++++
--- /var/tmp/diff_new_pack.fwcMmt/_old 2022-01-25 17:36:36.646110923 +0100
+++ /var/tmp/diff_new_pack.fwcMmt/_new 2022-01-25 17:36:36.650110896 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-frozenlist
#
-# Copyright (c) 2021 SUSE LLC
+# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -19,7 +19,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%define skip_python2 1
Name: python-frozenlist
-Version: 1.2.0
+Version: 1.3.0
Release: 0
Summary: Python list-like structure which implements MutableSequence
License: Apache-2.0
@@ -45,9 +45,7 @@
%install
%python_install
-%{python_expand rm %{buildroot}%{$python_sitearch}/frozenlist/_frozenlist.c
-%fdupes %{buildroot}%{$python_sitearch}
-}
+%python_expand %fdupes %{buildroot}%{$python_sitearch}
%check
%pytest_arch
++++++ frozenlist-1.2.0.tar.gz -> frozenlist-1.3.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/frozenlist-1.2.0/CHANGES.rst
new/frozenlist-1.3.0/CHANGES.rst
--- old/frozenlist-1.2.0/CHANGES.rst 2021-10-16 09:33:18.000000000 +0200
+++ new/frozenlist-1.3.0/CHANGES.rst 2022-01-18 15:55:45.000000000 +0100
@@ -14,6 +14,26 @@
.. towncrier release notes start
+1.3.0 (2022-01-18)
+==================
+
+Bugfixes
+--------
+
+- Do not install C sources with binary distributions.
+ `#250 <https://github.com/aio-libs/frozenlist/issues/250>`_
+
+
+Deprecations and Removals
+-------------------------
+
+- Dropped Python 3.6 support
+ `#274 <https://github.com/aio-libs/frozenlist/issues/274>`_
+
+
+----
+
+
1.2.0 (2021-10-16)
==================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/frozenlist-1.2.0/PKG-INFO
new/frozenlist-1.3.0/PKG-INFO
--- old/frozenlist-1.2.0/PKG-INFO 2021-10-16 09:33:29.423939200 +0200
+++ new/frozenlist-1.3.0/PKG-INFO 2022-01-18 15:56:09.691456300 +0100
@@ -1,12 +1,10 @@
Metadata-Version: 2.1
Name: frozenlist
-Version: 1.2.0
+Version: 1.3.0
Summary: A list-like structure which implements collections.abc.MutableSequence
Home-page: https://github.com/aio-libs/frozenlist
-Author: Nikolay Kim
-Author-email: [email protected]
-Maintainer: Martijn Pieters <[email protected]>
-Maintainer-email: [email protected]
+Maintainer: aiohttp team <[email protected]>
+Maintainer-email: [email protected]
License: Apache 2
Project-URL: Chat: Gitter, https://gitter.im/aio-libs/Lobby
Project-URL: CI: Github Actions, https://github.com/aio-libs/frozenlist/actions
@@ -19,15 +17,15 @@
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
+Classifier: Programming Language :: Python :: 3.10
Classifier: Development Status :: 5 - Production/Stable
Classifier: Operating System :: POSIX
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: Microsoft :: Windows
-Requires-Python: >=3.6
+Requires-Python: >=3.7
Description-Content-Type: text/x-rst
License-File: LICENSE
@@ -151,78 +149,4 @@
.. _GitHub: https://github.com/aio-libs/frozenlist
-=========
-Changelog
-=========
-
-..
- You should *NOT* be adding new change log entries to this file, this
- file is managed by towncrier. You *may* edit previous change logs to
- fix problems like typo corrections or such.
- To add a new change log entry, please see
- https://pip.pypa.io/en/latest/development/contributing/#news-entries
- we named the news folder "changes".
-
- WARNING: Don't drop the next directive!
-
-.. towncrier release notes start
-
-1.2.0 (2021-10-16)
-==================
-
-Features
---------
-
-- ``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 <https://github.com/aio-libs/frozenlist/issues/172>`_
-- Added support for Python 3.10.
- `#227 <https://github.com/aio-libs/frozenlist/issues/227>`_
-- Started shipping platform-specific wheels with the ``musl`` tag targeting
typical Alpine Linux runtimes.
- `#227 <https://github.com/aio-libs/frozenlist/issues/227>`_
-- Started shipping platform-specific arm64 wheels for Apple Silicon.
- `#227 <https://github.com/aio-libs/frozenlist/issues/227>`_
-
-
-----
-
-
-1.1.1 (2020-11-14)
-==================
-
-Bugfixes
---------
-
-- Provide x86 Windows wheels.
- `#169 <https://github.com/aio-libs/frozenlist/issues/169>`_
-
-
-----
-
-
-1.1.0 (2020-10-13)
-==================
-
-Features
---------
-
-- Add support for hashing of a frozen list.
- `#136 <https://github.com/aio-libs/frozenlist/issues/136>`_
-
-- Support Python 3.8 and 3.9.
-
-- Provide wheels for ``aarch64``, ``i686``, ``ppc64le``, ``s390x``
architectures on
- Linux as well as ``x86_64``.
-
-
-----
-
-
-1.0.0 (2019-11-09)
-==================
-
-Deprecations and Removals
--------------------------
-
-- Dropped support for Python 3.5; only 3.6, 3.7 and 3.8 are supported going
forward.
- `#24 <https://github.com/aio-libs/frozenlist/issues/24>`_
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/frozenlist-1.2.0/docs/conf.py
new/frozenlist-1.3.0/docs/conf.py
--- old/frozenlist-1.2.0/docs/conf.py 2021-10-16 09:33:18.000000000 +0200
+++ new/frozenlist-1.3.0/docs/conf.py 2022-01-18 15:55:45.000000000 +0100
@@ -1,5 +1,4 @@
#!/usr/bin/env python3
-# -*- coding: utf-8 -*-
#
# frozenlist documentation build configuration file, created by
# sphinx-quickstart on Wed Mar 5 12:35:35 2014.
@@ -19,18 +18,22 @@
import sys
_docs_path = os.path.dirname(__file__)
-_version_path = os.path.abspath(os.path.join(_docs_path,
- '..', 'frozenlist',
'__init__.py'))
-with io.open(_version_path, 'r', encoding='latin1') as fp:
+_version_path = os.path.abspath(
+ os.path.join(_docs_path, "..", "frozenlist", "__init__.py")
+)
+with open(_version_path, encoding="latin1") as fp:
try:
- _version_info = re.search(r'^__version__ = "'
- r"(?P<major>\d+)"
- r"\.(?P<minor>\d+)"
- r"\.(?P<patch>\d+)"
- r'(?P<tag>.*)?"$',
- fp.read(), re.M).groupdict()
+ _version_info = re.search(
+ r'^__version__ = "'
+ r"(?P<major>\d+)"
+ r"\.(?P<minor>\d+)"
+ r"\.(?P<patch>\d+)"
+ r'(?P<tag>.*)?"$',
+ fp.read(),
+ re.M,
+ ).groupdict()
except IndexError:
- raise RuntimeError('Unable to determine version.')
+ raise RuntimeError("Unable to determine version.")
# -- General configuration ------------------------------------------------
@@ -42,48 +45,48 @@
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
extensions = [
- 'sphinx.ext.viewcode',
- 'sphinx.ext.intersphinx',
+ "sphinx.ext.viewcode",
+ "sphinx.ext.intersphinx",
]
try:
import sphinxcontrib.spelling # noqa
- extensions.append('sphinxcontrib.spelling')
+
+ extensions.append("sphinxcontrib.spelling")
except ImportError:
pass
intersphinx_mapping = {
- 'python': ('http://docs.python.org/3', None),
- 'aiohttp':
- ('https://docs.aiohttp.org/en/stable/', None),
+ "python": ("http://docs.python.org/3", None),
+ "aiohttp": ("https://docs.aiohttp.org/en/stable/", None),
}
# Add any paths that contain templates here, relative to this directory.
-templates_path = ['_templates']
+templates_path = ["_templates"]
# The suffix of source filenames.
-source_suffix = '.rst'
+source_suffix = ".rst"
# The encoding of source files.
# source_encoding = 'utf-8-sig'
# The master toctree document.
-master_doc = 'index'
+master_doc = "index"
# General information about the project.
-project = 'frozenlist'
-copyright = '2013-2019, frozenlist contributors'
+project = "frozenlist"
+copyright = "2013-2019, frozenlist contributors"
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
# built documents.
#
# The short X.Y version.
-version = '{major}.{minor}'.format(**_version_info)
+version = "{major}.{minor}".format(**_version_info)
# The full version, including alpha/beta/rc tags.
-release = '{major}.{minor}.{patch}{tag}'.format(**_version_info)
+release = "{major}.{minor}.{patch}{tag}".format(**_version_info)
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
@@ -97,7 +100,7 @@
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
-exclude_patterns = ['_build']
+exclude_patterns = ["_build"]
# The reST default role (used for this markup: `text`) to use for all
# documents.
@@ -118,7 +121,7 @@
# pygments_style = 'sphinx'
# The default language to highlight source code in.
-highlight_language = 'python3'
+highlight_language = "python3"
# A list of ignored prefixes for module index sorting.
# modindex_common_prefix = []
@@ -131,40 +134,52 @@
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
-html_theme = 'aiohttp_theme'
+html_theme = "aiohttp_theme"
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
# documentation.
html_theme_options = {
- 'logo': None,
- 'description': 'A list-like structure which implements
collections.abc.MutableSequence',
- 'canonical_url': 'http://frozenlist.readthedocs.org/en/stable/',
- 'github_user': 'aio-libs',
- 'github_repo': 'frozenlist',
- 'github_button': True,
- 'github_type': 'star',
- 'github_banner': True,
- 'badges': [{'image':
'https://github.com/aio-libs/frozenlist/workflows/CI/badge.svg',
- 'target': 'https://github.com/aio-libs/frozenlist/actions',
- 'height': '20',
- 'alt': 'Github CI status for master branch'},
- {'image':
'https://codecov.io/github/aio-libs/frozenlist/coverage.svg?branch=master',
- 'target': 'https://codecov.io/github/aio-libs/frozenlist',
- 'height': '20',
- 'alt': 'Code coverage status'},
- {'image': 'https://badge.fury.io/py/frozenlist.svg',
- 'target': 'https://badge.fury.io/py/frozenlist',
- 'height': '20',
- 'alt': 'Latest PyPI package version'},
- {'image':
'https://img.shields.io/discourse/topics?server=https%3A%2F%2Faio-libs.discourse.group%2F',
- 'target': 'https://aio-libs.discourse.group/',
- 'height': '20',
- 'alt': 'Discourse group for io-libs'},
- {'image': 'https://badges.gitter.im/Join%20Chat.svg',
- 'target': 'https://gitter.im/aio-libs/Lobby',
- 'height': '20',
- 'alt': 'Chat on Gitter'}],
+ "logo": None,
+ "description": "A list-like structure which implements
collections.abc.MutableSequence",
+ "canonical_url": "http://frozenlist.readthedocs.org/en/stable/",
+ "github_user": "aio-libs",
+ "github_repo": "frozenlist",
+ "github_button": True,
+ "github_type": "star",
+ "github_banner": True,
+ "badges": [
+ {
+ "image":
"https://github.com/aio-libs/frozenlist/workflows/CI/badge.svg",
+ "target": "https://github.com/aio-libs/frozenlist/actions",
+ "height": "20",
+ "alt": "Github CI status for master branch",
+ },
+ {
+ "image":
"https://codecov.io/github/aio-libs/frozenlist/coverage.svg?branch=master",
+ "target": "https://codecov.io/github/aio-libs/frozenlist",
+ "height": "20",
+ "alt": "Code coverage status",
+ },
+ {
+ "image": "https://badge.fury.io/py/frozenlist.svg",
+ "target": "https://badge.fury.io/py/frozenlist",
+ "height": "20",
+ "alt": "Latest PyPI package version",
+ },
+ {
+ "image":
"https://img.shields.io/discourse/topics?server=https%3A%2F%2Faio-libs.discourse.group%2F",
+ "target": "https://aio-libs.discourse.group/",
+ "height": "20",
+ "alt": "Discourse group for io-libs",
+ },
+ {
+ "image": "https://badges.gitter.im/Join%20Chat.svg",
+ "target": "https://gitter.im/aio-libs/Lobby",
+ "height": "20",
+ "alt": "Chat on Gitter",
+ },
+ ],
}
# Add any paths that contain custom themes here, relative to this directory.
@@ -206,8 +221,10 @@
# Custom sidebar templates, maps document names to template names.
html_sidebars = {
- '**': [
- 'about.html', 'navigation.html', 'searchbox.html',
+ "**": [
+ "about.html",
+ "navigation.html",
+ "searchbox.html",
]
}
@@ -242,7 +259,7 @@
# html_file_suffix = None
# Output file base name for HTML help builder.
-htmlhelp_basename = 'frozenlistdoc'
+htmlhelp_basename = "frozenlistdoc"
# -- Options for LaTeX output ---------------------------------------------
@@ -250,10 +267,8 @@
latex_elements = {
# The paper size ('letterpaper' or 'a4paper').
# 'papersize': 'letterpaper',
-
# The font size ('10pt', '11pt' or '12pt').
# 'pointsize': '10pt',
-
# Additional stuff for the LaTeX preamble.
# 'preamble': '',
}
@@ -262,8 +277,13 @@
# (source start file, target name, title,
# author, documentclass [howto, manual, or own class]).
latex_documents = [
- ('index', 'frozenlist.tex', 'frozenlist Documentation',
- 'frozenlist contributors', 'manual'),
+ (
+ "index",
+ "frozenlist.tex",
+ "frozenlist Documentation",
+ "frozenlist contributors",
+ "manual",
+ ),
]
# The name of an image file (relative to this directory) to place at the top of
@@ -291,10 +311,7 @@
# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
-man_pages = [
- ('index', 'frozenlist', 'frozenlist Documentation',
- ['frozenlist'], 1)
-]
+man_pages = [("index", "frozenlist", "frozenlist Documentation",
["frozenlist"], 1)]
# If true, show URL addresses after external links.
# man_show_urls = False
@@ -306,9 +323,15 @@
# (source start file, target name, title, author,
# dir menu entry, description, category)
texinfo_documents = [
- ('index', 'frozenlist', 'frozenlist Documentation',
- 'frozenlist contributors', 'frozenlist', 'One line description of
project.',
- 'Miscellaneous'),
+ (
+ "index",
+ "frozenlist",
+ "frozenlist Documentation",
+ "frozenlist contributors",
+ "frozenlist",
+ "One line description of project.",
+ "Miscellaneous",
+ ),
]
# Documents to append as an appendix to all manuals.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/frozenlist-1.2.0/docs/index.rst
new/frozenlist-1.3.0/docs/index.rst
--- old/frozenlist-1.2.0/docs/index.rst 2021-10-16 09:33:18.000000000 +0200
+++ new/frozenlist-1.3.0/docs/index.rst 2022-01-18 15:55:45.000000000 +0100
@@ -95,4 +95,4 @@
* :ref:`search`
-.. _GitHub: https://github.com/aio-libs/frozenlist
\ No newline at end of file
+.. _GitHub: https://github.com/aio-libs/frozenlist
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/frozenlist-1.2.0/frozenlist/__init__.py
new/frozenlist-1.3.0/frozenlist/__init__.py
--- old/frozenlist-1.2.0/frozenlist/__init__.py 2021-10-16 09:33:18.000000000
+0200
+++ new/frozenlist-1.3.0/frozenlist/__init__.py 2022-01-18 15:55:45.000000000
+0100
@@ -5,11 +5,9 @@
from functools import total_ordering
from typing import Tuple, Type
-__version__ = "1.2.0"
+__version__ = "1.3.0"
-__all__ = (
- "FrozenList", "PyFrozenList"
-) # type: Tuple[str, ...]
+__all__ = ("FrozenList", "PyFrozenList") # type: Tuple[str, ...]
NO_EXTENSIONS = bool(os.environ.get("FROZENLIST_NO_EXTENSIONS")) # type: bool
@@ -23,6 +21,7 @@
if sys.version_info >= (3, 9):
__class_getitem__ = classmethod(types.GenericAlias)
else:
+
@classmethod
def __class_getitem__(cls: Type["FrozenList"]) -> Type["FrozenList"]:
return cls
@@ -76,8 +75,7 @@
self._items.insert(pos, item)
def __repr__(self):
- return "<FrozenList(frozen={}, {!r})>".format(self._frozen,
- self._items)
+ return f"<FrozenList(frozen={self._frozen}, {self._items!r})>"
def __hash__(self):
if self._frozen:
@@ -91,6 +89,7 @@
try:
from ._frozenlist import FrozenList as CFrozenList # type: ignore
+
if not NO_EXTENSIONS: # pragma: no cover
FrozenList = CFrozenList # type: ignore
except ImportError: # pragma: no cover
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/frozenlist-1.2.0/frozenlist/__init__.pyi
new/frozenlist-1.3.0/frozenlist/__init__.pyi
--- old/frozenlist-1.2.0/frozenlist/__init__.pyi 2021-10-16
09:33:18.000000000 +0200
+++ new/frozenlist-1.3.0/frozenlist/__init__.pyi 2022-01-18
15:55:45.000000000 +0100
@@ -10,56 +10,38 @@
overload,
)
-_T = TypeVar('_T')
+_T = TypeVar("_T")
_Arg = Union[List[_T], Iterable[_T]]
-
class FrozenList(MutableSequence[_T], Generic[_T]):
-
- def __init__(self, items: Optional[_Arg[_T]]=None) -> None: ...
-
+ def __init__(self, items: Optional[_Arg[_T]] = None) -> None: ...
@property
def frozen(self) -> bool: ...
-
def freeze(self) -> None: ...
-
@overload
def __getitem__(self, i: int) -> _T: ...
-
@overload
def __getitem__(self, s: slice) -> FrozenList[_T]: ...
-
@overload
def __setitem__(self, i: int, o: _T) -> None: ...
-
@overload
def __setitem__(self, s: slice, o: Iterable[_T]) -> None: ...
-
@overload
def __delitem__(self, i: int) -> None: ...
-
@overload
def __delitem__(self, i: slice) -> None: ...
-
def __len__(self) -> int: ...
-
def __iter__(self) -> Iterator[_T]: ...
-
def __reversed__(self) -> Iterator[_T]: ...
-
def __eq__(self, other: object) -> bool: ...
def __le__(self, other: FrozenList[_T]) -> bool: ...
def __ne__(self, other: object) -> bool: ...
def __lt__(self, other: FrozenList[_T]) -> bool: ...
def __ge__(self, other: FrozenList[_T]) -> bool: ...
def __gt__(self, other: FrozenList[_T]) -> bool: ...
-
def insert(self, pos: int, item: _T) -> None: ...
-
def __repr__(self) -> str: ...
-
def __hash__(self) -> int: ...
-
# types for C accelerators are the same
CFrozenList = PyFrozenList = FrozenList
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/frozenlist-1.2.0/frozenlist/_frozenlist.c
new/frozenlist-1.3.0/frozenlist/_frozenlist.c
--- old/frozenlist-1.2.0/frozenlist/_frozenlist.c 2021-10-16
09:33:28.000000000 +0200
+++ new/frozenlist-1.3.0/frozenlist/_frozenlist.c 2022-01-18
15:56:06.000000000 +0100
@@ -1,4 +1,4 @@
-/* Generated by Cython 0.29.24 */
+/* Generated by Cython 0.29.26 */
#ifndef PY_SSIZE_T_CLEAN
#define PY_SSIZE_T_CLEAN
@@ -9,8 +9,8 @@
#elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX &&
PY_VERSION_HEX < 0x03030000)
#error Cython requires Python 2.6+ or Python 3.3+.
#else
-#define CYTHON_ABI "0_29_24"
-#define CYTHON_HEX_VERSION 0x001D18F0
+#define CYTHON_ABI "0_29_26"
+#define CYTHON_HEX_VERSION 0x001D1AF0
#define CYTHON_FUTURE_DIVISION 1
#include <stddef.h>
#ifndef offsetof
@@ -157,7 +157,7 @@
#ifndef CYTHON_USE_UNICODE_INTERNALS
#define CYTHON_USE_UNICODE_INTERNALS 1
#endif
- #if PY_VERSION_HEX < 0x030300F0
+ #if PY_VERSION_HEX < 0x030300F0 || PY_VERSION_HEX >= 0x030B00A2
#undef CYTHON_USE_UNICODE_WRITER
#define CYTHON_USE_UNICODE_WRITER 0
#elif !defined(CYTHON_USE_UNICODE_WRITER)
@@ -176,7 +176,7 @@
#define CYTHON_FAST_THREAD_STATE 1
#endif
#ifndef CYTHON_FAST_PYCALL
- #define CYTHON_FAST_PYCALL 1
+ #define CYTHON_FAST_PYCALL (PY_VERSION_HEX < 0x030B00A1)
#endif
#ifndef CYTHON_PEP489_MULTI_PHASE_INIT
#define CYTHON_PEP489_MULTI_PHASE_INIT (PY_VERSION_HEX >= 0x03050000)
@@ -195,7 +195,9 @@
#define CYTHON_FAST_PYCCALL (CYTHON_FAST_PYCALL && PY_VERSION_HEX >=
0x030600B1)
#endif
#if CYTHON_USE_PYLONG_INTERNALS
- #include "longintrepr.h"
+ #if PY_MAJOR_VERSION < 3
+ #include "longintrepr.h"
+ #endif
#undef SHIFT
#undef BASE
#undef MASK
@@ -312,9 +314,68 @@
#define __Pyx_DefaultClassType PyClass_Type
#else
#define __Pyx_BUILTIN_MODULE_NAME "builtins"
-#if PY_VERSION_HEX >= 0x030800A4 && PY_VERSION_HEX < 0x030800B2
- #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name,
fline, lnos)\
- PyCode_New(a, 0, k, l, s, f, code, c, n, v, fv, cell, fn, name,
fline, lnos)
+ #define __Pyx_DefaultClassType PyType_Type
+#if PY_VERSION_HEX >= 0x030B00A1
+ static CYTHON_INLINE PyCodeObject* __Pyx_PyCode_New(int a, int k, int l,
int s, int f,
+ PyObject *code, PyObject
*c, PyObject* n, PyObject *v,
+ PyObject *fv, PyObject
*cell, PyObject* fn,
+ PyObject *name, int fline,
PyObject *lnos) {
+ PyObject *kwds=NULL, *argcount=NULL, *posonlyargcount=NULL,
*kwonlyargcount=NULL;
+ PyObject *nlocals=NULL, *stacksize=NULL, *flags=NULL, *replace=NULL,
*call_result=NULL, *empty=NULL;
+ const char *fn_cstr=NULL;
+ const char *name_cstr=NULL;
+ PyCodeObject* co=NULL;
+ PyObject *type, *value, *traceback;
+ PyErr_Fetch(&type, &value, &traceback);
+ if (!(kwds=PyDict_New())) goto end;
+ if (!(argcount=PyLong_FromLong(a))) goto end;
+ if (PyDict_SetItemString(kwds, "co_argcount", argcount) != 0) goto end;
+ if (!(posonlyargcount=PyLong_FromLong(0))) goto end;
+ if (PyDict_SetItemString(kwds, "co_posonlyargcount", posonlyargcount)
!= 0) goto end;
+ if (!(kwonlyargcount=PyLong_FromLong(k))) goto end;
+ if (PyDict_SetItemString(kwds, "co_kwonlyargcount", kwonlyargcount) !=
0) goto end;
+ if (!(nlocals=PyLong_FromLong(l))) goto end;
+ if (PyDict_SetItemString(kwds, "co_nlocals", nlocals) != 0) goto end;
+ if (!(stacksize=PyLong_FromLong(s))) goto end;
+ if (PyDict_SetItemString(kwds, "co_stacksize", stacksize) != 0) goto
end;
+ if (!(flags=PyLong_FromLong(f))) goto end;
+ if (PyDict_SetItemString(kwds, "co_flags", flags) != 0) goto end;
+ if (PyDict_SetItemString(kwds, "co_code", code) != 0) goto end;
+ if (PyDict_SetItemString(kwds, "co_consts", c) != 0) goto end;
+ if (PyDict_SetItemString(kwds, "co_names", n) != 0) goto end;
+ if (PyDict_SetItemString(kwds, "co_varnames", v) != 0) goto end;
+ if (PyDict_SetItemString(kwds, "co_freevars", fv) != 0) goto end;
+ if (PyDict_SetItemString(kwds, "co_cellvars", cell) != 0) goto end;
+ if (PyDict_SetItemString(kwds, "co_linetable", lnos) != 0) goto end;
+ if (!(fn_cstr=PyUnicode_AsUTF8AndSize(fn, NULL))) goto end;
+ if (!(name_cstr=PyUnicode_AsUTF8AndSize(name, NULL))) goto end;
+ if (!(co = PyCode_NewEmpty(fn_cstr, name_cstr, fline))) goto end;
+ if (!(replace = PyObject_GetAttrString((PyObject*)co, "replace")))
goto cleanup_code_too;
+ if (!(empty = PyTuple_New(0))) goto cleanup_code_too; // unfortunately
__pyx_empty_tuple isn't available here
+ if (!(call_result = PyObject_Call(replace, empty, kwds))) goto
cleanup_code_too;
+ Py_XDECREF((PyObject*)co);
+ co = (PyCodeObject*)call_result;
+ call_result = NULL;
+ if (0) {
+ cleanup_code_too:
+ Py_XDECREF((PyObject*)co);
+ co = NULL;
+ }
+ end:
+ Py_XDECREF(kwds);
+ Py_XDECREF(argcount);
+ Py_XDECREF(posonlyargcount);
+ Py_XDECREF(kwonlyargcount);
+ Py_XDECREF(nlocals);
+ Py_XDECREF(stacksize);
+ Py_XDECREF(replace);
+ Py_XDECREF(call_result);
+ Py_XDECREF(empty);
+ if (type) {
+ PyErr_Restore(type, value, traceback);
+ }
+ return co;
+ }
#else
#define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name,
fline, lnos)\
PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline,
lnos)
@@ -552,10 +613,10 @@
#if PY_VERSION_HEX < 0x030200A4
typedef long Py_hash_t;
#define __Pyx_PyInt_FromHash_t PyInt_FromLong
- #define __Pyx_PyInt_AsHash_t PyInt_AsLong
+ #define __Pyx_PyInt_AsHash_t __Pyx_PyIndex_AsHash_t
#else
#define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t
- #define __Pyx_PyInt_AsHash_t PyInt_AsSsize_t
+ #define __Pyx_PyInt_AsHash_t __Pyx_PyIndex_AsSsize_t
#endif
#if PY_MAJOR_VERSION >= 3
#define __Pyx_PyMethod_New(func, self, klass) ((self) ? ((void)(klass),
PyMethod_New(func, self)) : __Pyx_NewRef(func))
@@ -711,6 +772,7 @@
(likely(PyTuple_CheckExact(obj)) ? __Pyx_NewRef(obj) :
PySequence_Tuple(obj))
static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*);
static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t);
+static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject*);
#if CYTHON_ASSUME_SAFE_MACROS
#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ?
PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x))
#else
@@ -1028,6 +1090,7 @@
#ifndef Py_MEMBER_SIZE
#define Py_MEMBER_SIZE(type, member) sizeof(((type *)0)->member)
#endif
+#if CYTHON_FAST_PYCALL
static size_t __pyx_pyframe_localsplus_offset = 0;
#include "frameobject.h"
#define __Pxy_PyFrame_Initialize_Offsets()\
@@ -1035,6 +1098,7 @@
(void)(__pyx_pyframe_localsplus_offset =
((size_t)PyFrame_Type.tp_basicsize) - Py_MEMBER_SIZE(PyFrameObject,
f_localsplus)))
#define __Pyx_PyFrame_GetLocalsplus(frame)\
(assert(__pyx_pyframe_localsplus_offset), (PyObject **)(((char *)(frame))
+ __pyx_pyframe_localsplus_offset))
+#endif // CYTHON_FAST_PYCALL
#endif
/* PyObjectCallMethO.proto */
@@ -4791,6 +4855,9 @@
#if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
0, /*tp_print*/
#endif
+ #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
+ 0, /*tp_pypy_flags*/
+ #endif
};
static PyMethodDef __pyx_methods[] = {
@@ -6883,7 +6950,7 @@
}
if (!use_cline) {
c_line = 0;
- PyObject_SetAttr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback,
Py_False);
+ (void) PyObject_SetAttr(__pyx_cython_runtime,
__pyx_n_s_cline_in_traceback, Py_False);
}
else if (use_cline == Py_False || (use_cline != Py_True &&
PyObject_Not(use_cline) != 0)) {
c_line = 0;
@@ -6980,30 +7047,31 @@
static PyCodeObject* __Pyx_CreateCodeObjectForTraceback(
const char *funcname, int c_line,
int py_line, const char *filename) {
- PyCodeObject *py_code = 0;
- PyObject *py_srcfile = 0;
- PyObject *py_funcname = 0;
+ PyCodeObject *py_code = NULL;
+ PyObject *py_funcname = NULL;
#if PY_MAJOR_VERSION < 3
+ PyObject *py_srcfile = NULL;
py_srcfile = PyString_FromString(filename);
- #else
- py_srcfile = PyUnicode_FromString(filename);
- #endif
if (!py_srcfile) goto bad;
+ #endif
if (c_line) {
#if PY_MAJOR_VERSION < 3
py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname,
__pyx_cfilenm, c_line);
+ if (!py_funcname) goto bad;
#else
py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname,
__pyx_cfilenm, c_line);
+ if (!py_funcname) goto bad;
+ funcname = PyUnicode_AsUTF8(py_funcname);
+ if (!funcname) goto bad;
#endif
}
else {
#if PY_MAJOR_VERSION < 3
py_funcname = PyString_FromString(funcname);
- #else
- py_funcname = PyUnicode_FromString(funcname);
+ if (!py_funcname) goto bad;
#endif
}
- if (!py_funcname) goto bad;
+ #if PY_MAJOR_VERSION < 3
py_code = __Pyx_PyCode_New(
0,
0,
@@ -7022,11 +7090,16 @@
__pyx_empty_bytes /*PyObject *lnotab*/
);
Py_DECREF(py_srcfile);
- Py_DECREF(py_funcname);
+ #else
+ py_code = PyCode_NewEmpty(filename, funcname, py_line);
+ #endif
+ Py_XDECREF(py_funcname); // XDECREF since it's only set on Py3 if cline
return py_code;
bad:
- Py_XDECREF(py_srcfile);
Py_XDECREF(py_funcname);
+ #if PY_MAJOR_VERSION < 3
+ Py_XDECREF(py_srcfile);
+ #endif
return NULL;
}
static void __Pyx_AddTraceback(const char *funcname, int c_line,
@@ -7912,6 +7985,23 @@
Py_DECREF(x);
return ival;
}
+static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject* o) {
+ if (sizeof(Py_hash_t) == sizeof(Py_ssize_t)) {
+ return (Py_hash_t) __Pyx_PyIndex_AsSsize_t(o);
+#if PY_MAJOR_VERSION < 3
+ } else if (likely(PyInt_CheckExact(o))) {
+ return PyInt_AS_LONG(o);
+#endif
+ } else {
+ Py_ssize_t ival;
+ PyObject *x;
+ x = PyNumber_Index(o);
+ if (!x) return -1;
+ ival = PyInt_AsLong(x);
+ Py_DECREF(x);
+ return ival;
+ }
+}
static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b) {
return b ? __Pyx_NewRef(Py_True) : __Pyx_NewRef(Py_False);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/frozenlist-1.2.0/frozenlist/py.typed
new/frozenlist-1.3.0/frozenlist/py.typed
--- old/frozenlist-1.2.0/frozenlist/py.typed 2021-10-16 09:33:18.000000000
+0200
+++ new/frozenlist-1.3.0/frozenlist/py.typed 2022-01-18 15:55:45.000000000
+0100
@@ -1 +1 @@
-Marker
\ No newline at end of file
+Marker
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/frozenlist-1.2.0/frozenlist.egg-info/PKG-INFO
new/frozenlist-1.3.0/frozenlist.egg-info/PKG-INFO
--- old/frozenlist-1.2.0/frozenlist.egg-info/PKG-INFO 2021-10-16
09:33:29.000000000 +0200
+++ new/frozenlist-1.3.0/frozenlist.egg-info/PKG-INFO 2022-01-18
15:56:09.000000000 +0100
@@ -1,12 +1,10 @@
Metadata-Version: 2.1
Name: frozenlist
-Version: 1.2.0
+Version: 1.3.0
Summary: A list-like structure which implements collections.abc.MutableSequence
Home-page: https://github.com/aio-libs/frozenlist
-Author: Nikolay Kim
-Author-email: [email protected]
-Maintainer: Martijn Pieters <[email protected]>
-Maintainer-email: [email protected]
+Maintainer: aiohttp team <[email protected]>
+Maintainer-email: [email protected]
License: Apache 2
Project-URL: Chat: Gitter, https://gitter.im/aio-libs/Lobby
Project-URL: CI: Github Actions, https://github.com/aio-libs/frozenlist/actions
@@ -19,15 +17,15 @@
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
+Classifier: Programming Language :: Python :: 3.10
Classifier: Development Status :: 5 - Production/Stable
Classifier: Operating System :: POSIX
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: Microsoft :: Windows
-Requires-Python: >=3.6
+Requires-Python: >=3.7
Description-Content-Type: text/x-rst
License-File: LICENSE
@@ -151,78 +149,4 @@
.. _GitHub: https://github.com/aio-libs/frozenlist
-=========
-Changelog
-=========
-
-..
- You should *NOT* be adding new change log entries to this file, this
- file is managed by towncrier. You *may* edit previous change logs to
- fix problems like typo corrections or such.
- To add a new change log entry, please see
- https://pip.pypa.io/en/latest/development/contributing/#news-entries
- we named the news folder "changes".
-
- WARNING: Don't drop the next directive!
-
-.. towncrier release notes start
-
-1.2.0 (2021-10-16)
-==================
-
-Features
---------
-
-- ``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 <https://github.com/aio-libs/frozenlist/issues/172>`_
-- Added support for Python 3.10.
- `#227 <https://github.com/aio-libs/frozenlist/issues/227>`_
-- Started shipping platform-specific wheels with the ``musl`` tag targeting
typical Alpine Linux runtimes.
- `#227 <https://github.com/aio-libs/frozenlist/issues/227>`_
-- Started shipping platform-specific arm64 wheels for Apple Silicon.
- `#227 <https://github.com/aio-libs/frozenlist/issues/227>`_
-
-
-----
-
-
-1.1.1 (2020-11-14)
-==================
-
-Bugfixes
---------
-
-- Provide x86 Windows wheels.
- `#169 <https://github.com/aio-libs/frozenlist/issues/169>`_
-
-
-----
-
-
-1.1.0 (2020-10-13)
-==================
-
-Features
---------
-
-- Add support for hashing of a frozen list.
- `#136 <https://github.com/aio-libs/frozenlist/issues/136>`_
-
-- Support Python 3.8 and 3.9.
-
-- Provide wheels for ``aarch64``, ``i686``, ``ppc64le``, ``s390x``
architectures on
- Linux as well as ``x86_64``.
-
-
-----
-
-
-1.0.0 (2019-11-09)
-==================
-
-Deprecations and Removals
--------------------------
-
-- Dropped support for Python 3.5; only 3.6, 3.7 and 3.8 are supported going
forward.
- `#24 <https://github.com/aio-libs/frozenlist/issues/24>`_
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/frozenlist-1.2.0/frozenlist.egg-info/SOURCES.txt
new/frozenlist-1.3.0/frozenlist.egg-info/SOURCES.txt
--- old/frozenlist-1.2.0/frozenlist.egg-info/SOURCES.txt 2021-10-16
09:33:29.000000000 +0200
+++ new/frozenlist-1.3.0/frozenlist.egg-info/SOURCES.txt 2022-01-18
15:56:09.000000000 +0100
@@ -19,6 +19,7 @@
frozenlist.egg-info/PKG-INFO
frozenlist.egg-info/SOURCES.txt
frozenlist.egg-info/dependency_links.txt
+frozenlist.egg-info/not-zip-safe
frozenlist.egg-info/top_level.txt
tests/conftest.py
tests/test_frozenlist.py
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/frozenlist-1.2.0/frozenlist.egg-info/not-zip-safe
new/frozenlist-1.3.0/frozenlist.egg-info/not-zip-safe
--- old/frozenlist-1.2.0/frozenlist.egg-info/not-zip-safe 1970-01-01
01:00:00.000000000 +0100
+++ new/frozenlist-1.3.0/frozenlist.egg-info/not-zip-safe 2022-01-18
15:56:09.000000000 +0100
@@ -0,0 +1 @@
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/frozenlist-1.2.0/pyproject.toml
new/frozenlist-1.3.0/pyproject.toml
--- old/frozenlist-1.2.0/pyproject.toml 2021-10-16 09:33:18.000000000 +0200
+++ new/frozenlist-1.3.0/pyproject.toml 2022-01-18 15:55:45.000000000 +0100
@@ -1,5 +1,8 @@
[build-system]
-requires= ['setuptools', 'wheel']
+requires = [
+ "setuptools >= 46.4.0", "wheel >= 0.37.0",
+]
+build-backend = "setuptools.build_meta"
[tool.towncrier]
package = "frozenlist"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/frozenlist-1.2.0/setup.cfg
new/frozenlist-1.3.0/setup.cfg
--- old/frozenlist-1.2.0/setup.cfg 2021-10-16 09:33:29.423939200 +0200
+++ new/frozenlist-1.3.0/setup.cfg 2022-01-18 15:56:09.691456300 +0100
@@ -1,18 +1,56 @@
-[aliases]
-test = pytest
-
[metadata]
-license_file = LICENSE
+name = frozenlist
+version = attr: frozenlist.__version__
+url = https://github.com/aio-libs/frozenlist
+project_urls =
+ Chat: Gitter = https://gitter.im/aio-libs/Lobby
+ CI: Github Actions = https://github.com/aio-libs/frozenlist/actions
+ Coverage: codecov = https://codecov.io/github/aio-libs/frozenlist
+ Docs: RTD = https://frozenlist.readthedocs.io
+ GitHub: issues = https://github.com/aio-libs/frozenlist/issues
+ GitHub: repo = https://github.com/aio-libs/frozenlist
+description = A list-like structure which implements
collections.abc.MutableSequence
+long_description = file: README.rst
+long_description_content_type = text/x-rst
+maintainer = aiohttp team <[email protected]>
+maintainer_email = [email protected]
+license = Apache 2
+license_files = LICENSE
+classifiers =
+ License :: OSI Approved :: Apache Software License
+ Intended Audience :: Developers
+ Programming Language :: Python
+ Programming Language :: Python :: 3
+ Programming Language :: Python :: 3.7
+ Programming Language :: Python :: 3.8
+ Programming Language :: Python :: 3.9
+ Programming Language :: Python :: 3.10
+ Development Status :: 5 - Production/Stable
+ Operating System :: POSIX
+ Operating System :: MacOS :: MacOS X
+ Operating System :: Microsoft :: Windows
-[pep8]
-max-line-length = 79
+[options]
+python_requires = >=3.7
+packages = find:
+zip_safe = False
+include_package_data = True
+
+[options.exclude_package_data]
+* =
+ *.c
+ *.h
-[easy_install]
-zip_ok = false
+[options.package_data]
+* =
+ *.so
+
+[pep8]
+max-line-length = 88
[flake8]
-ignore = N801,N802,N803,E226,W504,E252
-max-line-length = 79
+ignore = N801,N802,N803,E226,W503,W504,E252
+max-line-length = 88
[isort]
multi_line_output = 3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/frozenlist-1.2.0/setup.py
new/frozenlist-1.3.0/setup.py
--- old/frozenlist-1.2.0/setup.py 2021-10-16 09:33:18.000000000 +0200
+++ new/frozenlist-1.3.0/setup.py 2022-01-18 15:55:45.000000000 +0100
@@ -1,21 +1,13 @@
import os
-import pathlib
-import re
import sys
from setuptools import Extension, setup
-if sys.version_info < (3, 6):
- raise RuntimeError("frozenlist 1.x requires Python 3.6+")
-
-
NO_EXTENSIONS = (
- bool(os.environ.get('FROZENLIST_NO_EXTENSIONS')) or
- sys.implementation.name != "cpython"
+ bool(os.environ.get("FROZENLIST_NO_EXTENSIONS"))
+ or sys.implementation.name != "cpython"
)
-here = pathlib.Path(__file__).parent
-
if NO_EXTENSIONS:
print("*********************")
print("* Pure Python build *")
@@ -25,66 +17,9 @@
print("**********************")
print("* Accellerated build *")
print("**********************")
- ext_modules = [
- Extension('frozenlist._frozenlist', ['frozenlist/_frozenlist.c'])
- ]
-
-
-txt = (here / 'frozenlist' / '__init__.py').read_text('utf-8')
-try:
- version = re.findall(r'^__version__ = "([^"]+)"\r?$',
- txt, re.M)[0]
-except IndexError:
- raise RuntimeError('Unable to determine version.')
-
-install_requires = []
-
-
-def read(f):
- return (here / f).read_text('utf-8').strip()
+ ext_modules = [Extension("frozenlist._frozenlist",
["frozenlist/_frozenlist.c"])]
setup(
- name='frozenlist',
- version=version,
- description=(
- 'A list-like structure which implements '
- 'collections.abc.MutableSequence'
- ),
- long_description='\n\n'.join((read('README.rst'), read('CHANGES.rst'))),
- long_description_content_type="text/x-rst",
- classifiers=[
- 'License :: OSI Approved :: Apache Software License',
- 'Intended Audience :: Developers',
- 'Programming Language :: Python',
- 'Programming Language :: Python :: 3',
- 'Programming Language :: Python :: 3.6',
- 'Programming Language :: Python :: 3.7',
- 'Programming Language :: Python :: 3.8',
- 'Programming Language :: Python :: 3.9',
- 'Development Status :: 5 - Production/Stable',
- 'Operating System :: POSIX',
- 'Operating System :: MacOS :: MacOS X',
- 'Operating System :: Microsoft :: Windows',
- ],
- author='Nikolay Kim',
- author_email='[email protected]',
- maintainer='Martijn Pieters <[email protected]>',
- maintainer_email='[email protected]',
- url='https://github.com/aio-libs/frozenlist',
- project_urls={
- 'Chat: Gitter': 'https://gitter.im/aio-libs/Lobby',
- 'CI: Github Actions':
- 'https://github.com/aio-libs/frozenlist/actions',
- 'Coverage: codecov': 'https://codecov.io/github/aio-libs/frozenlist',
- 'Docs: RTD': 'https://frozenlist.readthedocs.io',
- 'GitHub: issues': 'https://github.com/aio-libs/frozenlist/issues',
- 'GitHub: repo': 'https://github.com/aio-libs/frozenlist',
- },
- license='Apache 2',
- packages=['frozenlist'],
ext_modules=ext_modules,
- python_requires='>=3.6',
- install_requires=install_requires,
- include_package_data=True,
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/frozenlist-1.2.0/tests/test_frozenlist.py
new/frozenlist-1.3.0/tests/test_frozenlist.py
--- old/frozenlist-1.2.0/tests/test_frozenlist.py 2021-10-16
09:33:18.000000000 +0200
+++ new/frozenlist-1.3.0/tests/test_frozenlist.py 2022-01-18
15:55:45.000000000 +0100
@@ -8,14 +8,14 @@
class FrozenListMixin:
FrozenList = NotImplemented
- SKIP_METHODS = {'__abstractmethods__', '__slots__'}
+ SKIP_METHODS = {"__abstractmethods__", "__slots__"}
def test_subclass(self) -> None:
assert issubclass(self.FrozenList, MutableSequence)
def test_iface(self) -> None:
for name in set(dir(MutableSequence)) - self.SKIP_METHODS:
- if name.startswith('_') and not name.endswith('_'):
+ if name.startswith("_") and not name.endswith("_"):
continue
assert hasattr(self.FrozenList, name)
@@ -40,9 +40,9 @@
def test_repr(self) -> None:
_list = self.FrozenList([1])
- assert repr(_list) == '<FrozenList(frozen=False, [1])>'
+ assert repr(_list) == "<FrozenList(frozen=False, [1])>"
_list.freeze()
- assert repr(_list) == '<FrozenList(frozen=True, [1])>'
+ assert repr(_list) == "<FrozenList(frozen=True, [1])>"
def test_getitem(self) -> None:
_list = self.FrozenList([1, 2])
@@ -229,9 +229,9 @@
def test_dict_key(self) -> None:
_list = self.FrozenList([1, 2])
with pytest.raises(RuntimeError):
- {_list: 'hello'}
+ {_list: "hello"}
_list.freeze()
- {_list: 'hello'}
+ {_list: "hello"}
def test_count(self) -> None:
_list = self.FrozenList([1, 2])