[Type 3] Audit thread-safety or other concurrency

Open
#1,148 5 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
25/100
Issue type
Feature
Clarity
Needs clarification
Activity status
Active
Tech stack
python

Research direction

The issue names no files, tests, or entry points. Start by auditing how Server instances and sessions are used across threads, then determine whether the desired outcome is documented thread-safety guidance or an asyncio implementation; done requires a decided scope and corresponding validation.

Written by the indexing model from the issue text.

Description

enhancement needs investigation Server-Side Enhancement

Summary

Currently it is not very clear if this library is thread-safe or not. According to https://github.com/psf/requests/issues/2766 a single session per thread is preferred so should we create multiple Server instances for each thread?

Alternatively I would be very interested in an asyncio Version of this library using httpx or a similar library. This is generally the direction in which Python is now also moving and a lot easier to reason about than multithreaded concurrency. Furthermore it would lead to better code style as all the hidden IO which is currently performed would then be eliminated.

Dominant language
Python
Stars
716
Forks
446
Avg merge
8d 8h
Merged PRs (30d)
2

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.

More from tableau/server-client-python

All issues in tableau/server-client-python

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.