Publish a new release to support building `socksio` from source on Python 3.14
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 55/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- python
- Domain
- build-system, release
Research direction
Review issue #61 and the package build metadata that controls the flit_core requirement, then reproduce the failure with pip install --no-binary socksio socksio on Python 3.14. Publish a new release containing the updated requirement and verify that installing socksio from source completes successfully.
Written by the indexing model from the issue text.
Description
Installing the wheel for socksio on Python 3.14 works fine, but installing from source fails due to a bug in flit_core v2. Reproduction steps:
$ python -m venv socksio-env
$ source socksio-env/bin/activate
$ pip install --no-binary socksio socksio
Collecting socksio
Downloading socksio-1.0.0.tar.gz (19 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... error
error: subprocess-exited-with-error
× Preparing metadata (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [21 lines of output]
Traceback (most recent call last):
File "/Users/nyakku/Projects/yutto/socksio-env/lib/python3.14/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 389, in <module>
main()
~~~~^^
File "/Users/nyakku/Projects/yutto/socksio-env/lib/python3.14/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 373, in main
json_out["return_val"] = hook(**hook_input["kwargs"])
~~~~^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/nyakku/Projects/yutto/socksio-env/lib/python3.14/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 175, in prepare_metadata_for_build_wheel
return hook(metadata_directory, config_settings)
File "/private/var/folders/6g/d8nyqgsx009gszprx9qf0nl80000gn/T/pip-build-env-mw7dy2oe/overlay/lib/python3.14/site-packages/flit_core/buildapi.py", line 29, in prepare_metadata_for_build_wheel
metadata = make_metadata(module, ini_info)
File "/private/var/folders/6g/d8nyqgsx009gszprx9qf0nl80000gn/T/pip-build-env-mw7dy2oe/overlay/lib/python3.14/site-packages/flit_core/common.py", line 368, in make_metadata
md_dict.update(get_info_from_module(module))
~~~~~~~~~~~~~~~~~~~~^^^^^^^^
File "/private/var/folders/6g/d8nyqgsx009gszprx9qf0nl80000gn/T/pip-build-env-mw7dy2oe/overlay/lib/python3.14/site-packages/flit_core/common.py", line 178, in get_info_from_module
docstring, version = get_docstring_and_version_via_ast(target)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^
File "/private/var/folders/6g/d8nyqgsx009gszprx9qf0nl80000gn/T/pip-build-env-mw7dy2oe/overlay/lib/python3.14/site-packages/flit_core/common.py", line 134, in get_docstring_and_version_via_ast
isinstance(child.value, ast.Str))
^^^^^^^
AttributeError: module 'ast' has no attribute 'Str'
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed
× Encountered error while generating package metadata.
╰─> See above for output.
note: This is an issue with the package mentioned above, not pip.
hint: See above for details.
This may cause Homebrew formulas that depend on socksio to fail to build/install on Python 3.14, because they build from source.
Because ast.Str has been removed in Python 3.14^1, and when building socksio==1.0.0 (the latest release on PyPI) from source it depends on flit_core >=2,<3. flit_core v2 has a bug on Python 3.14 that prevents building from source. This issue is fixed in flit_core v3.10.0 (see pypa/flit#684). Therefore, removing the <3 upper bound on flit_core — i.e., requiring flit_core >=3 — will resolve the problem (due to this issue, it is recommended to update the flit_core version requirement to >=3).
I noticed #61 already removed the <3 constraint, so publishing a new release should resolve this issue.
- Dominant language
- Python
- Stars
- 56
- Forks
- 12
- Avg merge
- 2d 19h
- Merged PRs (30d)
- 2
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 sethmlarson/socksio
-
Difficulty 5/5 Over a week Newbie friendliness 20/100
sethmlarson/socksio#62 ·
-
Difficulty 4/5 3-5 days Newbie friendliness 30/100
sethmlarson/socksio#60 ·
-
Support socks5h? Open
Difficulty 4/5 3-5 days Newbie friendliness 25/100
sethmlarson/socksio#59 ·
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
sethmlarson/socksio#4 · 2 comments ·
All issues in sethmlarson/socksio
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
bancolombia/sentinel#23 ·
-
test md OpenCI
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
-
integration:quickjs org:external priority:backlog topic:code-interpreter topic:middleware type:feature
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
langchain-ai/deepagents#6450 ·
-
bug client
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100