`JoinTypes.__members__` empty in Python 3.13
Open
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 394
- Forks
- 95
- Avg merge
- 4d 3h
- Merged PRs (30d)
- 7
Description
Running this code with Python 3.11 shows
from spatialdata._core.query.relational_query import JoinTypes; print(JoinTypes._member_names_)
from spatialdata._core.query.relational_query import MatchTypes; print(MatchTypes._member_names_)
['left', 'left_exclusive', 'inner', 'right', 'right_exclusive']
['left', 'right', 'no']
While running it with Python 3.13 shows
[]
['left', 'right', 'no']
Leading to an exception when the join functions are called (for instance from spatialdata-plot).
We need to:
- fix this
- I'll start with a quick fix CC @melonora https://github.com/scverse/spatialdata/pull/853
- we should see if we can make a more robust fix (the hotfix may be enough)
- add Python 3.13 to the CI
- ideally try to make tests faster to make the CI run faster.
Contributor guide
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.
Research direction
Reproduce the empty JoinTypes members with the example from spatialdata._core.query.relational_query under Python 3.13, then review the quick fix in PR #853 and the Python 3.13 CI change. A robust fix should preserve the listed JoinTypes members, prevent join-function exceptions, and leave the relevant CI checks passing.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- data
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100