Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
2041 commits
Select commit Hold shift + click to select a range
edf7c37
[pre-commit.ci] pre-commit autoupdate (#12623)
pre-commit-ci[bot] Mar 18, 2025
580273e
Improve prefix_sum.py (#12560)
pranjaykumar926 Mar 19, 2025
e3773db
[pre-commit.ci] pre-commit autoupdate (#12631)
pre-commit-ci[bot] Mar 24, 2025
74b540a
Genetic Algorithm: Fix bug in multi-threading (#12644)
Dang-Hoang-Tung Mar 29, 2025
f10a5cb
prefix_evaluation: Add alternative recursive implementation (#12646)
isidroas Mar 31, 2025
baab802
doubly linked list: add dataclass and typing (#12647)
isidroas Apr 1, 2025
0c8cf8e
Fix bug for data_structures/linked_list/doubly_linked_list_two.py (#1…
MaximSmolskiy Apr 2, 2025
5afe029
[pre-commit.ci] pre-commit autoupdate (#12661)
pre-commit-ci[bot] Apr 7, 2025
a4576dc
fix: correct typo "util" to "until" (#12653)
kimtth Apr 9, 2025
4ed6141
[pre-commit.ci] pre-commit autoupdate (#12671)
pre-commit-ci[bot] Apr 14, 2025
cc621f1
Add find_unique_number algorithm to bit manipulation (#12654)
parth-6945 Apr 14, 2025
d123cbc
Solution for the Euler Project Problem 122 (#12655)
mindaugl Apr 14, 2025
4282063
Add matrix inversion algorithm using NumPy (#12657)
NaitikDwivede Apr 14, 2025
c585cb1
Solution for the Euler Project problem 136 (#12658)
mindaugl Apr 17, 2025
a1aa631
Adding time and a half pay calculator algorithm to financial folder (…
konsoleSam Apr 17, 2025
9891d2b
[pre-commit.ci] pre-commit autoupdate (#12680)
pre-commit-ci[bot] Apr 21, 2025
11a61d1
Generic type hint in DDL (#12677)
isidroas Apr 21, 2025
29afed0
Bump astral-sh/setup-uv from 5 to 6 (#12683)
dependabot[bot] Apr 25, 2025
0a3a965
[pre-commit.ci] pre-commit autoupdate (#12692)
pre-commit-ci[bot] Apr 28, 2025
145879b
Add solution for the Euler project problem 164. (#12663)
mindaugl May 5, 2025
40f4c51
Add solution for the Euler problem 190 (#12664)
mindaugl May 5, 2025
7ed7f04
[pre-commit.ci] pre-commit autoupdate (#12708)
pre-commit-ci[bot] May 5, 2025
d9d56b1
Add solution for the Euler project problem 345 (#12666)
mindaugl May 6, 2025
b720f24
Add solution for the Euler project problem 95. (#12669)
mindaugl May 10, 2025
a728cc9
Added/Improved doctests for lowest_common_ancestor.py (#12673)
NidhaNureen May 10, 2025
59c3c8b
Add N Input AND Gate (#12717)
robohie May 10, 2025
47a44ab
Improve longest_common_substring.py (#12705)
Alfredoxrock May 10, 2025
1317655
Fix error messages for horizontal_projectile_motion.py (#12722)
robohie May 10, 2025
95fb181
Add escape velocity calculator using standard physics formula (#12721)
SajeevSenthil May 10, 2025
1ea05fe
Prep for Python 3.14: Rename compression to data_compression (#12725)
cclauss May 12, 2025
088c74e
Delete empty source directory (#12730)
cclauss May 12, 2025
485f688
Add PEP723 header to scripts/validate_solutions.py (#12731)
cclauss May 12, 2025
f721e59
Add a proper shebang line to scripts/validate_filenames.py (#12733)
cclauss May 12, 2025
ee3a173
[pre-commit.ci] pre-commit autoupdate (#12736)
pre-commit-ci[bot] May 12, 2025
6e4d1b3
Physics orbital_transfer_work (#12728)
SajeevSenthil May 13, 2025
a2fa32c
Lukazlim: Replace dependency `requests` with `httpx` (#12744)
cclauss May 14, 2025
26ad689
Add median() function using Quickselect (#12676)
isidroas May 21, 2025
ca445f5
Add bidirectional search algorithm implementation (#12649)
prajwalc22 May 22, 2025
c81cc26
Improve hash map (#12678)
isidroas May 22, 2025
e1115b5
Add tests and cleanup sum_of_subsets algorithm (#12746)
mindaugl May 22, 2025
a8ad2db
Update matrix_chain_order calculation with more details and test. (#1…
mindaugl May 22, 2025
e26c388
[pre-commit.ci] pre-commit autoupdate (#12760)
pre-commit-ci[bot] May 26, 2025
d0d7f0b
maths/radix2_fft.py: Fix calculation for Python 3.14 (#12772)
cclauss May 29, 2025
4b077c0
feat: create straight_line_depreciation (#12377)
kangaroo-eating-carrots May 31, 2025
c3d4b9e
Add doctests for the boyer_moore_search algorithm. (#12769)
mindaugl Jun 2, 2025
7665ba5
Add unit tests for factorial.py (#12815)
Qasim-Umar-Khan Jul 5, 2025
cd3c3c3
Various ruff fixes (#12821)
cclauss Jul 5, 2025
5c05335
hill_cipher.py: Use `int()` to gracefully deal with float input (#12833)
cclauss Jul 7, 2025
ed7c9b5
Fix devcontainer build failure (#12837)
bertrand-awz Jul 9, 2025
5a4a6a5
Update .pre-commit-config.yaml to reflect current linting and formatt…
codedbyasim Jul 11, 2025
d1a9486
[pre-commit.ci] pre-commit autoupdate (#12781)
pre-commit-ci[bot] Jul 11, 2025
6e1a104
[pre-commit.ci] pre-commit autoupdate (#12846)
pre-commit-ci[bot] Jul 21, 2025
7a0fee4
[pre-commit.ci] pre-commit autoupdate (#12864)
pre-commit-ci[bot] Jul 29, 2025
d05f5d2
[pre-commit.ci] pre-commit autoupdate (#12880)
pre-commit-ci[bot] Aug 11, 2025
f662b63
Bump actions/checkout from 4 to 5 (#12891)
dependabot[bot] Aug 12, 2025
beb3cfd
[pre-commit.ci] pre-commit autoupdate (#12900)
pre-commit-ci[bot] Aug 19, 2025
e224532
Bump actions/upload-pages-artifact from 3 to 4 (#12922)
dependabot[bot] Aug 23, 2025
a8c5616
Simplify Capitalize Function (#12879)
Miladkhoshdel Aug 24, 2025
c2b9003
Fix code style in README.md (#12843)
chandrapola Aug 24, 2025
9ddb027
Adding doctest for md_prefix function in build_directory_md.py (#12874)
diya94 Aug 24, 2025
060fd8e
Fix reverse_bits.py: correct 32-bit reversal and improve docstrings (…
mr-conti Aug 24, 2025
d16cac6
feat: Add recursive implication function for lists (#12855)
ahmadharbi0x1337 Aug 24, 2025
37b34c2
perf(strings): optimize anagram signature using frequency counts (#12…
sowndappan5 Aug 24, 2025
d927d67
Update Linked List from sequence script to use doctests (#12766)
mindaugl Aug 24, 2025
561cc38
Fix RuntimeError in bipartite-check DFS/BFS and clean up doctests (#1…
mohiuddin-khan-shiam Aug 24, 2025
b0be304
Use deque as queue in breadth_first_search_shortest_path_2.py (#12861)
john-liu2 Aug 24, 2025
8c1c6c1
Codex/find and fix a bug (#12782)
alejandroaldas Aug 24, 2025
dc1b200
[pre-commit.ci] pre-commit autoupdate (#12930)
pre-commit-ci[bot] Aug 26, 2025
55db5a1
Add new solution for the euler project problem 9 (#12771)
mindaugl Aug 26, 2025
44cf167
Create cyclic_sort.py (#9256)
sharansukesh1003 Aug 26, 2025
4961b3a
Enhancement of the knapsack algorithm with memorization and generalis…
Jiang15 Aug 26, 2025
b486ac6
added coordinate_compression (#9317)
om-ashish-soni Aug 27, 2025
2fa65c7
Improve blockchain/README.md (#9630)
SYK-08 Aug 27, 2025
0c39e43
Algorithm to find unique prime factors (#9935)
Mary-0165 Aug 27, 2025
e6b5d26
Combination sum fix and test cases (#10193)
architmaheshwari99 Aug 27, 2025
84f101c
Add/generate parentheses iterative approach (#10024)
Pr0-C0der Aug 27, 2025
54aa73f
Fixes bugs in graphs/dijkstra_algorithm.py (#10092)
Kpraful Aug 27, 2025
4394fd9
Weierstrass Method (#12877)
aditya7balotra Aug 29, 2025
5c50572
Fixing stock_span_problem.py (#10540)
AasheeshLikePanner Aug 29, 2025
488f143
Performance: 25% faster Project Euler 73 #10503 (#11553)
RamanaMenda Aug 30, 2025
c5de395
Add new test for bucket sort algorithm in sorts/bucket_sort.py (#11605)
byteninjaa0 Aug 30, 2025
1e0d317
Specify space complexity for merge sort (#11749)
IAteNoodles Aug 30, 2025
b092045
Add unit tests to binary_tree_path_sum.py (#11833)
ronaldngounou Aug 30, 2025
501576f
Update README.md (#12345)
aniruddhaadak80 Aug 30, 2025
e3a263c
Adding a 3D plot to the k-means clustering algorithm (#12372)
lorenzo30salgado Aug 30, 2025
9d52683
Create stalin_sort.py (#11989)
anant-jain01 Aug 30, 2025
0876a87
[pre-commit.ci] pre-commit autoupdate (#12944)
pre-commit-ci[bot] Sep 1, 2025
544f48f
Fix is_palindrome_recursive logic in strings/palindrome.py (#12946)
hemaharshini-dev Sep 4, 2025
4ce1185
Bump actions/setup-python from 5 to 6 (#12952)
dependabot[bot] Sep 5, 2025
8f1a6b0
Adding the function is_proth_number (#12399)
Juanitoupipou Sep 7, 2025
18c853d
[pre-commit.ci] pre-commit autoupdate (#12961)
pre-commit-ci[bot] Sep 8, 2025
63180d7
pre-commit autoupdate 2025-09-11 (#12963)
cclauss Sep 12, 2025
0ee534e
[pre-commit.ci] pre-commit autoupdate (#12969)
pre-commit-ci[bot] Sep 15, 2025
4ec71a3
fix covid_stats_via_xpath.py (#12975)
lighting9999 Sep 18, 2025
e696e4d
[pre-commit.ci] pre-commit autoupdate (#12988)
pre-commit-ci[bot] Sep 23, 2025
8d1fb26
Added edit_distance test cases (#12984)
kathrynpete Sep 23, 2025
c0ad5bb
Add doctests for cross function. Contributes to #9943 (#12991)
Dylanskyep Sep 24, 2025
a71618f
[pre-commit.ci] pre-commit autoupdate (#13006)
pre-commit-ci[bot] Sep 29, 2025
7530a41
[pre-commit.ci] pre-commit autoupdate (#13286)
pre-commit-ci[bot] Oct 6, 2025
9372040
Test on Python 3.14 (#12710)
cclauss Oct 7, 2025
f0d5949
Bump astral-sh/setup-uv from 6 to 7 (#13335)
dependabot[bot] Oct 8, 2025
788d95b
added rotate_array.py (#13336)
jenyyy4 Oct 8, 2025
1562ae1
Add a README.md file to the scripts directory (#13480)
cclauss Oct 14, 2025
709c18e
Add t stochastic neighbour embedding using Iris dataset (#13476)
Khansa435 Oct 14, 2025
e731514
Fix typo and function call in maths module (#13515)
1drie5 Oct 15, 2025
9902c23
Delete requirements.txt because dependencies are in pyproject.toml (#…
cclauss Oct 15, 2025
85e6730
Test on 3.14 (#13473)
mattryanmtl Oct 15, 2025
3cea941
Fix a few typos (#13346)
Ombucha Oct 15, 2025
8edc478
Adding missing return type to pi_estimator function (#13427)
GitandTonic Oct 17, 2025
c79034c
Update logical issue in decision_tree.py (#13303)
HarshPathak310 Oct 17, 2025
3b08413
Add doctest for circular queue overflow condition (#13590)
Tejasrahane Oct 19, 2025
154cd3e
feat: optimizing the prune function at the apriori_algorithm.py archi…
joaoneto9 Oct 19, 2025
1b0bd16
Add doctest for add_vertex in GraphAdjacencyList. Contributes to #994…
michaelmccamy Oct 20, 2025
e2a78d4
Add test for non-integer input to factorial function (#13024)
mahiuddin-dev Oct 20, 2025
af17867
[pre-commit.ci] pre-commit autoupdate (#13860)
pre-commit-ci[bot] Nov 3, 2025
ae68a78
uv run --with=pytest-run-parallel --iterations=8 --parallel-threads=a…
cclauss Nov 6, 2025
a051ab5
Bump actions/checkout from 5 to 6 (#13937)
dependabot[bot] Nov 22, 2025
8934bab
[pre-commit.ci] pre-commit autoupdate (#13979)
pre-commit-ci[bot] Dec 1, 2025
2c15b8c
[Searches] Fix Binary Search bug with duplicate elements (#13946)
shuhao-alan-fan Dec 13, 2025
68f876a
Add narcissistic number finder with dynamic programming (#13971)
AliAlimohammadi Jan 4, 2026
3c88735
[pre-commit.ci] pre-commit autoupdate (#14078)
pre-commit-ci[bot] Jan 5, 2026
ca5b8c1
Add sliding window maximum using monotonic deque (#14133)
P09s Jan 21, 2026
8fa4161
docs: improve docstring clarity in reverse_words (#14212)
Tithi234 Jan 25, 2026
8106aea
Correct typo from 'two large' to 'too large' (#14135)
ParthPawar10 Jan 25, 2026
678dedb
[pre-commit.ci] pre-commit autoupdate (#14238)
pre-commit-ci[bot] Feb 2, 2026
ac05f12
feat: add Jarvis March (Gift Wrapping) convex hull algorithm (#14225)
AliAlimohammadi Mar 7, 2026
e333ddb
chore: Fix ruff build failures (#14347)
poyea Mar 7, 2026
f527d43
feat: add Graham Scan convex hull algorithm (#14251)
AliAlimohammadi Mar 7, 2026
8e70e2e
Add type hints and improve generate_parentheses_iterative (#14324)
zain-cs Mar 9, 2026
0324e60
style: add type hints to matrix_exponentiation.py (#14288)
umutKaracelebi Mar 9, 2026
81fcb90
Add type hints for bogo_sort.py (#14306)
Aarav-Arya Mar 9, 2026
84b59c8
Handle gcd(0, 0) edge case (#14215)
yaadhuu Mar 9, 2026
6f9f431
all "is" replaced with "==" (#14209)
Kalyani-Puranik Mar 9, 2026
049a34d
Refine docstring and simplify reverse_letters implementation (#14205)
Tithi234 Mar 9, 2026
f5c3e7c
Replace assert-based validation with explicit errors in modular_divis…
Anusha-DeviE Mar 9, 2026
1ae906a
Fix incorrect doctest references in fibonacci functions (#14200)
Shivanggaryaa Mar 9, 2026
da6b9e9
Use TypeError for non-string input in count_vowels (#14196)
yaadhuu Mar 9, 2026
71c7fc8
docs: upgrade mypy link to https (#14184)
JavedKhan93 Mar 9, 2026
6da02ab
Add doctests for duplicate and sorted inputs in bubble sort (#14154)
radhikaRM06 Mar 9, 2026
589d129
Fix return type description in bubble_sort.py (#14137)
ParthPawar10 Mar 9, 2026
7af5aba
Improve sorted input validation in binary search (#14074)
YASWANTH1976 Mar 9, 2026
9ea690e
Improve grammar in linear_search docstring (#14081)
YASWANTH1976 Mar 9, 2026
32a3d0d
Fix doctest bug in bubble_sort_recursive - incorrect function call (#…
MathewAddala Mar 9, 2026
af131b7
Remove duplicated return statement in area_reg_polygon (#14362)
jaimefgdev Mar 10, 2026
135c748
Fix doctests in factorial_recursive function (#13703)
Tejasrahane Mar 11, 2026
c34f23e
Add Extra edge cases (#12995)
VAIBHAVVARORA Mar 12, 2026
a2efba5
Add euler project problem 15 additional solution (#12774)
mindaugl Mar 12, 2026
7e4b60b
add some doctests to algos in backtracking (#11911)
mozart-maia Mar 13, 2026
68473af
Add latitude and longitude validation to lamberts_ellipsoidal_distanc…
galleazzijuniorsoftwareenginer Mar 13, 2026
2574004
Bump actions/deploy-pages from 4 to 5 (#14445)
dependabot[bot] Mar 25, 2026
841e947
Bump actions/configure-pages from 5 to 6 (#14470)
dependabot[bot] Mar 27, 2026
840ca00
[pre-commit.ci] pre-commit autoupdate (#14325)
pre-commit-ci[bot] Apr 2, 2026
754dac4
fix: remove dead code in hamming_code.py to resolve SIM113 (#14509)
max-klingner Apr 6, 2026
02680c9
[pre-commit.ci] pre-commit autoupdate (#14513)
pre-commit-ci[bot] Apr 6, 2026
f944b91
Add type hints to unknown_sort (#14489)
Aarav-Arya Apr 10, 2026
fc2f947
Fix empty input edge case and correct output formatting (#14444)
mahema-14 Apr 10, 2026
791deb4
Bump actions/upload-pages-artifact from 4 to 5 (#14551)
dependabot[bot] Apr 13, 2026
abf7168
feat: add Segment Intersection algorithm (#14416)
AliAlimohammadi May 18, 2026
144ef9c
Fix type hints in sorts/tim_sort.py, relates to #14457 (#14474)
ale-molinari May 18, 2026
33a8e0f
feat: add Ramer-Douglas-Peucker polyline simplification algorithm (#1…
AliAlimohammadi May 19, 2026
a9f2e72
Added Johnson's algorithm for all-pairs shortest paths (#13340)
sangampaudel530 May 20, 2026
456d644
[pre-commit.ci] pre-commit autoupdate (#14629)
pre-commit-ci[bot] May 22, 2026
6c04620
[pre-commit.ci] pre-commit autoupdate (#14747)
pre-commit-ci[bot] Jun 1, 2026
e3b01ec
Bump actions/checkout from 6 to 7 (#14820)
dependabot[bot] Jun 19, 2026
c0db072
[pre-commit.ci] pre-commit autoupdate (#14906)
pre-commit-ci[bot] Jul 6, 2026
25bcced
Bump actions/setup-python from 6 to 7 (#14965)
dependabot[bot] Jul 21, 2026
948d4cb
Improve docstrings in sorts/bubble_sort.py (#14924)
alisatwat3 Jul 31, 2026
758d487
Upgrade ruff in pre-commit (#14982)
hojen2 Jul 31, 2026
eea1bac
fix: raise ValueError in encode() for non-lowercase input (#14936)
alisatwat3 Jul 31, 2026
f5988cc
[pre-commit.ci] pre-commit autoupdate (#14993)
pre-commit-ci[bot] Aug 3, 2026
acd4b34
fix: sub-interval midpoint formula in ternary search (#15070)
Kanika0306 Aug 25, 2026
25a312d
Fix docstring copy-paste error in maths/sumset.py (#15052)
satyamkumar-builds Aug 25, 2026
70b9e2f
Clean up the audio_filters directory (#15087)
priya-sundaram-dev Aug 27, 2026
8e0817e
Clean up the networking_flow directory (#15098)
priya-sundaram-dev Aug 27, 2026
1813f7d
Clean up the fractals directory (#15099)
priya-sundaram-dev Aug 28, 2026
74f8c78
Fix in_static_equilibrium for NumPy 2.x (2-D cross removed) (#15110)
priya-sundaram-dev Aug 28, 2026
02c6850
ci: single-source Python version via pyproject.toml + add uv-lock pre…
priya-sundaram-dev Aug 28, 2026
2b81877
ci: skip uv-lock on pre-commit.ci (no network there) (#15112)
priya-sundaram-dev Aug 28, 2026
f3f599a
Use typing.Self in automatic_differentiation (drop typing_extensions)…
priya-sundaram-dev Aug 28, 2026
659b468
ci: reduce pytest --ignore list in build.yml (re-enable local_weighte…
priya-sundaram-dev Aug 30, 2026
7fd91a5
Add suffix automaton (#15083)
Clear20-22 Aug 30, 2026
dde1e49
quantum: modernize QFT to Qiskit 2.x and re-enable its test (#15120)
priya-sundaram-dev Aug 30, 2026
63103f4
Add uv-pre-commit (#15109)
cclauss Aug 30, 2026
72d2eec
docs: add AGENTS.md with contribution rules for AI agents (#15121)
priya-sundaram-dev Aug 30, 2026
310bb4c
Add type hints to pancake_sort function (#14745)
changsheng0804-blip Aug 30, 2026
dd86a88
pyproject.toml: dependencies = [ "beautifulsoup4>=4.15" ] (#15125)
cclauss Aug 31, 2026
64646c5
docs: configure Sphinx directly and drop unmaintained sphinx-pyprojec…
priya-sundaram-dev Aug 31, 2026
df3a091
linear_algebra: make matrix_inversion doctest deterministic (#15130)
priya-sundaram-dev Aug 31, 2026
7421e02
CI: try free-threaded Python 3.14t (DRAFT — documenting failures) (#1…
priya-sundaram-dev Aug 31, 2026
9391f54
perf(project_euler): replace problem_092/sol1 with digit DP (~1500x s…
Ankur-Kataria Aug 31, 2026
974af0d
ci: slim apt-get lists to libhdf5-dev only and use --yes (#15157)
priya-sundaram-dev Sep 2, 2026
e6b789a
ci: drop the libhdf5-dev system package entirely (#15158)
priya-sundaram-dev Sep 2, 2026
93aa0cb
build: upgrade scikit-learn>=1.9.0 and scipy>=1.18.1 specifiers (pypr…
priya-sundaram-dev Sep 2, 2026
5503767
ci(devcontainer): Debian 13 Trixie + Python 3.14, Ruff settings, drop…
priya-sundaram-dev Sep 2, 2026
a7a9fc9
docs: add Hacktoberfest 2026 open-PR cleanup tracker (#15159)
priya-sundaram-dev Sep 2, 2026
ea0d2d7
Test changes made to GitHub Actions workflow devcontainer_ci.yml (#15…
cclauss Sep 2, 2026
dc7d5eb
docs(hacktober): record require_type_hints.sh run (15 PRs closed) (#1…
priya-sundaram-dev Sep 2, 2026
c1ad752
TLC for fuzzy_logic/: restore disabled demo dependency-free + add REA…
priya-sundaram-dev Sep 3, 2026
6e0a4d4
docs(skills): add executable code-review SKILL.md for reviewers (#15171)
priya-sundaram-dev Sep 3, 2026
a394b80
Update code review guidelines in SKILL.md (#15172)
cclauss Sep 3, 2026
73d04de
docs(hacktober): record close_pull_requests_with_require_tests.sh run…
priya-sundaram-dev Sep 3, 2026
1bd049c
scripts: de-duplicate and harden the close_pull_requests_with_*.sh ba…
cclauss Sep 3, 2026
7283543
fix(reddit): remove unreachable 429 check after raise_for_status() (#…
priya-sundaram-dev Sep 4, 2026
37794ed
docs: mark 14 descriptive-names PRs closed in hacktober prep tracker …
priya-sundaram-dev Sep 4, 2026
e8de220
docs: update hacktober prep tracker after close_pull_requests_with_fa…
priya-sundaram-dev Sep 4, 2026
3a4eb5b
docs: group all 770 open PRs by algorithm directory in hacktober_2026…
priya-sundaram-dev Sep 4, 2026
c82b724
feat: add kth next greater element script to /data_structures/stacks/…
StarsExpress Sep 4, 2026
818ecfa
Add pytest for heap_sort (#13231)
NavanithaSri Sep 4, 2026
9cac6fb
tests: parametrize sorts/ over a shared input battery (#15185)
priya-sundaram-dev Sep 4, 2026
c6c6835
ci: add informational ty type-check job (config-only replacement for …
priya-sundaram-dev Sep 4, 2026
5f80288
Codes for calculating values of elements in half wave rectifier. (#9…
SpritualCoder Sep 4, 2026
e1a42f0
Added codes for finding values of elements in full wave rectifier. (#…
SpritualCoder Sep 4, 2026
4e67184
maths/recursive_digit_sum.py (#12141)
sharath4444 Sep 4, 2026
d2f0490
docs(hacktober): mark the 10 resolved new-root-directory PRs (#15184 …
priya-sundaram-dev Sep 5, 2026
99b391d
fix: correct word_occurrence type hint and typo (#15194)
Miladkhoshdel Sep 5, 2026
bfa655e
deps: migrate from httpx to httpx2 (pydantic's maintained fork) (#15192)
priya-sundaram-dev Sep 5, 2026
23c147e
docs: fix outdated references in CONTRIBUTING.md (#15188)
yash1511-bogam Sep 5, 2026
38e0923
fix: validate Butterworth filter inputs (#14979)
rushijagani-dev Sep 5, 2026
17cbde1
add Elementary Cellular Automaton (Rule 30) implementation (Hacktober…
Craniace Sep 5, 2026
4e9b874
Add doctests to change_brightness (#13149)
adrian-cancio Sep 5, 2026
740551d
Add doctests for create_canvas, run, and __judge_point (#13146)
adrian-cancio Sep 5, 2026
68e01f1
CPU Scheduling Algorithms with user input with Gantt chart (#13896)
shashwat-126 Sep 5, 2026
27f92fb
docs(hacktober): check off 12 PRs resolved since #15189 (9 merged, 3 …
priya-sundaram-dev Sep 5, 2026
4d6f85f
docs: add SECURITY.md (#14663)
zichen0116 Sep 5, 2026
68e3541
maths: add Kaprekar number implementation (#14562)
Eraol Sep 5, 2026
dfc6e77
feat: add Kaprekar's Constant (6174) algorithm to special numbers (#1…
xingarr Sep 5, 2026
7691204
Added some Unit Tests to increase test code coverage (#13903)
TheRealHaui Sep 5, 2026
752431f
Add algorithm to count vowels and consonants in a string (#14038)
bhatiakashvi16 Sep 5, 2026
fff3acb
Add missing type hints to hill_climbing.py (#14260)
anandvenugopal-tech Sep 5, 2026
ced4c09
Update volume.py (#14291)
kvadrik Sep 5, 2026
a9ddc61
Update area.py (#14307)
kvadrik Sep 5, 2026
e5cca54
feat: Add Kelly Criterion and Sharpe Ratio financial algorithms (#14346)
realsamrat Sep 5, 2026
4c3ba66
fix(find_git_conflicts): actually label conflicting PRs and stop skip…
cclauss Sep 6, 2026
6563afd
fix: handle empty input in tim_sort (#14805)
pony-maggie Sep 6, 2026
7ccc339
docs(hacktober): reconcile PR tracker with live queue (84 resolved) (…
priya-sundaram-dev Sep 6, 2026
0c7ac7f
Add a table of contents to DIRECTORY.md (#15198)
priya-sundaram-dev Sep 6, 2026
481dd54
Fix example in bubble_sort_recursive docstring (#13688)
avyukth-fll Sep 6, 2026
13f7140
fix: handle empty input in jump_search (#14807)
pony-maggie Sep 6, 2026
f8084d9
fix: add doctest.testmod() to gnome_sort.py (#15023)
deepshekhardas Sep 6, 2026
f95c347
docs(hacktober): add open-issues tracker + triage recommendations (#1…
priya-sundaram-dev Sep 6, 2026
181175e
Add implementation of the multi-layer perceptron classifier from scra…
duuan Sep 6, 2026
d255f97
Added Maxwell's Equations (#13418)
Dibbu-cell Sep 6, 2026
9619ee1
Improve typing annotations, doctests, and docstrings in gray_code_seq…
JunaidIRF Sep 6, 2026
35b7074
Re-enable five disabled algorithms and the perceptron (#15208)
priya-sundaram-dev Sep 6, 2026
12ad81b
Fix matrix exponentiation type annotations (#15076)
Kanika0306 Sep 6, 2026
384b4fb
Skill: New pull request for TheAlgorithms/Python (#15212)
cclauss Sep 6, 2026
ece9b39
docs: remove dead Gitter links (#15213)
ssmurfgg04-gif Sep 6, 2026
ca133c7
docs(skill): recommend ruff --fix workflow for PRs failing ruff check…
priya-sundaram-dev Sep 7, 2026
30f321f
Remove xgboost demos and dependency (#15219)
priya-sundaram-dev Sep 7, 2026
6328322
perf: optimize ASCII lowercase conversion (#15203)
Miladkhoshdel Sep 7, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 0 additions & 4 deletions .coveragerc

This file was deleted.

7 changes: 7 additions & 0 deletions .devcontainer/Dockerfile
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
# https://github.com/microsoft/vscode-dev-containers/blob/main/containers/python-3/README.md
ARG VARIANT=3.13-bookworm
FROM mcr.microsoft.com/vscode/devcontainers/python:${VARIANT}
COPY requirements.txt /tmp/pip-tmp/
RUN python3 -m pip install --upgrade pip \
&& python3 -m pip install --no-cache-dir -r /tmp/pip-tmp/requirements.txt \
&& pipx install pre-commit ruff
42 changes: 42 additions & 0 deletions .devcontainer/README.md
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
# Development Container

This is **Devcontainer** configuration to provide a consistent development environment for all contributors.

## Features

- [x] Pre-configured **Python environment**
- [x] Automatic installation of **pre-commit hooks**
- [x] **Ruff** linter ready to check your code
- [x] **Oh My Zsh** with plugins:
- `zsh-autosuggestions`
- `zsh-syntax-highlighting`

## Usage

1. Install [**Docker** ](https://www.docker.com/get-started/) and [**Visual Studio Code**](https://code.visualstudio.com/)
2. Install the **Remote - Containers** extension in VS Code

- Do `CTRL+P`, paste this command and press `Enter`

```shell
ext install ms-vscode-remote.remote-containers
```
3. Open this repository in VS Code
4. When prompted, click **"Reopen in Container"**
5. Wait for the environment to build and initialize

After setup:

- `pre-commit` hooks are installed
- `ruff` and other tools are available
- The shell uses Zsh by default

## Tips

To manually run checks on all files:

```bash
pre-commit run --all-files
```

> For further information here's [Microsoft tutorial about devcontainers.](https://code.visualstudio.com/docs/devcontainers/tutorial)
57 changes: 57 additions & 0 deletions .devcontainer/devcontainer.json
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
{
"name": "Python 3",

// Use a prebuilt dev container image instead of building from a local
// Dockerfile. The repo migrated its dependencies to pyproject.toml, so the
// old Dockerfile's `COPY requirements.txt` step no longer had a file to copy
// and the image build failed. The upstream images already ship Python + a
// full toolchain, so pulling one is both faster and less to maintain.
//
// This repo tracks the latest-and-greatest CPython on the newest stable
// Debian. Images are published per CPython minor version on Debian 13
// "Trixie" (3.11-trixie ... 3.14-trixie); bump this to the newest available
// when a new stable CPython ships.
// NOTE: these images do not publish free-threaded (`t`) variants, so 3.14t
// cannot be selected via the tag alone -- but the repo's `.python-version`
// pins 3.14t, and `uv run`/`uv sync` in the container honor it, so uv gives
// contributors free-threaded 3.14t regardless of the base tag.
"image": "mcr.microsoft.com/devcontainers/python:latest",

// Install the tools post_install and CI expect (pre-commit + ruff), plus uv
// for the free-threaded workflow above, then run the existing setup script.
"postCreateCommand": "pipx install pre-commit ruff uv && zsh .devcontainer/post_install",

// Configure tool-specific properties.
"customizations": {
// Configure properties specific to VS Code.
"vscode": {
// Set *default* container specific settings.json values on container create.
"settings": {
"python.defaultInterpreterPath": "/usr/local/bin/python",
// Formatting/linting is handled by Ruff (matches pre-commit and CI).
"editor.formatOnSave": true,
"[python]": {
"editor.defaultFormatter": "charliermarsh.ruff",
"editor.codeActionsOnSave": {
"source.fixAll": "explicit",
"source.organizeImports": "explicit"
}
},
"terminal.integrated.defaultProfile.linux": "zsh"
},

// Add the IDs of extensions you want installed when the container is created.
"extensions": [
"ms-python.python",
"ms-python.vscode-pylance",
"charliermarsh.ruff"
]
}
},

// Use 'forwardPorts' to make a list of ports inside the container available locally.
// "forwardPorts": [],

// Comment out to connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
"remoteUser": "vscode"
}
29 changes: 29 additions & 0 deletions .devcontainer/post_install
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
#!/usr/bin/env bash

echo "Begin post-installation steps..."

set -e

echo "Installing pre-commit hooks..."
pre-commit install

echo "Installing Oh My Zsh plugins..."

# Install zsh-autosuggestions if not present
if [ ! -d "${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-autosuggestions" ]; then
echo "Cloning zsh-autosuggestions..."
git clone https://github.com/zsh-users/zsh-autosuggestions \
"${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-autosuggestions"
fi

# Install zsh-syntax-highlighting if not present
if [ ! -d "${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting" ]; then
echo "Cloning zsh-syntax-highlighting..."
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git \
"${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting"
fi

echo "Configuring plugins in ~/.zshrc..."
sed -i '/^plugins=/c\plugins=(git zsh-autosuggestions zsh-syntax-highlighting)' ~/.zshrc

echo "Post-installation steps completed successfully. Enjoy!"
1 change: 1 addition & 0 deletions .gitattributes
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
* text=auto
86 changes: 86 additions & 0 deletions .github/CODEOWNERS
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
# This is a comment.
# Each line is a file pattern followed by one or more owners.

# More details are here: https://help.github.com/articles/about-codeowners/

# The '*' pattern is global owners.

# Order is important. The last matching pattern has the most precedence.

/.* @cclauss

# /backtracking/

# /bit_manipulation/

# /blockchain/

# /boolean_algebra/

# /cellular_automata/

# /ciphers/

# /compression/

# /computer_vision/

# /conversions/

# /data_structures/

# /digital_image_processing/

# /divide_and_conquer/

# /dynamic_programming/

# /file_transfer/

# /fuzzy_logic/

# /genetic_algorithm/

# /geodesy/

# /graphics/

# /graphs/

# /greedy_method/

# /hashes/

# /images/

# /linear_algebra/

# /machine_learning/

# /maths/

# /matrix/

# /networking_flow/

# /neural_network/

# /other/

# /project_euler/

# /quantum/

# /scheduling/

# /scripts/

# /searches/

# /sorts/

# /strings/

# /traversals/

/web_programming/ @cclauss
54 changes: 54 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
name: Bug report
description: Create a bug report to help us address errors in the repository
labels: [bug]
body:
- type: markdown
attributes:
value: >
Before requesting please search [existing issues](https://github.com/TheAlgorithms/Python/labels/bug).
Usage questions such as "How do I...?" belong on the
[Discord](https://discord.gg/c7MnfGFGa6) and will be closed.

- type: input
attributes:
label: "Repository commit"
description: >
The commit hash for `TheAlgorithms/Python` repository. You can get this
by running the command `git rev-parse HEAD` locally.
placeholder: "a0b0f414ae134aa1772d33bb930e5a960f9979e8"
validations:
required: true

- type: input
attributes:
label: "Python version (python --version)"
placeholder: "Python 3.10.7"
validations:
required: true

- type: textarea
attributes:
label: "Dependencies version (pip freeze)"
description: >
This is the output of the command `pip freeze --all`. Note that the
actual output might be different as compared to the placeholder text.
placeholder: |
appnope==0.1.3
asttokens==2.0.8
backcall==0.2.0
...
validations:
required: true

- type: textarea
attributes:
label: "Expected behavior"
description: "Describe the behavior you expect. May include images or videos."
validations:
required: true

- type: textarea
attributes:
label: "Actual behavior"
validations:
required: true
5 changes: 5 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: Discord community
url: https://discord.gg/c7MnfGFGa6
about: Have any questions or need any help? Please contact us via Discord
19 changes: 19 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
name: Feature request
description: Suggest features, propose improvements, discuss new ideas.
labels: [enhancement]
body:
- type: markdown
attributes:
value: >
Before requesting please search [existing issues](https://github.com/TheAlgorithms/Python/labels/enhancement).
Do not create issues to implement new algorithms as these will be closed.
Usage questions such as "How do I...?" belong on the
[Discord](https://discord.gg/c7MnfGFGa6) and will be closed.

- type: textarea
attributes:
label: "Feature description"
description: >
This could include new topics or improving any existing implementations.
validations:
required: true
19 changes: 19 additions & 0 deletions .github/ISSUE_TEMPLATE/other.yml
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
name: Other
description: Use this for any other issues. PLEASE do not create blank issues
labels: ["awaiting triage"]
body:
- type: textarea
id: issuedescription
attributes:
label: What would you like to share?
description: Provide a clear and concise explanation of your issue.
validations:
required: true

- type: textarea
id: extrainfo
attributes:
label: Additional information
description: Is there anything else we should know about this issue?
validations:
required: false
8 changes: 8 additions & 0 deletions .github/dependabot.yml
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
# Keep GitHub Actions up to date with Dependabot...
# https://docs.github.com/en/code-security/dependabot/working-with-dependabot/keeping-your-actions-up-to-date-with-dependabot
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"
9 changes: 5 additions & 4 deletions .github/pull_request_template.md
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
### **Describe your change:**
### Describe your change:



* [ ] Add an algorithm?
* [ ] Fix a bug or typo in an existing algorithm?
* [ ] Add or change doctests? -- Note: Please avoid changing both code and tests in a single pull request.
* [ ] Documentation change?

### **Checklist:**
### Checklist:
* [ ] I have read [CONTRIBUTING.md](https://github.com/TheAlgorithms/Python/blob/master/CONTRIBUTING.md).
* [ ] This pull request is all my own work -- I have not plagiarized.
* [ ] I know that pull requests will not be merged if they fail the automated tests.
Expand All@@ -16,5 +17,5 @@
* [ ] All functions and variable names follow Python naming conventions.
* [ ] All function parameters and return values are annotated with Python [type hints](https://docs.python.org/3/library/typing.html).
* [ ] All functions have [doctests](https://docs.python.org/3/library/doctest.html) that pass the automated testing.
* [ ] All new algorithms have a URL in its comments that points to Wikipedia or other similar explanation.
* [ ] If this pull request resolves one or more open issues then the commit message contains `Fixes: #{$ISSUE_NO}`.
* [ ] All new algorithms include at least one URL that points to Wikipedia or another similar explanation.
* [ ] If this pull request resolves one or more open issues then the description above includes the issue number(s) with a [closing keyword](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue): "Fixes #ISSUE-NUMBER".
Loading