scverse / scverse/spatialdata

`JoinTypes.__members__` empty in Python 3.13

Open
#852 0 comments 0 reactions 0 assignees View on GitHub

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
  • add Python 3.13 to the CI
  • ideally try to make tests faster to make the CI run faster.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.