Skip to content

Commit 582871b

Browse files
authored
Merge pull request freqtrade#11837 from freqtrade/feat/python_13
Add support for python 3.13
2 parents 8f13a5d + c6c2934 commit 582871b

File tree

6 files changed

+17
-7
lines changed

6 files changed

+17
-7
lines changed

.github/workflows/ci.yml

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ jobs:
2525
strategy:
2626
matrix:
2727
os: [ "ubuntu-22.04", "ubuntu-24.04" ]
28-
python-version: ["3.10", "3.11", "3.12"]
28+
python-version: ["3.10", "3.11", "3.12", "3.13"]
2929

3030
steps:
3131
- uses: actions/checkout@v4
@@ -103,6 +103,8 @@ jobs:
103103
python build_helpers/create_command_partials.py
104104
105105
- name: Check for repository changes
106+
# TODO: python 3.13 slightly changed the output of argparse.
107+
if: (matrix.python-version != '3.13')
106108
run: |
107109
if [ -n "$(git status --porcelain)" ]; then
108110
echo "Repository is dirty, changes detected:"
@@ -157,7 +159,10 @@ jobs:
157159
strategy:
158160
matrix:
159161
os: [ "macos-13", "macos-14", "macos-15" ]
160-
python-version: ["3.10", "3.11", "3.12"]
162+
python-version: ["3.10", "3.11", "3.12", "3.13"]
163+
exclude:
164+
- os: macos-13
165+
python-version: "3.13"
161166

162167
steps:
163168
- uses: actions/checkout@v4
@@ -285,7 +290,7 @@ jobs:
285290
strategy:
286291
matrix:
287292
os: [ windows-latest ]
288-
python-version: ["3.10", "3.11", "3.12"]
293+
python-version: ["3.10", "3.11", "3.12", "3.13"]
289294

290295
steps:
291296
- uses: actions/checkout@v4

docs/windows_installation.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ cd freqtrade
4242

4343
Install ta-lib according to the [ta-lib documentation](https://github.com/TA-Lib/ta-lib-python#windows).
4444

45-
As compiling from source on windows has heavy dependencies (requires a partial visual studio installation), Freqtrade provides these dependencies (in the binary wheel format) for the latest 3 Python versions (3.10, 3.11 and 3.12) and for 64bit Windows.
45+
As compiling from source on windows has heavy dependencies (requires a partial visual studio installation), Freqtrade provides these dependencies (in the binary wheel format) for the latest 3 Python versions (3.10, 3.11, 3.12 and 3.13) and for 64bit Windows.
4646
These Wheels are also used by CI running on windows, and are therefore tested together with freqtrade.
4747

4848
Other versions must be downloaded from the above link.

ft_client/pyproject.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ classifiers = [
2323
"Programming Language :: Python :: 3.10",
2424
"Programming Language :: Python :: 3.11",
2525
"Programming Language :: Python :: 3.12",
26+
"Programming Language :: Python :: 3.13",
2627
"Operating System :: MacOS",
2728
"Operating System :: Unix",
2829
"Topic :: Office/Business :: Financial :: Investment",

pyproject.toml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ classifiers = [
2222
"Programming Language :: Python :: 3.10",
2323
"Programming Language :: Python :: 3.11",
2424
"Programming Language :: Python :: 3.12",
25+
"Programming Language :: Python :: 3.13",
2526
"Operating System :: MacOS",
2627
"Operating System :: Unix",
2728
"Topic :: Office/Business :: Financial :: Investment",
@@ -40,7 +41,7 @@ dependencies = [
4041
"jsonschema",
4142
"numpy>2.0,<3.0",
4243
"pandas>=2.2.0,<3.0",
43-
"TA-Lib",
44+
"TA-Lib<0.6",
4445
"ft-pandas-ta",
4546
"technical",
4647
"tabulate",

setup.ps1

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,13 +150,16 @@ function Test-PythonExecutable {
150150
function Find-PythonExecutable {
151151
$PythonExecutables = @(
152152
"python",
153+
"python3.13",
153154
"python3.12",
154155
"python3.11",
155156
"python3.10",
156157
"python3",
158+
"C:\Users\$env:USERNAME\AppData\Local\Programs\Python\Python313\python.exe",
157159
"C:\Users\$env:USERNAME\AppData\Local\Programs\Python\Python312\python.exe",
158160
"C:\Users\$env:USERNAME\AppData\Local\Programs\Python\Python311\python.exe",
159161
"C:\Users\$env:USERNAME\AppData\Local\Programs\Python\Python310\python.exe",
162+
"C:\Python313\python.exe",
160163
"C:\Python312\python.exe",
161164
"C:\Python311\python.exe",
162165
"C:\Python310\python.exe"

setup.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ function check_installed_python() {
2525
exit 2
2626
fi
2727

28-
for v in 12 11 10
28+
for v in 13 12 11 10
2929
do
3030
PYTHON="python3.${v}"
3131
which $PYTHON
@@ -257,7 +257,7 @@ function install() {
257257
install_redhat
258258
else
259259
echo "This script does not support your OS."
260-
echo "If you have Python version 3.10 - 3.12, pip, virtualenv, ta-lib you can continue."
260+
echo "If you have Python version 3.10 - 3.13, pip, virtualenv, ta-lib you can continue."
261261
echo "Wait 10 seconds to continue the next install steps or use ctrl+c to interrupt this shell."
262262
sleep 10
263263
fi

0 commit comments

Comments
 (0)