8 Commits
Author SHA1 Message Date
priya-sundaram-devandpre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> 7421e02e05 CI: try free-threaded Python 3.14t (DRAFT — documenting failures) (#15104)
* ci: switch default Python to free-threaded 3.14t

Change the interpreter used across CI workflows from 3.14 to the
free-threaded build 3.14t to surface which dependencies and tests are
not yet free-threading compatible. Opened as DRAFT for documentation
purposes per maintainer request (#15081).

* ci(3.14t): gate opencv-python into optional 'cv' group + skip cv2 files

opencv-python has no cp314t wheel yet and fails to build from source under
free-threaded 3.14t (CMake), blocking uv sync for every job. Move it to an
optional [dependency-groups] cv group so the ft CI installs everything else
and runs pytest-run-parallel on the pure-Python algorithms. Skip the 20 files
that import cv2 (computer_vision augmentations, data_compression PSNR, and the
mostly-cv2 digital_image_processing/ tree). Re-fold once a cp314t wheel ships
(upstream: opencv/opencv#27933).

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* ci(3.14t): add --ignore-gil-enabled so sklearn/xgboost imports don't abort the run

* ci(3.14t): gate qiskit into an optional group like opencv

qiskit re-enables the GIL under free-threaded CPython and the team is still scoping free-threading support (Qiskit/qiskit#16893), so move it out of the core deps into an optional 'quantum' group and ignore the one algorithm that imports it (quantum/q_fourier_transform.py) in the 3.14t test run. Mirrors the existing opencv 'cv' carve-out. Per cclauss: default all workflows to 3.14t except tests depending on OpenCV or Qiskit.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* ci: single-source 3.14t via .python-version; declare Free Threading :: 2 - Beta

Un-ignore .python-version and pin it to 3.14t, then point all four
workflows at python-version-file: .python-version so the free-threaded
interpreter is selected from one place. Also add the
'Programming Language :: Python :: Free Threading :: 2 - Beta' trove
classifier to document our free-threaded support status per
https://py-free-threading.github.io/porting/#define-and-document-thread-safety-guarantees

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-08-31 21:29:58 +02:00
lance-pyles d53fdc29e2 chore: update .gitignore (#6263) 2022-07-23 07:56:59 +05:30
matkosoricandJohn Law 7f04e5cd34 contribution guidelines checks (#1787)
* spelling corrections

* review

* improved documentation, removed redundant variables, added testing

* added type hint

* camel case to snake case

* spelling fix

* review

* python --> Python # it is a brand name, not a snake

* explicit cast to int

* spaces in int list

* "!= None" to "is not None"

* Update comb_sort.py

* various spelling corrections in documentation & several variables naming conventions fix

* + char in file name

* import dependency - bug fix

Co-authored-by: John Law <johnlaw.po@gmail.com>
2020-03-04 13:40:28 +01:00
Christian Clauss a18a8fe2b9 Update .gitignore to remove __pycache__/ (#1127) 2019-08-17 00:46:33 +02:00
CHIANGTUNGHUA 974088d872 Update .gitignore (#841) 2019-05-26 22:03:53 +05:30
ParthS007 0856a61859 Remove Multiple Unused Imports and Variable 2018-10-18 02:58:57 +05:30
Francisco Matias 4a9405e1b0 Add Binary Search Tree in data_structures 2017-06-20 02:31:03 -03:00
Sergey Tsaplin 1459957c06 Sortings and searching algorithms refactoring 2016-08-01 12:49:43 +05:00