Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade to Cython 3 #124

Merged
merged 1 commit into from
Jul 28, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,15 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [3.7, 3.8, 3.9, "3.10", "3.11", "3.12-dev"]
python-version: [3.8, 3.9, "3.10", "3.11", "3.12"]

steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
allow-prereleases: true
- name: Install dependencies
run: |
python -m pip install --upgrade pip
Expand Down
5 changes: 5 additions & 0 deletions CHANGELOG
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
## Unreleased
* Support Cython 3
* Drop support for Python 3.7
* Add support for Python 3.12

## 1.5.1
* Pin to `Cython<3`

Expand Down
10 changes: 5 additions & 5 deletions asynq/async_task.pxd
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,11 @@ from cpython.ref cimport PyObject
cimport qcore.events as core_events
cimport qcore.helpers as core_helpers
cimport qcore.inspection as core_inspection
cimport futures
cimport scheduler
cimport _debug
cimport profiler
cimport batching
from . cimport futures
from . cimport scheduler
from . cimport _debug
from . cimport profiler
from . cimport batching


cdef _debug.DebugOptions _debug_options
Expand Down
6 changes: 3 additions & 3 deletions asynq/batching.pxd
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,9 @@ import cython
from cpython.ref cimport PyObject

cimport qcore.inspection as core_inspection
cimport futures
cimport _debug
cimport profiler
from . cimport futures
from . cimport _debug
from . cimport profiler


cdef _debug.DebugOptions _debug_options
Expand Down
2 changes: 1 addition & 1 deletion asynq/contexts.pxd
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@

import cython

cimport async_task
from . cimport async_task


@cython.locals(active_task=async_task.AsyncTask)
Expand Down
6 changes: 3 additions & 3 deletions asynq/decorators.pxd
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,9 @@ from cpython.ref cimport PyObject
cimport qcore.helpers as core_helpers
cimport qcore.inspection as core_inspection
cimport qcore.decorators
cimport futures
cimport async_task
cimport _debug
from . cimport futures
from . cimport async_task
from . cimport _debug

cdef _debug.DebugOptions _debug_options

Expand Down
2 changes: 1 addition & 1 deletion asynq/futures.pxd
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ from cpython.ref cimport PyObject

cimport qcore.events as core_events
cimport qcore.helpers as core_helpers
cimport _debug
from . cimport _debug

cdef _debug.DebugOptions _debug_options
cdef core_helpers.MarkerObject _none
Expand Down
8 changes: 4 additions & 4 deletions asynq/scheduler.pxd
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,10 @@ import cython
from cpython.ref cimport PyObject

cimport qcore.events as core_events
cimport futures
cimport async_task
cimport batching
cimport _debug
from . cimport futures
from . cimport async_task
from . cimport batching
from . cimport _debug


cdef _debug.DebugOptions _debug_options
Expand Down
4 changes: 2 additions & 2 deletions asynq/scoped_value.pxd
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,13 @@

import cython

cimport contexts
from . cimport contexts


cdef object _empty_context

cdef class AsyncScopedValue(object):
cpdef public object _value
cdef public object _value

cpdef object get(self)
cpdef set(self, object value)
Expand Down
8 changes: 4 additions & 4 deletions asynq/utils.pxd
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,10 @@ import cython
from cpython.ref cimport PyObject
from cpython cimport bool

from futures cimport FutureBase
cimport async_task
cimport scheduler
cimport _debug
from .futures cimport FutureBase
from . cimport async_task
from . cimport scheduler
from . cimport _debug


cdef _debug.DebugOptions _debug_options
Expand Down
4 changes: 2 additions & 2 deletions requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@ pytest
Cython>=0.27.1
qcore
pygments
black==23.3.0
mypy==1.3.0
black==23.7.0
mypy==1.4.1
9 changes: 6 additions & 3 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,9 @@


if __name__ == "__main__":
for extension in EXTENSIONS:
extension.cython_directives = {"language_level": "3"}

with open("./README.rst", encoding="utf-8") as f:
long_description = f.read()

Expand All @@ -65,16 +68,16 @@
classifiers=[
"License :: OSI Approved :: Apache Software License",
"Programming Language :: Python",
"Programming Language :: Python :: 3.7",
"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",
],
keywords="quora asynq common utility",
packages=["asynq", "asynq.tests"],
package_data={"asynq": DATA_FILES},
ext_modules=EXTENSIONS,
setup_requires=["Cython==0.29.36", "qcore", "setuptools"],
install_requires=["Cython>=0.27.1", "qcore", "pygments"],
setup_requires=["Cython", "qcore", "setuptools"],
install_requires=["qcore", "pygments"],
)
10 changes: 5 additions & 5 deletions tox.ini
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[tox]
minversion=2.3.1
envlist =
py37,py38,py39,py310,py311
py38,py39,py310,py311,py312
mypy
black
skip_missing_interpreters = True
Expand All @@ -14,7 +14,7 @@ commands =
pytest asynq

[testenv:mypy]
basepython = python3.7
basepython = python3.8
deps =
-rrequirements.txt

Expand All @@ -27,8 +27,8 @@ commands =

[gh-actions]
python =
3.7: py37, mypy
3.8: py38
3.8: py38, mypy
3.9: py39, black
3.10: py310
3.11: py311
3.11: py311, black
3.12: py312
Loading