mirror of
https://github.com/ets-labs/python-dependency-injector.git
synced 2024-11-22 09:36:48 +03:00
feat: re cythonize to support python 3.11 (#646)
* feat: re cythonize to support python 3.11 * misc: added tox env for python 3.11 * misc: add classifiers for python 3.11 * fix: skip tests for removed functions * misc: CI updates for python 3.11 Co-authored-by: Roman Mogylatov <rmogilatov@gmail.com>
This commit is contained in:
parent
04df609631
commit
33acc051f2
26
.github/workflows/publishing.yml
vendored
26
.github/workflows/publishing.yml
vendored
|
@ -9,20 +9,20 @@ jobs:
|
|||
|
||||
tests:
|
||||
name: Run tests
|
||||
runs-on: ubuntu-20.04
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-python@v2
|
||||
with:
|
||||
python-version: "3.10"
|
||||
python-version: "3.11"
|
||||
- run: pip install tox
|
||||
- run: tox
|
||||
env:
|
||||
TOXENV: "3.10"
|
||||
TOXENV: "3.11"
|
||||
|
||||
linters:
|
||||
name: Run linters
|
||||
runs-on: ubuntu-20.04
|
||||
runs-on: ubuntu-22.04
|
||||
strategy:
|
||||
matrix:
|
||||
toxenv: [flake8, pydocstyle, mypy, pylint]
|
||||
|
@ -30,7 +30,7 @@ jobs:
|
|||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-python@v2
|
||||
with:
|
||||
python-version: "3.10"
|
||||
python-version: "3.11"
|
||||
- run: pip install tox
|
||||
- run: tox
|
||||
env:
|
||||
|
@ -39,12 +39,12 @@ jobs:
|
|||
build-sdist:
|
||||
name: Build source tarball
|
||||
needs: [tests, linters]
|
||||
runs-on: ubuntu-20.04
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-python@v2
|
||||
with:
|
||||
python-version: "3.10"
|
||||
python-version: "3.11"
|
||||
- run: python setup.py sdist
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
|
@ -56,14 +56,14 @@ jobs:
|
|||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
matrix:
|
||||
os: [ubuntu-20.04, windows-2019, macOS-10.15]
|
||||
os: [ubuntu-22.04, windows-2019, macOS-10.15]
|
||||
env:
|
||||
CIBW_SKIP: cp27-win*
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-python@v2
|
||||
with:
|
||||
python-version: "3.10"
|
||||
python-version: "3.11"
|
||||
- run: pip install cibuildwheel==2.1.3
|
||||
- run: cibuildwheel --output-dir wheelhouse
|
||||
- uses: actions/upload-artifact@v2
|
||||
|
@ -73,14 +73,14 @@ jobs:
|
|||
build-wheels-linux-aarch64:
|
||||
name: Build wheels (ubuntu-latest-aarch64)
|
||||
needs: [tests, linters]
|
||||
runs-on: ubuntu-20.04
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v1
|
||||
- uses: actions/setup-python@v2
|
||||
with:
|
||||
python-version: "3.10"
|
||||
python-version: "3.11"
|
||||
- run: pip install cibuildwheel==2.1.3
|
||||
- run: cibuildwheel --archs aarch64 --output-dir wheelhouse
|
||||
- uses: actions/upload-artifact@v2
|
||||
|
@ -90,7 +90,7 @@ jobs:
|
|||
publish:
|
||||
name: Publish on PyPI
|
||||
needs: [build-sdist, build-wheels, build-wheels-linux-aarch64]
|
||||
runs-on: ubuntu-20.04
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- uses: actions/download-artifact@v2
|
||||
with:
|
||||
|
@ -112,7 +112,7 @@ jobs:
|
|||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-python@v2
|
||||
with:
|
||||
python-version: "3.10"
|
||||
python-version: "3.11"
|
||||
- run: pip install -r requirements-doc.txt
|
||||
- run: pip install awscli
|
||||
- run: pip install -e .
|
||||
|
|
2
.github/workflows/tests-and-linters.yml
vendored
2
.github/workflows/tests-and-linters.yml
vendored
|
@ -9,7 +9,7 @@ jobs:
|
|||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
python-version: [2.7, 3.5, 3.6, 3.7, 3.8, 3.9, "3.10", 3.11, pypy2, pypy3]
|
||||
python-version: [2.7, 3.5, 3.6, 3.7, 3.8, 3.9, 3.10, 3.11, pypy2, pypy3]
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-python@v2
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
cython==0.29.30
|
||||
cython==0.29.32
|
||||
pytest
|
||||
pytest-asyncio
|
||||
tox
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* Generated by Cython 0.29.30 */
|
||||
/* Generated by Cython 0.29.32 */
|
||||
|
||||
#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_30"
|
||||
#define CYTHON_HEX_VERSION 0x001D1EF0
|
||||
#define CYTHON_ABI "0_29_32"
|
||||
#define CYTHON_HEX_VERSION 0x001D20F0
|
||||
#define CYTHON_FUTURE_DIVISION 0
|
||||
#include <stddef.h>
|
||||
#ifndef offsetof
|
||||
|
@ -49,6 +49,7 @@
|
|||
#define CYTHON_COMPILING_IN_PYPY 1
|
||||
#define CYTHON_COMPILING_IN_PYSTON 0
|
||||
#define CYTHON_COMPILING_IN_CPYTHON 0
|
||||
#define CYTHON_COMPILING_IN_NOGIL 0
|
||||
#undef CYTHON_USE_TYPE_SLOTS
|
||||
#define CYTHON_USE_TYPE_SLOTS 0
|
||||
#undef CYTHON_USE_PYTYPE_LOOKUP
|
||||
|
@ -92,6 +93,7 @@
|
|||
#define CYTHON_COMPILING_IN_PYPY 0
|
||||
#define CYTHON_COMPILING_IN_PYSTON 1
|
||||
#define CYTHON_COMPILING_IN_CPYTHON 0
|
||||
#define CYTHON_COMPILING_IN_NOGIL 0
|
||||
#ifndef CYTHON_USE_TYPE_SLOTS
|
||||
#define CYTHON_USE_TYPE_SLOTS 1
|
||||
#endif
|
||||
|
@ -132,10 +134,56 @@
|
|||
#ifndef CYTHON_UPDATE_DESCRIPTOR_DOC
|
||||
#define CYTHON_UPDATE_DESCRIPTOR_DOC 0
|
||||
#endif
|
||||
#elif defined(PY_NOGIL)
|
||||
#define CYTHON_COMPILING_IN_PYPY 0
|
||||
#define CYTHON_COMPILING_IN_PYSTON 0
|
||||
#define CYTHON_COMPILING_IN_CPYTHON 0
|
||||
#define CYTHON_COMPILING_IN_NOGIL 1
|
||||
#ifndef CYTHON_USE_TYPE_SLOTS
|
||||
#define CYTHON_USE_TYPE_SLOTS 1
|
||||
#endif
|
||||
#undef CYTHON_USE_PYTYPE_LOOKUP
|
||||
#define CYTHON_USE_PYTYPE_LOOKUP 0
|
||||
#ifndef CYTHON_USE_ASYNC_SLOTS
|
||||
#define CYTHON_USE_ASYNC_SLOTS 1
|
||||
#endif
|
||||
#undef CYTHON_USE_PYLIST_INTERNALS
|
||||
#define CYTHON_USE_PYLIST_INTERNALS 0
|
||||
#ifndef CYTHON_USE_UNICODE_INTERNALS
|
||||
#define CYTHON_USE_UNICODE_INTERNALS 1
|
||||
#endif
|
||||
#undef CYTHON_USE_UNICODE_WRITER
|
||||
#define CYTHON_USE_UNICODE_WRITER 0
|
||||
#undef CYTHON_USE_PYLONG_INTERNALS
|
||||
#define CYTHON_USE_PYLONG_INTERNALS 0
|
||||
#ifndef CYTHON_AVOID_BORROWED_REFS
|
||||
#define CYTHON_AVOID_BORROWED_REFS 0
|
||||
#endif
|
||||
#ifndef CYTHON_ASSUME_SAFE_MACROS
|
||||
#define CYTHON_ASSUME_SAFE_MACROS 1
|
||||
#endif
|
||||
#ifndef CYTHON_UNPACK_METHODS
|
||||
#define CYTHON_UNPACK_METHODS 1
|
||||
#endif
|
||||
#undef CYTHON_FAST_THREAD_STATE
|
||||
#define CYTHON_FAST_THREAD_STATE 0
|
||||
#undef CYTHON_FAST_PYCALL
|
||||
#define CYTHON_FAST_PYCALL 0
|
||||
#ifndef CYTHON_PEP489_MULTI_PHASE_INIT
|
||||
#define CYTHON_PEP489_MULTI_PHASE_INIT 1
|
||||
#endif
|
||||
#ifndef CYTHON_USE_TP_FINALIZE
|
||||
#define CYTHON_USE_TP_FINALIZE 1
|
||||
#endif
|
||||
#undef CYTHON_USE_DICT_VERSIONS
|
||||
#define CYTHON_USE_DICT_VERSIONS 0
|
||||
#undef CYTHON_USE_EXC_INFO_STACK
|
||||
#define CYTHON_USE_EXC_INFO_STACK 0
|
||||
#else
|
||||
#define CYTHON_COMPILING_IN_PYPY 0
|
||||
#define CYTHON_COMPILING_IN_PYSTON 0
|
||||
#define CYTHON_COMPILING_IN_CPYTHON 1
|
||||
#define CYTHON_COMPILING_IN_NOGIL 0
|
||||
#ifndef CYTHON_USE_TYPE_SLOTS
|
||||
#define CYTHON_USE_TYPE_SLOTS 1
|
||||
#endif
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* Generated by Cython 0.29.30 */
|
||||
/* Generated by Cython 0.29.32 */
|
||||
|
||||
#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_30"
|
||||
#define CYTHON_HEX_VERSION 0x001D1EF0
|
||||
#define CYTHON_ABI "0_29_32"
|
||||
#define CYTHON_HEX_VERSION 0x001D20F0
|
||||
#define CYTHON_FUTURE_DIVISION 0
|
||||
#include <stddef.h>
|
||||
#ifndef offsetof
|
||||
|
@ -49,6 +49,7 @@
|
|||
#define CYTHON_COMPILING_IN_PYPY 1
|
||||
#define CYTHON_COMPILING_IN_PYSTON 0
|
||||
#define CYTHON_COMPILING_IN_CPYTHON 0
|
||||
#define CYTHON_COMPILING_IN_NOGIL 0
|
||||
#undef CYTHON_USE_TYPE_SLOTS
|
||||
#define CYTHON_USE_TYPE_SLOTS 0
|
||||
#undef CYTHON_USE_PYTYPE_LOOKUP
|
||||
|
@ -92,6 +93,7 @@
|
|||
#define CYTHON_COMPILING_IN_PYPY 0
|
||||
#define CYTHON_COMPILING_IN_PYSTON 1
|
||||
#define CYTHON_COMPILING_IN_CPYTHON 0
|
||||
#define CYTHON_COMPILING_IN_NOGIL 0
|
||||
#ifndef CYTHON_USE_TYPE_SLOTS
|
||||
#define CYTHON_USE_TYPE_SLOTS 1
|
||||
#endif
|
||||
|
@ -132,10 +134,56 @@
|
|||
#ifndef CYTHON_UPDATE_DESCRIPTOR_DOC
|
||||
#define CYTHON_UPDATE_DESCRIPTOR_DOC 0
|
||||
#endif
|
||||
#elif defined(PY_NOGIL)
|
||||
#define CYTHON_COMPILING_IN_PYPY 0
|
||||
#define CYTHON_COMPILING_IN_PYSTON 0
|
||||
#define CYTHON_COMPILING_IN_CPYTHON 0
|
||||
#define CYTHON_COMPILING_IN_NOGIL 1
|
||||
#ifndef CYTHON_USE_TYPE_SLOTS
|
||||
#define CYTHON_USE_TYPE_SLOTS 1
|
||||
#endif
|
||||
#undef CYTHON_USE_PYTYPE_LOOKUP
|
||||
#define CYTHON_USE_PYTYPE_LOOKUP 0
|
||||
#ifndef CYTHON_USE_ASYNC_SLOTS
|
||||
#define CYTHON_USE_ASYNC_SLOTS 1
|
||||
#endif
|
||||
#undef CYTHON_USE_PYLIST_INTERNALS
|
||||
#define CYTHON_USE_PYLIST_INTERNALS 0
|
||||
#ifndef CYTHON_USE_UNICODE_INTERNALS
|
||||
#define CYTHON_USE_UNICODE_INTERNALS 1
|
||||
#endif
|
||||
#undef CYTHON_USE_UNICODE_WRITER
|
||||
#define CYTHON_USE_UNICODE_WRITER 0
|
||||
#undef CYTHON_USE_PYLONG_INTERNALS
|
||||
#define CYTHON_USE_PYLONG_INTERNALS 0
|
||||
#ifndef CYTHON_AVOID_BORROWED_REFS
|
||||
#define CYTHON_AVOID_BORROWED_REFS 0
|
||||
#endif
|
||||
#ifndef CYTHON_ASSUME_SAFE_MACROS
|
||||
#define CYTHON_ASSUME_SAFE_MACROS 1
|
||||
#endif
|
||||
#ifndef CYTHON_UNPACK_METHODS
|
||||
#define CYTHON_UNPACK_METHODS 1
|
||||
#endif
|
||||
#undef CYTHON_FAST_THREAD_STATE
|
||||
#define CYTHON_FAST_THREAD_STATE 0
|
||||
#undef CYTHON_FAST_PYCALL
|
||||
#define CYTHON_FAST_PYCALL 0
|
||||
#ifndef CYTHON_PEP489_MULTI_PHASE_INIT
|
||||
#define CYTHON_PEP489_MULTI_PHASE_INIT 1
|
||||
#endif
|
||||
#ifndef CYTHON_USE_TP_FINALIZE
|
||||
#define CYTHON_USE_TP_FINALIZE 1
|
||||
#endif
|
||||
#undef CYTHON_USE_DICT_VERSIONS
|
||||
#define CYTHON_USE_DICT_VERSIONS 0
|
||||
#undef CYTHON_USE_EXC_INFO_STACK
|
||||
#define CYTHON_USE_EXC_INFO_STACK 0
|
||||
#else
|
||||
#define CYTHON_COMPILING_IN_PYPY 0
|
||||
#define CYTHON_COMPILING_IN_PYSTON 0
|
||||
#define CYTHON_COMPILING_IN_CPYTHON 1
|
||||
#define CYTHON_COMPILING_IN_NOGIL 0
|
||||
#ifndef CYTHON_USE_TYPE_SLOTS
|
||||
#define CYTHON_USE_TYPE_SLOTS 1
|
||||
#endif
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* Generated by Cython 0.29.30 */
|
||||
/* Generated by Cython 0.29.32 */
|
||||
|
||||
#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_30"
|
||||
#define CYTHON_HEX_VERSION 0x001D1EF0
|
||||
#define CYTHON_ABI "0_29_32"
|
||||
#define CYTHON_HEX_VERSION 0x001D20F0
|
||||
#define CYTHON_FUTURE_DIVISION 0
|
||||
#include <stddef.h>
|
||||
#ifndef offsetof
|
||||
|
@ -49,6 +49,7 @@
|
|||
#define CYTHON_COMPILING_IN_PYPY 1
|
||||
#define CYTHON_COMPILING_IN_PYSTON 0
|
||||
#define CYTHON_COMPILING_IN_CPYTHON 0
|
||||
#define CYTHON_COMPILING_IN_NOGIL 0
|
||||
#undef CYTHON_USE_TYPE_SLOTS
|
||||
#define CYTHON_USE_TYPE_SLOTS 0
|
||||
#undef CYTHON_USE_PYTYPE_LOOKUP
|
||||
|
@ -92,6 +93,7 @@
|
|||
#define CYTHON_COMPILING_IN_PYPY 0
|
||||
#define CYTHON_COMPILING_IN_PYSTON 1
|
||||
#define CYTHON_COMPILING_IN_CPYTHON 0
|
||||
#define CYTHON_COMPILING_IN_NOGIL 0
|
||||
#ifndef CYTHON_USE_TYPE_SLOTS
|
||||
#define CYTHON_USE_TYPE_SLOTS 1
|
||||
#endif
|
||||
|
@ -132,10 +134,56 @@
|
|||
#ifndef CYTHON_UPDATE_DESCRIPTOR_DOC
|
||||
#define CYTHON_UPDATE_DESCRIPTOR_DOC 0
|
||||
#endif
|
||||
#elif defined(PY_NOGIL)
|
||||
#define CYTHON_COMPILING_IN_PYPY 0
|
||||
#define CYTHON_COMPILING_IN_PYSTON 0
|
||||
#define CYTHON_COMPILING_IN_CPYTHON 0
|
||||
#define CYTHON_COMPILING_IN_NOGIL 1
|
||||
#ifndef CYTHON_USE_TYPE_SLOTS
|
||||
#define CYTHON_USE_TYPE_SLOTS 1
|
||||
#endif
|
||||
#undef CYTHON_USE_PYTYPE_LOOKUP
|
||||
#define CYTHON_USE_PYTYPE_LOOKUP 0
|
||||
#ifndef CYTHON_USE_ASYNC_SLOTS
|
||||
#define CYTHON_USE_ASYNC_SLOTS 1
|
||||
#endif
|
||||
#undef CYTHON_USE_PYLIST_INTERNALS
|
||||
#define CYTHON_USE_PYLIST_INTERNALS 0
|
||||
#ifndef CYTHON_USE_UNICODE_INTERNALS
|
||||
#define CYTHON_USE_UNICODE_INTERNALS 1
|
||||
#endif
|
||||
#undef CYTHON_USE_UNICODE_WRITER
|
||||
#define CYTHON_USE_UNICODE_WRITER 0
|
||||
#undef CYTHON_USE_PYLONG_INTERNALS
|
||||
#define CYTHON_USE_PYLONG_INTERNALS 0
|
||||
#ifndef CYTHON_AVOID_BORROWED_REFS
|
||||
#define CYTHON_AVOID_BORROWED_REFS 0
|
||||
#endif
|
||||
#ifndef CYTHON_ASSUME_SAFE_MACROS
|
||||
#define CYTHON_ASSUME_SAFE_MACROS 1
|
||||
#endif
|
||||
#ifndef CYTHON_UNPACK_METHODS
|
||||
#define CYTHON_UNPACK_METHODS 1
|
||||
#endif
|
||||
#undef CYTHON_FAST_THREAD_STATE
|
||||
#define CYTHON_FAST_THREAD_STATE 0
|
||||
#undef CYTHON_FAST_PYCALL
|
||||
#define CYTHON_FAST_PYCALL 0
|
||||
#ifndef CYTHON_PEP489_MULTI_PHASE_INIT
|
||||
#define CYTHON_PEP489_MULTI_PHASE_INIT 1
|
||||
#endif
|
||||
#ifndef CYTHON_USE_TP_FINALIZE
|
||||
#define CYTHON_USE_TP_FINALIZE 1
|
||||
#endif
|
||||
#undef CYTHON_USE_DICT_VERSIONS
|
||||
#define CYTHON_USE_DICT_VERSIONS 0
|
||||
#undef CYTHON_USE_EXC_INFO_STACK
|
||||
#define CYTHON_USE_EXC_INFO_STACK 0
|
||||
#else
|
||||
#define CYTHON_COMPILING_IN_PYPY 0
|
||||
#define CYTHON_COMPILING_IN_PYSTON 0
|
||||
#define CYTHON_COMPILING_IN_CPYTHON 1
|
||||
#define CYTHON_COMPILING_IN_NOGIL 0
|
||||
#ifndef CYTHON_USE_TYPE_SLOTS
|
||||
#define CYTHON_USE_TYPE_SLOTS 1
|
||||
#endif
|
||||
|
|
|
@ -13,6 +13,7 @@ def test_inheritance():
|
|||
assert isinstance(providers.AbstractCoroutine(example), providers.Coroutine)
|
||||
|
||||
|
||||
@mark.skipif(sys.version_info > (3, 10), reason="asyncio.coroutine removed in 3.11")
|
||||
@mark.asyncio
|
||||
@mark.filterwarnings("ignore")
|
||||
@mark.skipif(sys.version_info >= (3, 11), reason="Cannot be executed on Python 3.11 or newer")
|
||||
|
@ -28,6 +29,7 @@ async def test_call_overridden_by_coroutine():
|
|||
assert result == (1, 2, 3, 4)
|
||||
|
||||
|
||||
@mark.skipif(sys.version_info > (3, 10), reason="asyncio.coroutine removed in 3.11")
|
||||
@mark.asyncio
|
||||
@mark.filterwarnings("ignore")
|
||||
@mark.skipif(sys.version_info >= (3, 11), reason="Cannot be executed on Python 3.11 or newer")
|
||||
|
|
Loading…
Reference in New Issue
Block a user