Skip to content

Commit cbdfaa1

Browse files
Support Python 3.14 (#505)
Co-authored-by: Plamen Valentinov Kolev <41479552+pvk-developer@users.noreply.github.com>
1 parent c4113cd commit cbdfaa1

9 files changed

Lines changed: 24 additions & 20 deletions

File tree

.github/workflows/end_to_end.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,13 @@ jobs:
1010
runs-on: ${{ matrix.os }}
1111
strategy:
1212
matrix:
13-
python-version: ['3.9', '3.10', '3.11', '3.12', '3.13']
13+
python-version: ['3.9', '3.10', '3.11', '3.12', '3.13', '3.14']
1414
os: [ubuntu-latest, windows-latest]
1515
include:
1616
- os: macos-latest
1717
python-version: '3.9'
1818
- os: macos-latest
19-
python-version: '3.13'
19+
python-version: '3.14'
2020
steps:
2121
- uses: actions/checkout@v4
2222
- name: Set up Python ${{ matrix.python-version }}
@@ -30,7 +30,7 @@ jobs:
3030
- name: Run end to end tests
3131
run: invoke end-to-end
3232

33-
- if: matrix.os == 'ubuntu-latest' && matrix.python-version == 3.13
33+
- if: matrix.os == 'ubuntu-latest' && matrix.python-version == 3.14
3434
name: Upload integration codecov report
3535
uses: codecov/codecov-action@v4
3636
with:

.github/workflows/minimum.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,13 @@ jobs:
1414
runs-on: ${{ matrix.os }}
1515
strategy:
1616
matrix:
17-
python-version: ['3.9', '3.10', '3.11', '3.12', '3.13']
17+
python-version: ['3.9', '3.10', '3.11', '3.12', '3.13', '3.14']
1818
os: [ubuntu-latest, windows-latest]
1919
include:
2020
- os: macos-latest
2121
python-version: '3.9'
2222
- os: macos-latest
23-
python-version: '3.13'
23+
python-version: '3.14'
2424
steps:
2525
- uses: actions/checkout@v4
2626
- name: Set up Python ${{ matrix.python-version }}

.github/workflows/numerical.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,13 @@ jobs:
1414
runs-on: ${{ matrix.os }}
1515
strategy:
1616
matrix:
17-
python-version: ['3.9', '3.10', '3.11', '3.12', '3.13']
17+
python-version: ['3.9', '3.10', '3.11', '3.12', '3.13', '3.14']
1818
os: [ubuntu-latest, windows-latest]
1919
include:
2020
- os: macos-latest
2121
python-version: '3.9'
2222
- os: macos-latest
23-
python-version: '3.13'
23+
python-version: '3.14'
2424
steps:
2525
- uses: actions/checkout@v4
2626
- name: Set up Python ${{ matrix.python-version }}

.github/workflows/readme.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
runs-on: ${{ matrix.os }}
1515
strategy:
1616
matrix:
17-
python-version: ['3.9', '3.10', '3.11', '3.12', '3.13']
17+
python-version: ['3.9', '3.10', '3.11', '3.12', '3.13', '3.14']
1818
os: [ubuntu-latest, macos-latest]
1919
steps:
2020
- uses: actions/checkout@v4

.github/workflows/tutorials.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
runs-on: ubuntu-latest
1515
strategy:
1616
matrix:
17-
python-version: ['3.9', '3.10', '3.11', '3.12', '3.13']
17+
python-version: ['3.9', '3.10', '3.11', '3.12', '3.13', '3.14']
1818
steps:
1919
- uses: actions/checkout@v4
2020
- name: Set up Python ${{ matrix.python-version }}

.github/workflows/unit.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,13 @@ jobs:
1414
runs-on: ${{ matrix.os }}
1515
strategy:
1616
matrix:
17-
python-version: ['3.9', '3.10', '3.11', '3.12', '3.13']
17+
python-version: ['3.9', '3.10', '3.11', '3.12', '3.13', '3.14']
1818
os: [ubuntu-latest, windows-latest]
1919
include:
2020
- os: macos-latest
2121
python-version: '3.9'
2222
- os: macos-latest
23-
python-version: '3.13'
23+
python-version: '3.14'
2424
steps:
2525
- uses: actions/checkout@v4
2626
- name: Set up Python ${{ matrix.python-version }}
@@ -34,7 +34,7 @@ jobs:
3434
- name: Run unit tests
3535
run: invoke unit
3636

37-
- if: matrix.os == 'ubuntu-latest' && matrix.python-version == 3.13
37+
- if: matrix.os == 'ubuntu-latest' && matrix.python-version == 3.14
3838
name: Upload unit codecov report
3939
uses: codecov/codecov-action@v4
4040
with:

INSTALL.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
## Requirements
44

55
**Copulas** has been developed and tested on
6-
[Python 3.9, 3.10, 3.11, 3.12 and 3.13](https://www.python.org/downloads/)
6+
[Python 3.9, 3.10, 3.11, 3.12, 3.13 and 3.14](https://www.python.org/downloads/)
77

88
Also, although it is not strictly required, the usage of a [virtualenv](
99
https://virtualenv.pypa.io/en/latest/) is highly recommended in order to avoid

pyproject.toml

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,28 +13,32 @@ classifiers = [
1313
'Programming Language :: Python :: 3.11',
1414
'Programming Language :: Python :: 3.12',
1515
'Programming Language :: Python :: 3.13',
16+
'Programming Language :: Python :: 3.14',
1617
'Topic :: Scientific/Engineering :: Artificial Intelligence',
1718
]
1819
keywords = [ 'copulas' ]
1920
dynamic = ["version"]
2021
license = { text = 'BSL-1.1' }
21-
requires-python = '>=3.9,<3.14'
22+
requires-python = '>=3.9,<3.15'
2223
readme = 'README.md'
2324
dependencies = [
2425
"numpy>=1.21.0;python_version<'3.10'",
2526
"numpy>=1.23.3;python_version>='3.10' and python_version<'3.12'",
2627
"numpy>=1.26.0;python_version>='3.12' and python_version<'3.13'",
27-
"numpy>=2.1.0;python_version>='3.13'",
28+
"numpy>=2.1.0;python_version>='3.13' and python_version<'3.14'",
29+
"numpy>=2.3.2;python_version>='3.14'",
2830
"pandas>=1.4.0;python_version<'3.11'",
2931
"pandas>=1.5.0;python_version>='3.11' and python_version<'3.12'",
3032
"pandas>=2.1.1;python_version>='3.12' and python_version<'3.13'",
31-
"pandas>=2.2.3;python_version>='3.13'",
33+
"pandas>=2.2.3;python_version>='3.13' and python_version<'3.14'",
34+
"pandas>=2.3.3;python_version>='3.14'",
3235
"plotly>=5.10.0;python_version<'3.13'",
3336
"plotly>=5.12.0;python_version>='3.13'",
3437
"scipy>=1.7.3;python_version<'3.10'",
3538
"scipy>=1.9.2;python_version>='3.10' and python_version<'3.12'",
3639
"scipy>=1.12.0;python_version>='3.12' and python_version<'3.13'",
37-
"scipy>=1.14.1;python_version>='3.13'",
40+
"scipy>=1.14.1;python_version>='3.13' and python_version<'3.14'",
41+
"scipy>=1.16.1;python_version>='3.14'",
3842
]
3943

4044
[project.urls]
@@ -176,7 +180,7 @@ preview = true
176180
line-length = 100
177181
indent-width = 4
178182
src = ["copulas"]
179-
target-version = "py312"
183+
target-version = "py314"
180184
exclude = [
181185
"docs",
182186
".git",
@@ -208,7 +212,6 @@ ignore = [
208212
# pydocstyle
209213
"D107", # Missing docstring in __init__
210214
"D417", # Missing argument descriptions in the docstring, this is a bug from pydocstyle: https://github.com/PyCQA/pydocstyle/issues/449
211-
"PD901",
212215
"PD101",
213216
]
214217

tests/unit/multivariate/test_tree.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import re
12
import sys
23
from unittest import TestCase
34
from unittest.mock import MagicMock, patch
@@ -497,7 +498,7 @@ def test_identify_eds_not_adjacent(self):
497498
# As they are not adjacent, we can asure calling _identify_eds_ing will raise a ValueError.
498499
assert not first.is_adjacent(second)
499500

500-
error_msg = r'too many values to unpack \(expected 2\)'
501+
error_msg = re.escape('too many values to unpack (expected 2')
501502
with pytest.raises(ValueError, match=error_msg):
502503
Edge._identify_eds_ing(first, second)
503504

0 commit comments

Comments
 (0)