astropy / astropy/astropy

BLD/RFC: compatibility with Python 3.15's Limited API

Open
#19,249 18 comments 2 reactions 0 assignees View on GitHub
Limited API Python 3.15 Upstream Action Required
Dominant language
Python
Stars
5.3k
Forks
2.2k
Avg merge
1d 20h
Merged PRs (30d)
81

Description

Context: there are currently 2 competing PEPs (803 and 809) that aim to specify a new Limited API for Python 3.15 that would be compatible with both GIL-enabled and free-threaded builds. Since astropy is already compliant with Python 3.11's Limited API my hope is that it would not be a great deal more work to also get compatibility with this *other* API, but of course it's too early to tell and I'm merely speculating here. This issue is intended to help keep track of progress on this matter, both locally and upstream

Upstream issues:
- https://github.com/numpy/numpy/issues/30704
- https://github.com/cython/cython/issues/7399
- https://github.com/python/cpython/issues/146636

Contributor guide

Open the contributing guide

Research direction

Start by reviewing astropy's existing Python 3.11 Limited API compliance and the linked NumPy, Cython, and CPython issues, then track which of PEP 803 or PEP 809 becomes applicable. Done means the required compatibility work for Python 3.15's selected Limited API is implemented and verified.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
build-system
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.