scylladb / scylladb/python-rs-driver

Investigate pyo3 free-threaded Python support

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

Nobody has claimed this yet.

bug
Dominant language
Rust
Stars
6
Forks
7
Avg merge
5d 13h
Merged PRs (30d)
9

Description

Make sure that the driver supports GIL disabled correctly handling mutable objects. Read https://docs.rs/pyo3/0.28.2/pyo3/pycell/struct.PyRefMut.html. Possibly introduce requirement for every class to be frozen and manage mutability through Arc and Mutex with *_py_attached lock extenstion traits #64.

With this in mind we should reduce holding inside structs other user-exposed structs and .clone() usage.
Consider forbidding #[derive(Clone)] to make handling more explicit. Especially with Mutex interior mutability.

Contributor guide

No contributing guide indexed for this repository

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

Start by reading the linked PyO3 0.28.2 PyRefMut documentation and the context of issue #64. Audit how user-exposed structs handle mutable state, cloning, and Mutex interior mutability under GIL-disabled Python. Done means the project has a decided, consistently applied approach for free-threaded support, with affected behavior validated.

Written by the indexing model from the issue text.

Assessment

Tech stack
python, rust
Domain
api, backend
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.