-
-
Notifications
You must be signed in to change notification settings - Fork 173
Free-threading: run with pytest-run-paralell #507
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
pyproject.toml
Outdated
| "Intended Audience :: Developers", | ||
| "Operating System :: OS Independent", | ||
| "Programming Language :: Python", | ||
| "Programming Language :: Python :: Free Threading :: 2 - Beta", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why is this "beta"? Why not "stable" or "resilient"?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi, please refer to this: https://py-free-threading.github.io/porting/#define-and-document-thread-safety-guarantees
- Alpha - For experimentation and feedback only.
- Beta - Free threaded usage is supported, but documentation of constraints and limitations may be incomplete.
- Stable - Supported for production use, multithreaded use is tested, and thread safety issues are clearly documented.
- Resilient - Fully supported and fully thread safe.
In general, I would not go beyond Beta status before having some feedback that everything works well in production environments.
e795f30 to
5c1e0ba
Compare
|
I'm going to remove the classifier for now. I don't understand free threading enough to evaluate the "Beta", "Stable", and "Resilient" classifiers. Our intention is to support free threading, if we don't then that's a bug to report and help fix. We're such a simple extension that I don't think we needed to do anything to become thread safe. The fact that we supply wheels for free threaded builds signals our support, as well as the fact that we build successfully as reported by https://ft-checker.com/?search=markupsafe. And these parallel tests pass as well. |
Mark the project as compatible with free-threading.
Stress-test the whole test suite (and, crucially,
_speedups.so) by running it in parallel over multiple threads.This aims to detect race conditions where functions may share a thread-unsafe global state.
Namely, in the future one may add a global cache, which carries thread-safety concerns.