Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-pylsqpack for
openSUSE:Factory checked in at 2024-09-04 13:22:30
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pylsqpack (Old)
and /work/SRC/openSUSE:Factory/.python-pylsqpack.new.10096 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pylsqpack"
Wed Sep 4 13:22:30 2024 rev:4 rq:1198046 version:0.3.18
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pylsqpack/python-pylsqpack.changes
2023-07-05 15:31:48.467010449 +0200
+++
/work/SRC/openSUSE:Factory/.python-pylsqpack.new.10096/python-pylsqpack.changes
2024-09-04 13:22:39.824844961 +0200
@@ -1,0 +2,8 @@
+Sat Aug 31 11:53:14 UTC 2024 - Dirk Müller <[email protected]>
+
+- update to 0.3.18:
+ * add python 3.11 and 3.12 support
+ * Fix error message from Decoder_resume_header
+ * Fix Decoder.feed_header and .resume_header docs
+
+-------------------------------------------------------------------
Old:
----
pylsqpack-0.3.16.tar.gz
New:
----
pylsqpack-0.3.18.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-pylsqpack.spec ++++++
--- /var/tmp/diff_new_pack.nDIBqA/_old 2024-09-04 13:22:40.396868897 +0200
+++ /var/tmp/diff_new_pack.nDIBqA/_new 2024-09-04 13:22:40.400869064 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-pylsqpack
#
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
%{?sle15_python_module_pythons}
Name: python-pylsqpack
-Version: 0.3.16
+Version: 0.3.18
Release: 0
Summary: Python ls-qpack QPACK library
License: BSD-3-Clause
@@ -26,7 +26,9 @@
URL: https://github.com/aiortc/pylsqpack
Source:
https://files.pythonhosted.org/packages/source/p/pylsqpack/pylsqpack-%{version}.tar.gz
BuildRequires: %{python_module devel}
+BuildRequires: %{python_module pip}
BuildRequires: %{python_module setuptools}
+BuildRequires: %{python_module wheel}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
%python_subpackages
@@ -39,10 +41,10 @@
%build
export CFLAGS="%{optflags}"
-%python_build
+%pyproject_wheel
%install
-%python_install
+%pyproject_install
%python_expand %fdupes %{buildroot}%{$python_sitearch}
%check
@@ -51,5 +53,6 @@
%files %{python_files}
%doc README.rst
%license LICENSE
-%{python_sitearch}/*
+%{python_sitearch}/pylsqpack
+%{python_sitearch}/pylsqpack-%{version}.dist-info
++++++ pylsqpack-0.3.16.tar.gz -> pylsqpack-0.3.18.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pylsqpack-0.3.16/PKG-INFO
new/pylsqpack-0.3.18/PKG-INFO
--- old/pylsqpack-0.3.16/PKG-INFO 2022-03-30 00:37:10.000000000 +0200
+++ new/pylsqpack-0.3.18/PKG-INFO 2023-11-04 20:00:31.000000000 +0100
@@ -1,41 +1,11 @@
-Metadata-Version: 1.1
+Metadata-Version: 2.1
Name: pylsqpack
-Version: 0.3.16
+Version: 0.3.18
Summary: Python wrapper for the ls-qpack QPACK library
-Home-page: https://github.com/aiortc/pylsqpack
-Author: Jeremy Lainé
-Author-email: [email protected]
-License: BSD
-Description: pylsqpack
- =========
-
- |rtd| |pypi-v| |pypi-pyversions| |pypi-l| |tests|
-
- .. |rtd| image::
https://readthedocs.org/projects/pylsqpack/badge/?version=latest
- :target: https://pylsqpack.readthedocs.io/
-
- .. |pypi-v| image:: https://img.shields.io/pypi/v/pylsqpack.svg
- :target: https://pypi.python.org/pypi/pylsqpack
-
- .. |pypi-pyversions| image::
https://img.shields.io/pypi/pyversions/pylsqpack.svg
- :target: https://pypi.python.org/pypi/pylsqpack
-
- .. |pypi-l| image:: https://img.shields.io/pypi/l/pylsqpack.svg
- :target: https://pypi.python.org/pypi/pylsqpack
-
- .. |tests| image::
https://github.com/aiortc/pylsqpack/workflows/tests/badge.svg
- :target: https://github.com/aiortc/pylsqpack/actions
-
- ``pylsqpack`` is a wrapper around the `ls-qpack`_ library. It provides
Python
- `Decoder` and `Encoder` objects to read or write HTTP/3 headers
compressed
- with QPACK.
-
- To learn more about ``pylsqpack`` please `read the documentation`_.
-
- .. _ls-qpack: https://github.com/litespeedtech/ls-qpack/
- .. _read the documentation: https://pylsqpack.readthedocs.io/en/latest/
-
-Platform: UNKNOWN
+Author-email: Jeremy Lainé <[email protected]>
+License: BSD-3-Clause
+Project-URL: homepage, https://github.com/aiortc/pylsqpack
+Project-URL: documentation, https://pylsqpack.readthedocs.io/
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
@@ -43,8 +13,41 @@
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
-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: Programming Language :: Python :: 3.11
+Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Internet :: WWW/HTTP
+Requires-Python: >=3.8
+Description-Content-Type: text/x-rst
+License-File: LICENSE
+
+pylsqpack
+=========
+
+|rtd| |pypi-v| |pypi-pyversions| |pypi-l| |tests|
+
+.. |rtd| image::
https://readthedocs.org/projects/pylsqpack/badge/?version=latest
+ :target: https://pylsqpack.readthedocs.io/
+
+.. |pypi-v| image:: https://img.shields.io/pypi/v/pylsqpack.svg
+ :target: https://pypi.python.org/pypi/pylsqpack
+
+.. |pypi-pyversions| image::
https://img.shields.io/pypi/pyversions/pylsqpack.svg
+ :target: https://pypi.python.org/pypi/pylsqpack
+
+.. |pypi-l| image:: https://img.shields.io/pypi/l/pylsqpack.svg
+ :target: https://pypi.python.org/pypi/pylsqpack
+
+.. |tests| image::
https://github.com/aiortc/pylsqpack/workflows/tests/badge.svg
+ :target: https://github.com/aiortc/pylsqpack/actions
+
+``pylsqpack`` is a wrapper around the `ls-qpack`_ library. It provides Python
+`Decoder` and `Encoder` objects to read or write HTTP/3 headers compressed
+with QPACK.
+
+To learn more about ``pylsqpack`` please `read the documentation`_.
+
+.. _ls-qpack: https://github.com/litespeedtech/ls-qpack/
+.. _read the documentation: https://pylsqpack.readthedocs.io/en/latest/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pylsqpack-0.3.16/pyproject.toml
new/pylsqpack-0.3.18/pyproject.toml
--- old/pylsqpack-0.3.16/pyproject.toml 1970-01-01 01:00:00.000000000 +0100
+++ new/pylsqpack-0.3.18/pyproject.toml 2023-11-04 20:00:22.000000000 +0100
@@ -0,0 +1,44 @@
+[build-system]
+requires = ["setuptools", "wheel"]
+build-backend = "setuptools.build_meta"
+
+[project]
+name = "pylsqpack"
+description = "Python wrapper for the ls-qpack QPACK library"
+readme = "README.rst"
+requires-python = ">=3.8"
+license = { text = "BSD-3-Clause" }
+authors = [
+ { name = "Jeremy Lainé", email = "[email protected]" },
+]
+classifiers = [
+ "Development Status :: 5 - Production/Stable",
+ "Environment :: Web Environment",
+ "Intended Audience :: Developers",
+ "License :: OSI Approved :: BSD License",
+ "Operating System :: OS Independent",
+ "Programming Language :: Python",
+ "Programming Language :: Python :: 3",
+ "Programming Language :: Python :: 3.8",
+ "Programming Language :: Python :: 3.9",
+ "Programming Language :: Python :: 3.10",
+ "Programming Language :: Python :: 3.11",
+ "Programming Language :: Python :: 3.12",
+ "Topic :: Internet :: WWW/HTTP",
+]
+dynamic = ["version"]
+
+[project.urls]
+homepage = "https://github.com/aiortc/pylsqpack"
+documentation = "https://pylsqpack.readthedocs.io/"
+
+[tool.ruff]
+select = [
+ "E", # pycodestyle
+ "F", # Pyflakes
+ "W", # pycodestyle
+ "I", # isort
+]
+
+[tool.setuptools.dynamic]
+version = {attr = "pylsqpack.__version__"}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pylsqpack-0.3.16/setup.cfg
new/pylsqpack-0.3.18/setup.cfg
--- old/pylsqpack-0.3.16/setup.cfg 2022-03-30 00:37:10.000000000 +0200
+++ new/pylsqpack-0.3.18/setup.cfg 2023-11-04 20:00:31.000000000 +0100
@@ -1,11 +1,3 @@
-[flake8]
-max-line-length = 150
-
-[isort]
-include_trailing_comma = True
-line_length = 88
-multi_line_output = 3
-
[egg_info]
tag_build =
tag_date = 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pylsqpack-0.3.16/setup.py
new/pylsqpack-0.3.18/setup.py
--- old/pylsqpack-0.3.16/setup.py 2022-03-30 00:37:05.000000000 +0200
+++ new/pylsqpack-0.3.18/setup.py 2023-11-04 20:00:22.000000000 +0100
@@ -2,17 +2,7 @@
import sys
import setuptools
-
-root_dir = os.path.abspath(os.path.dirname(__file__))
-
-about = {}
-about_file = os.path.join(root_dir, "src", "pylsqpack", "about.py")
-with open(about_file, encoding="utf-8") as fp:
- exec(fp.read(), about)
-
-readme_file = os.path.join(root_dir, "README.rst")
-with open(readme_file, encoding="utf-8") as f:
- long_description = f.read()
+from wheel.bdist_wheel import bdist_wheel
extra_compile_args = []
include_dirs = [
@@ -24,37 +14,25 @@
else:
extra_compile_args = ["-std=c99"]
+
+class bdist_wheel_abi3(bdist_wheel):
+ def get_tag(self):
+ python, abi, plat = super().get_tag()
+
+ if python.startswith("cp"):
+ return "cp38", "abi3", plat
+
+ return python, abi, plat
+
+
setuptools.setup(
- name=about["__title__"],
- version=about["__version__"],
- description=about["__summary__"],
- long_description=long_description,
- url=about["__uri__"],
- author=about["__author__"],
- author_email=about["__email__"],
- license=about["__license__"],
- classifiers=[
- "Development Status :: 5 - Production/Stable",
- "Environment :: Web Environment",
- "Intended Audience :: Developers",
- "License :: OSI Approved :: BSD License",
- "Operating System :: OS Independent",
- "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",
- "Topic :: Internet :: WWW/HTTP",
- ],
- package_dir={"": "src"},
- package_data={"pylsqpack": ["py.typed", "__init__.pyi"]},
- packages=["pylsqpack"],
ext_modules=[
setuptools.Extension(
"pylsqpack._binding",
+ define_macros=[("Py_LIMITED_API", "0x03080000")],
extra_compile_args=extra_compile_args,
include_dirs=include_dirs,
+ py_limited_api=True,
sources=[
"src/pylsqpack/binding.c",
"vendor/ls-qpack/lsqpack.c",
@@ -62,4 +40,5 @@
],
),
],
+ cmdclass={"bdist_wheel": bdist_wheel_abi3},
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pylsqpack-0.3.16/src/pylsqpack/__init__.py
new/pylsqpack-0.3.18/src/pylsqpack/__init__.py
--- old/pylsqpack-0.3.16/src/pylsqpack/__init__.py 2022-03-30
00:37:05.000000000 +0200
+++ new/pylsqpack-0.3.18/src/pylsqpack/__init__.py 2023-11-04
20:00:22.000000000 +0100
@@ -8,4 +8,5 @@
EncoderStreamError,
StreamBlocked,
)
-from .about import __version__
+
+__version__ = "0.3.18"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pylsqpack-0.3.16/src/pylsqpack/__init__.pyi
new/pylsqpack-0.3.18/src/pylsqpack/__init__.pyi
--- old/pylsqpack-0.3.16/src/pylsqpack/__init__.pyi 2022-03-30
00:37:05.000000000 +0200
+++ new/pylsqpack-0.3.18/src/pylsqpack/__init__.pyi 1970-01-01
01:00:00.000000000 +0100
@@ -1,21 +0,0 @@
-from typing import List, Tuple
-
-Headers = List[Tuple[bytes, bytes]]
-
-class DecompressionFailed(Exception): ...
-class DecoderStreamError(Exception): ...
-class EncoderStreamError(Exception): ...
-class StreamBlocked(Exception): ...
-
-class Decoder:
- def __init__(self, max_table_capacity: int, blocked_streams: int) -> None:
...
- def feed_encoder(self, data: bytes) -> List[int]: ...
- def feed_header(self, stream_id: int, data: bytes) -> Tuple[bytes,
Headers]: ...
- def resume_header(self, stream_id: int) -> Tuple[bytes, Headers]: ...
-
-class Encoder:
- def apply_settings(
- self, max_table_capacity: int, blocked_streams: int
- ) -> bytes: ...
- def encode(self, stream_id: int, headers: Headers) -> Tuple[bytes, bytes]:
...
- def feed_decoder(self, data: bytes) -> None: ...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pylsqpack-0.3.16/src/pylsqpack/about.py
new/pylsqpack-0.3.18/src/pylsqpack/about.py
--- old/pylsqpack-0.3.16/src/pylsqpack/about.py 2022-03-30 00:37:05.000000000
+0200
+++ new/pylsqpack-0.3.18/src/pylsqpack/about.py 1970-01-01 01:00:00.000000000
+0100
@@ -1,7 +0,0 @@
-__author__ = "Jeremy Lainé"
-__email__ = "[email protected]"
-__license__ = "BSD"
-__summary__ = "Python wrapper for the ls-qpack QPACK library"
-__title__ = "pylsqpack"
-__uri__ = "https://github.com/aiortc/pylsqpack"
-__version__ = "0.3.16"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pylsqpack-0.3.16/src/pylsqpack/binding.c
new/pylsqpack-0.3.18/src/pylsqpack/binding.c
--- old/pylsqpack-0.3.16/src/pylsqpack/binding.c 2022-03-30
00:37:05.000000000 +0200
+++ new/pylsqpack-0.3.18/src/pylsqpack/binding.c 2023-11-04
20:00:22.000000000 +0100
@@ -12,7 +12,9 @@
static PyObject *DecompressionFailed;
static PyObject *DecoderStreamError;
+static PyObject *DecoderType;
static PyObject *EncoderStreamError;
+static PyObject *EncoderType;
static PyObject *StreamBlocked;
struct header_block {
@@ -63,7 +65,7 @@
tuple = PyTuple_Pack(2, name, value);
Py_DECREF(name);
Py_DECREF(value);
- PyList_SET_ITEM(list, i, tuple);
+ PyList_SetItem(list, i, tuple);
}
return list;
}
@@ -110,7 +112,10 @@
header_block_free(hblock);
}
- Py_TYPE(self)->tp_free((PyObject *) self);
+ PyTypeObject *tp = Py_TYPE(self);
+ freefunc free = PyType_GetSlot(tp, Py_tp_free);
+ free(self);
+ Py_DECREF(tp);
}
static PyObject*
@@ -208,8 +213,8 @@
}
PyDoc_STRVAR(Decoder_feed_header__doc__,
- "feed_header(stream_id: int, data: bytes) -> List[Tuple[bytes, bytes]]\n\n"
- "Decode a header block and return headers.\n\n"
+ "feed_header(stream_id: int, data: bytes) -> Tuple[bytes,
List[Tuple[bytes, bytes]]]\n\n"
+ "Decode a header block and return control data and headers.\n\n"
"If the stream is blocked, :class:`StreamBlocked` is raised.\n\n"
"If the data cannot be processed, :class:`DecompressionFailed` is
raised.\n\n"
":param stream_id: the ID of the stream\n"
@@ -260,7 +265,7 @@
PyErr_Format(StreamBlocked, "stream %d is blocked", stream_id);
return NULL;
} else if (status != LQRHS_DONE) {
- PyErr_Format(DecompressionFailed, "lsqpack_dec_header_in for stream %d
failed (%d)", stream_id, status);
+ PyErr_Format(DecompressionFailed, "lsqpack_dec_header_read for stream
%d failed (%d)", stream_id, status);
STAILQ_REMOVE(&self->pending_blocks, hblock, header_block, entries);
header_block_free(hblock);
return NULL;
@@ -279,8 +284,8 @@
}
PyDoc_STRVAR(Decoder_resume_header__doc__,
- "resume_header(stream_id: int) -> List[Tuple[bytes, bytes]]\n\n"
- "Continue decoding a header block and return headers.\n\n"
+ "resume_header(stream_id: int) -> Tuple[bytes, List[Tuple[bytes,
bytes]]]\n\n"
+ "Continue decoding a header block and return control data and headers.\n\n"
"This method should be called only when :meth:`feed_encoder` indicates "
"that a stream has become unblocked\n\n"
":param stream_id: the ID of the stream\n");
@@ -298,44 +303,21 @@
":param max_table_capacity: the maximum size in bytes of the dynamic
table\n"
":param blocked_streams: the maximum number of streams that could be
blocked\n");
-static PyTypeObject DecoderType = {
- PyVarObject_HEAD_INIT(NULL, 0)
- MODULE_NAME ".Decoder", /* tp_name */
- sizeof(DecoderObject), /* tp_basicsize */
- 0, /* tp_itemsize */
- (destructor)Decoder_dealloc, /* tp_dealloc */
- 0, /* tp_print */
- 0, /* tp_getattr */
- 0, /* tp_setattr */
- 0, /* tp_reserved */
- 0, /* tp_repr */
- 0, /* tp_as_number */
- 0, /* tp_as_sequence */
- 0, /* tp_as_mapping */
- 0, /* tp_hash */
- 0, /* tp_call */
- 0, /* tp_str */
- 0, /* tp_getattro */
- 0, /* tp_setattro */
- 0, /* tp_as_buffer */
- Py_TPFLAGS_DEFAULT, /* tp_flags */
- Decoder__doc__, /* tp_doc */
- 0, /* tp_traverse */
- 0, /* tp_clear */
- 0, /* tp_richcompare */
- 0, /* tp_weaklistoffset */
- 0, /* tp_iter */
- 0, /* tp_iternext */
- Decoder_methods, /* tp_methods */
- 0, /* tp_members */
- 0, /* tp_getset */
- 0, /* tp_base */
- 0, /* tp_dict */
- 0, /* tp_descr_get */
- 0, /* tp_descr_set */
- 0, /* tp_dictoffset */
- (initproc)Decoder_init, /* tp_init */
- 0, /* tp_alloc */
+
+static PyType_Slot DecoderType_slots[] = {
+ {Py_tp_dealloc, Decoder_dealloc},
+ {Py_tp_methods, Decoder_methods},
+ {Py_tp_doc, Decoder__doc__},
+ {Py_tp_init, Decoder_init},
+ {0, 0},
+};
+
+static PyType_Spec DecoderType_spec = {
+ MODULE_NAME ".Decoder",
+ sizeof(DecoderObject),
+ 0,
+ Py_TPFLAGS_DEFAULT,
+ DecoderType_slots
};
// ENCODER
@@ -359,7 +341,11 @@
Encoder_dealloc(EncoderObject *self)
{
lsqpack_enc_cleanup(&self->enc);
- Py_TYPE(self)->tp_free((PyObject *) self);
+
+ PyTypeObject *tp = Py_TYPE(self);
+ freefunc free = PyType_GetSlot(tp, Py_tp_free);
+ free(self);
+ Py_DECREF(tp);
}
static PyObject*
@@ -499,44 +485,20 @@
"Encoder()\n\n"
"QPACK encoder.\n");
-static PyTypeObject EncoderType = {
- PyVarObject_HEAD_INIT(NULL, 0)
- MODULE_NAME ".Encoder", /* tp_name */
- sizeof(EncoderObject), /* tp_basicsize */
- 0, /* tp_itemsize */
- (destructor)Encoder_dealloc, /* tp_dealloc */
- 0, /* tp_print */
- 0, /* tp_getattr */
- 0, /* tp_setattr */
- 0, /* tp_reserved */
- 0, /* tp_repr */
- 0, /* tp_as_number */
- 0, /* tp_as_sequence */
- 0, /* tp_as_mapping */
- 0, /* tp_hash */
- 0, /* tp_call */
- 0, /* tp_str */
- 0, /* tp_getattro */
- 0, /* tp_setattro */
- 0, /* tp_as_buffer */
- Py_TPFLAGS_DEFAULT, /* tp_flags */
- Encoder__doc__, /* tp_doc */
- 0, /* tp_traverse */
- 0, /* tp_clear */
- 0, /* tp_richcompare */
- 0, /* tp_weaklistoffset */
- 0, /* tp_iter */
- 0, /* tp_iternext */
- Encoder_methods, /* tp_methods */
- 0, /* tp_members */
- 0, /* tp_getset */
- 0, /* tp_base */
- 0, /* tp_dict */
- 0, /* tp_descr_get */
- 0, /* tp_descr_set */
- 0, /* tp_dictoffset */
- (initproc)Encoder_init, /* tp_init */
- 0, /* tp_alloc */
+static PyType_Slot EncoderType_slots[] = {
+ {Py_tp_dealloc, Encoder_dealloc},
+ {Py_tp_methods, Encoder_methods},
+ {Py_tp_doc, Encoder__doc__},
+ {Py_tp_init, Encoder_init},
+ {0, 0},
+};
+
+static PyType_Spec EncoderType_spec = {
+ MODULE_NAME ".Encoder",
+ sizeof(EncoderObject),
+ 0,
+ Py_TPFLAGS_DEFAULT,
+ EncoderType_slots
};
// MODULE
@@ -578,17 +540,15 @@
Py_INCREF(StreamBlocked);
PyModule_AddObject(m, "StreamBlocked", StreamBlocked);
- DecoderType.tp_new = PyType_GenericNew;
- if (PyType_Ready(&DecoderType) < 0)
+ DecoderType = PyType_FromSpec(&DecoderType_spec);
+ if (DecoderType == NULL)
return NULL;
- Py_INCREF(&DecoderType);
- PyModule_AddObject(m, "Decoder", (PyObject *)&DecoderType);
+ PyModule_AddObject(m, "Decoder", DecoderType);
- EncoderType.tp_new = PyType_GenericNew;
- if (PyType_Ready(&EncoderType) < 0)
+ EncoderType = PyType_FromSpec(&EncoderType_spec);
+ if (EncoderType == NULL)
return NULL;
- Py_INCREF(&EncoderType);
- PyModule_AddObject(m, "Encoder", (PyObject *)&EncoderType);
+ PyModule_AddObject(m, "Encoder", EncoderType);
return m;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pylsqpack-0.3.16/src/pylsqpack/py.typed
new/pylsqpack-0.3.18/src/pylsqpack/py.typed
--- old/pylsqpack-0.3.16/src/pylsqpack/py.typed 2022-03-30 00:37:05.000000000
+0200
+++ new/pylsqpack-0.3.18/src/pylsqpack/py.typed 1970-01-01 01:00:00.000000000
+0100
@@ -1 +0,0 @@
-Marker
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pylsqpack-0.3.16/src/pylsqpack.egg-info/PKG-INFO
new/pylsqpack-0.3.18/src/pylsqpack.egg-info/PKG-INFO
--- old/pylsqpack-0.3.16/src/pylsqpack.egg-info/PKG-INFO 2022-03-30
00:37:09.000000000 +0200
+++ new/pylsqpack-0.3.18/src/pylsqpack.egg-info/PKG-INFO 2023-11-04
20:00:31.000000000 +0100
@@ -1,41 +1,11 @@
-Metadata-Version: 1.1
+Metadata-Version: 2.1
Name: pylsqpack
-Version: 0.3.16
+Version: 0.3.18
Summary: Python wrapper for the ls-qpack QPACK library
-Home-page: https://github.com/aiortc/pylsqpack
-Author: Jeremy Lainé
-Author-email: [email protected]
-License: BSD
-Description: pylsqpack
- =========
-
- |rtd| |pypi-v| |pypi-pyversions| |pypi-l| |tests|
-
- .. |rtd| image::
https://readthedocs.org/projects/pylsqpack/badge/?version=latest
- :target: https://pylsqpack.readthedocs.io/
-
- .. |pypi-v| image:: https://img.shields.io/pypi/v/pylsqpack.svg
- :target: https://pypi.python.org/pypi/pylsqpack
-
- .. |pypi-pyversions| image::
https://img.shields.io/pypi/pyversions/pylsqpack.svg
- :target: https://pypi.python.org/pypi/pylsqpack
-
- .. |pypi-l| image:: https://img.shields.io/pypi/l/pylsqpack.svg
- :target: https://pypi.python.org/pypi/pylsqpack
-
- .. |tests| image::
https://github.com/aiortc/pylsqpack/workflows/tests/badge.svg
- :target: https://github.com/aiortc/pylsqpack/actions
-
- ``pylsqpack`` is a wrapper around the `ls-qpack`_ library. It provides
Python
- `Decoder` and `Encoder` objects to read or write HTTP/3 headers
compressed
- with QPACK.
-
- To learn more about ``pylsqpack`` please `read the documentation`_.
-
- .. _ls-qpack: https://github.com/litespeedtech/ls-qpack/
- .. _read the documentation: https://pylsqpack.readthedocs.io/en/latest/
-
-Platform: UNKNOWN
+Author-email: Jeremy Lainé <[email protected]>
+License: BSD-3-Clause
+Project-URL: homepage, https://github.com/aiortc/pylsqpack
+Project-URL: documentation, https://pylsqpack.readthedocs.io/
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
@@ -43,8 +13,41 @@
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
-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: Programming Language :: Python :: 3.11
+Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Internet :: WWW/HTTP
+Requires-Python: >=3.8
+Description-Content-Type: text/x-rst
+License-File: LICENSE
+
+pylsqpack
+=========
+
+|rtd| |pypi-v| |pypi-pyversions| |pypi-l| |tests|
+
+.. |rtd| image::
https://readthedocs.org/projects/pylsqpack/badge/?version=latest
+ :target: https://pylsqpack.readthedocs.io/
+
+.. |pypi-v| image:: https://img.shields.io/pypi/v/pylsqpack.svg
+ :target: https://pypi.python.org/pypi/pylsqpack
+
+.. |pypi-pyversions| image::
https://img.shields.io/pypi/pyversions/pylsqpack.svg
+ :target: https://pypi.python.org/pypi/pylsqpack
+
+.. |pypi-l| image:: https://img.shields.io/pypi/l/pylsqpack.svg
+ :target: https://pypi.python.org/pypi/pylsqpack
+
+.. |tests| image::
https://github.com/aiortc/pylsqpack/workflows/tests/badge.svg
+ :target: https://github.com/aiortc/pylsqpack/actions
+
+``pylsqpack`` is a wrapper around the `ls-qpack`_ library. It provides Python
+`Decoder` and `Encoder` objects to read or write HTTP/3 headers compressed
+with QPACK.
+
+To learn more about ``pylsqpack`` please `read the documentation`_.
+
+.. _ls-qpack: https://github.com/litespeedtech/ls-qpack/
+.. _read the documentation: https://pylsqpack.readthedocs.io/en/latest/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pylsqpack-0.3.16/src/pylsqpack.egg-info/SOURCES.txt
new/pylsqpack-0.3.18/src/pylsqpack.egg-info/SOURCES.txt
--- old/pylsqpack-0.3.16/src/pylsqpack.egg-info/SOURCES.txt 2022-03-30
00:37:10.000000000 +0200
+++ new/pylsqpack-0.3.18/src/pylsqpack.egg-info/SOURCES.txt 2023-11-04
20:00:31.000000000 +0100
@@ -1,16 +1,13 @@
LICENSE
MANIFEST.in
README.rst
-setup.cfg
+pyproject.toml
setup.py
docs/Makefile
docs/conf.py
docs/index.rst
src/pylsqpack/__init__.py
-src/pylsqpack/__init__.pyi
-src/pylsqpack/about.py
src/pylsqpack/binding.c
-src/pylsqpack/py.typed
src/pylsqpack.egg-info/PKG-INFO
src/pylsqpack.egg-info/SOURCES.txt
src/pylsqpack.egg-info/dependency_links.txt