asyncpg does not install with python 3.12-dev
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 35/100
Research direction
Start with the linked GitHub CI trace and the failing generated file asyncpg/pgproto/pgproto.c, reproducing installation with Python 3.12-dev. Investigate the reported PyLongObject ob_digit compilation error and verify that asyncpg installs successfully on that Python version without the reported build failure.
Written by the indexing model from the issue text.
Description
See Github CI trace
- asyncpg version: latest
- PostgreSQL version: latest
- Do you use a PostgreSQL SaaS? If so, which? Can you reproduce
the issue with a local PostgreSQL install?: No / Does not apply - Python version: 3.12-dev
- Platform: Github CI
- Do you use pgbouncer?: No
- Did you install asyncpg with pip?: Just trying, it fails.
- If you built asyncpg locally, which version of Cython did you use?: 312
- Can the issue be reproduced under both asyncio and
uvloop?: I do not know.
Python 3.12, under development, seems to have changed a structure:
asyncpg/pgproto/pgproto.c: In function ‘__Pyx_PyInt_As_int’:
asyncpg/pgproto/pgproto.c:40800:53: error: ‘PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’
40800 | const digit* digits = ((PyLongObject*)x)->ob_digit;
| ^~
Also, there are two repeated warnings:
gcc -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/opt/hostedtoolcache/Python/3.12.0-alpha.5/x64/include/python3.12 -c asyncpg/pgproto/pgproto.c -o build/temp.linux-x86_64-cpython-312/asyncpg/pgproto/pgproto.o -O2 -fsigned-char -Wall -Wsign-compare -Wconversion
asyncpg/pgproto/pgproto.c: In function ‘__pyx_pf_7asyncpg_7pgproto_7pgproto_11WriteBuffer_2__dealloc__’:
asyncpg/pgproto/pgproto.c:3127:5: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
3127 | __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_BufferError); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34, __pyx_L1_error)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /opt/hostedtoolcache/Python/3.12.0-alpha.5/x64/include/python3.12/dictobject.h:90,
from /opt/hostedtoolcache/Python/3.12.0-alpha.5/x64/include/python3.12/Python.h:61,
from asyncpg/pgproto/pgproto.c:31:
/opt/hostedtoolcache/Python/3.12.0-alpha.5/x64/include/python3.12/cpython/dictobject.h:22:34: note: declared here
22 | Py_DEPRECATED(3.12) uint64_t ma_version_tag;
| ^~~~~~~~~~~~~~
/opt/hostedtoolcache/Python/3.12.0-alpha.5/x64/include/python3.12/internal/pycore_code.h:434:41: warning: conversion to ‘int’ from ‘unsigned int’ may change the sign of the result [-Wsign-conversion]
434 | return adaptive_counter_bits(value, backoff);
| ^~~~~~~
- Dominant language
- Python
- Stars
- 8.1k
- Forks
- 469
- Avg merge
- 2d 20h
- Merged PRs (30d)
- 9
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from MagicStack/asyncpg
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
MagicStack/asyncpg#1357 ·
-
Difficulty 4/5 3-5 days Newbie friendliness 48/100
MagicStack/asyncpg#1354 ·
-
Difficulty 3/5 1-2 days Newbie friendliness 72/100
MagicStack/asyncpg#1342 ·
-
Difficulty 3/5 1-2 days Newbie friendliness 56/100
MagicStack/asyncpg#1340 · 1 comment ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 28/100
MagicStack/asyncpg#1337 ·
All issues in MagicStack/asyncpg
Similar issues
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 90/100
learningequality/ricecooker#747 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
BSData/horus-heresy-3rd-edition#3171 ·
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
run-llama/llama_index#23199 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
KhronosGroup/glTF-Blender-IO#2769 ·