Skip to content

Commit

Permalink
Add py12 support
Browse files Browse the repository at this point in the history
  • Loading branch information
fealho committed Mar 27, 2024
1 parent 27675a7 commit dec486b
Show file tree
Hide file tree
Showing 11 changed files with 33 additions and 24 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/end_to_end.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
python-version: ['3.8', '3.9', '3.10', '3.11']
python-version: ['3.8', '3.9', '3.10', '3.11', '3.12']
os: [ubuntu-latest, macos-latest, windows-latest]
steps:
- uses: actions/checkout@v1
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/minimum.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
python-version: ['3.8', '3.9', '3.10', '3.11']
python-version: ['3.8', '3.9', '3.10', '3.11', '3.12']
os: [ubuntu-latest, macos-latest, windows-latest]
steps:
- uses: actions/checkout@v1
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/numerical.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
python-version: ['3.8', '3.9', '3.10', '3.11']
python-version: ['3.8', '3.9', '3.10', '3.11', '3.12']
os: [ubuntu-latest, macos-latest, windows-latest]
steps:
- uses: actions/checkout@v1
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/readme.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
python-version: ['3.8', '3.9', '3.10', '3.11']
python-version: ['3.8', '3.9', '3.10', '3.11', '3.12']
os: [ubuntu-latest, macos-latest]
steps:
- uses: actions/checkout@v1
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/tutorials.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.8', '3.9', '3.10', '3.11']
python-version: ['3.8', '3.9', '3.10', '3.11', '3.12']
steps:
- uses: actions/checkout@v1
- name: Set up Python ${{ matrix.python-version }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/unit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
python-version: ['3.8', '3.9', '3.10', '3.11']
python-version: ['3.8', '3.9', '3.10', '3.11', '3.12']
os: [ubuntu-latest, macos-latest, windows-latest]
steps:
- uses: actions/checkout@v1
Expand Down
17 changes: 11 additions & 6 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,22 +12,26 @@ classifiers = [
'Programming Language :: Python :: 3.9',
'Programming Language :: Python :: 3.10',
'Programming Language :: Python :: 3.11',
'Programming Language :: Python :: 3.12',
'Topic :: Scientific/Engineering :: Artificial Intelligence',
]
keywords = [ 'copulas' ]
dynamic = ["version"]
license = { text = 'BSL-1.1' }
requires-python = '>=3.8,<3.12'
requires-python = '>=3.8,<3.13'
readme = 'README.md'
dependencies = [
"numpy>=1.20.0,<2;python_version<'3.10'",
"numpy>=1.23.3,<2;python_version>='3.10'",
"numpy>=1.23.3,<2;python_version>='3.10' and python_version<'3.12'",
"numpy>=1.26.0,<2;python_version>='3.12'",
"pandas>=1.1.3;python_version<'3.10'",
"pandas>=1.3.4;python_version>='3.10' and python_version<'3.11'",
"pandas>=1.5.0;python_version>='3.11'",
'plotly>=5.10.0,<6',
"scipy>=1.5.4,<2;python_version<'3.10'",
"scipy>=1.9.2,<2;python_version>='3.10'",
"scipy>=1.9.2,<2;python_version>='3.10' and python_version<'3.12'",
"scipy>=1.12.0,<2;python_version>='3.12'",
'setuptools>=69',
]

[project.urls]
Expand All @@ -47,14 +51,14 @@ version = {attr = 'copulas.__version__'}
[project.optional-dependencies]
tutorials = [
'markupsafe<=2.0.1',
'scikit-learn>=0.24,<1.2',
'scikit-learn>=0.24,<1.5',
'jupyter>=1.0.0,<2',
]
test = [
'copulas[tutorials]',
'pytest>=6.2.5,<7',
'pytest-cov>=2.6.0,<3',
'pytest-rerunfailures>=9.0.0,<10',
'pytest-rerunfailures>=10.3,<15',
'rundoc>=0.4.3,<0.5',
'tomli>=2.0.0,<3',
]
Expand All @@ -65,7 +69,8 @@ dev = [
'pip>=9.0.1',
'build>=1.0.0,<2',
'bump-my-version>=0.18.3,<1',
'watchdog>=0.8.3,<0.11',
'watchdog>=1.0.1,<5',
'pyzmq>=25.1.2',

# docs
'm2r>=0.2.0,<0.3',
Expand Down
10 changes: 5 additions & 5 deletions tests/unit/bivariate/test_base.py
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ def test_save(self, json_mock, open_mock):
instance.save('test.json')

# Check
assert open_mock.called_once_with('test.json', 'w')
open_mock.assert_called_once_with('test.json', 'w')
assert json_mock.called
compare_nested_dicts(json_mock.call_args[0][0], expected_content)

Expand All @@ -99,10 +99,10 @@ def test_load_from_file(self, json_mock, open_mock):
instance = Bivariate.load('somefile.json')

# Check
assert open_mock.called_once_with('test.json', 'r')
instance.copula_type == CopulaTypes.FRANK
instance.tau == -0.33333333333333337
instance.theta == -3.305771759329249
open_mock.assert_called_once_with('somefile.json')
assert instance.copula_type == CopulaTypes.FRANK
assert instance.tau == -0.33333333333333337
assert instance.theta == -3.305771759329249

@mock.patch('copulas.bivariate.clayton.Clayton.partial_derivative')
def test_partial_derivative_scalar(self, derivative_mock):
Expand Down
12 changes: 8 additions & 4 deletions tests/unit/multivariate/test_gaussian.py
Original file line number Diff line number Diff line change
Expand Up @@ -392,11 +392,15 @@ def test_sample(self, normal_mock):
# Check
assert result.equals(expected_result)

assert normal_mock.called_once_with(
np.zeros(instance.correlation.shape[0]),
instance.correlation,
5
np.testing.assert_array_equal(
normal_mock.call_args[0][0],
np.zeros(instance.correlation.shape[0])
)
np.testing.assert_array_equal(
normal_mock.call_args[0][1],
instance.correlation
)
assert normal_mock.call_args[1] == {'size': 5}

def test_sample_random_state(self):
"""When random_state is set the samples are the same."""
Expand Down
2 changes: 1 addition & 1 deletion tox.ini
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[tox]
envlist = py39-lint, py3{8,9,10,11}-{readme,unit,end_to_end,numerical,minimum,tutorials}
envlist = py39-lint, py3{8,9,10,11,12}-{readme,unit,end_to_end,numerical,minimum,tutorials}

[testenv]
skipsdist = false
Expand Down
4 changes: 2 additions & 2 deletions tutorials/04_Syntehtic_Data_for_Machine_Learning.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,10 @@
"\n",
"warnings.filterwarnings('ignore')\n",
"\n",
"from sklearn.datasets import load_boston\n",
"from sklearn.datasets import load_diabetes\n",
"from sklearn.model_selection import train_test_split\n",
"\n",
"X, y = load_boston(return_X_y=True)\n",
"X, y = load_diabetes(return_X_y=True)\n",
"X_train, X_test, y_train, y_test = train_test_split(X, y)"
]
},
Expand Down

0 comments on commit dec486b

Please sign in to comment.