From 690dc8ecef76634459d5f5e5233eb3b6306f5f47 Mon Sep 17 00:00:00 2001 From: rwedge Date: Wed, 12 Feb 2025 14:28:25 -0600 Subject: [PATCH 1/3] add support for python 3.13 --- .github/workflows/integration.yml | 6 +++--- .github/workflows/minimum.yml | 4 ++-- .github/workflows/readme.yml | 2 +- .github/workflows/unit.yml | 6 +++--- CONTRIBUTING.rst | 2 +- INSTALL.md | 2 +- pyproject.toml | 27 +++++++++++++++++---------- tox.ini | 2 +- 8 files changed, 29 insertions(+), 22 deletions(-) diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml index ff8ff47e..275c91d1 100644 --- a/.github/workflows/integration.yml +++ b/.github/workflows/integration.yml @@ -10,13 +10,13 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - python-version: ['3.8', '3.9', '3.10', '3.11', '3.12'] + python-version: ['3.8', '3.9', '3.10', '3.11', '3.12', '3.13'] os: [ubuntu-latest, windows-latest] include: - os: macos-latest python-version: '3.8' - os: macos-latest - python-version: '3.12' + python-version: '3.13' steps: - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} @@ -29,7 +29,7 @@ jobs: python -m pip install invoke .[test] - name: Run integration tests run: invoke integration - - if: matrix.os == 'ubuntu-latest' && matrix.python-version == 3.12 + - if: matrix.os == 'ubuntu-latest' && matrix.python-version == 3.13 name: Upload integration codecov report uses: codecov/codecov-action@v4 with: diff --git a/.github/workflows/minimum.yml b/.github/workflows/minimum.yml index 6a0a495c..9ed45d45 100644 --- a/.github/workflows/minimum.yml +++ b/.github/workflows/minimum.yml @@ -10,13 +10,13 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - python-version: ['3.8', '3.9', '3.10', '3.11', '3.12'] + python-version: ['3.8', '3.9', '3.10', '3.11', '3.12', '3.13'] os: [ubuntu-latest, windows-latest] include: - os: macos-13 python-version: '3.8' - os: macos-latest - python-version: '3.12' + python-version: '3.13' steps: - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} diff --git a/.github/workflows/readme.yml b/.github/workflows/readme.yml index eec52164..37f58e84 100644 --- a/.github/workflows/readme.yml +++ b/.github/workflows/readme.yml @@ -10,7 +10,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - python-version: ['3.8', '3.9', '3.10', '3.11', '3.12'] + python-version: ['3.8', '3.9', '3.10', '3.11', '3.12', '3.13'] os: [ubuntu-latest, macos-latest] # skip windows bc rundoc fails steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/unit.yml b/.github/workflows/unit.yml index 0c24b31c..0a3c2881 100644 --- a/.github/workflows/unit.yml +++ b/.github/workflows/unit.yml @@ -10,13 +10,13 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - python-version: ['3.8', '3.9', '3.10', '3.11', '3.12'] + python-version: ['3.8', '3.9', '3.10', '3.11', '3.12', '3.13'] os: [ubuntu-latest, windows-latest] include: - os: macos-latest python-version: '3.8' - os: macos-latest - python-version: '3.12' + python-version: '3.13' steps: - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} @@ -29,7 +29,7 @@ jobs: python -m pip install invoke .[test] - name: Run unit tests run: invoke unit - - if: matrix.os == 'ubuntu-latest' && matrix.python-version == 3.12 + - if: matrix.os == 'ubuntu-latest' && matrix.python-version == 3.13 name: Upload unit codecov report uses: codecov/codecov-action@v4 with: diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst index 3e99c3a6..23b9a5d8 100644 --- a/CONTRIBUTING.rst +++ b/CONTRIBUTING.rst @@ -120,7 +120,7 @@ Before you submit a pull request, check that it meets these guidelines: 4. If the pull request adds functionality, the docs should be updated. Put your new functionality into a function with a docstring, and add the feature to the list in README.rst. -5. The pull request should work for Python 3.8, 3.9, 3.10, 3.11 and 3.12. Check +5. The pull request should work for Python 3.8, 3.9, 3.10, 3.11, 3.12 and 3.13. Check https://github.com/sdv-dev/SDGym/actions and make sure that all the checks pass. diff --git a/INSTALL.md b/INSTALL.md index 36cbdf93..bafd9c07 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -2,7 +2,7 @@ ## Requirements -**SDGym** has been developed and tested on [Python 3.8, 3.9, 3.10, 3.11 and 3.12](https://www.python.org/downloads/) +**SDGym** has been developed and tested on [Python 3.8, 3.9, 3.10, 3.11, 3.12 and 3.13](https://www.python.org/downloads/) Also, although it is not strictly required, the usage of a [virtualenv]( https://virtualenv.pypa.io/en/latest/) is highly recommended in order to avoid diff --git a/pyproject.toml b/pyproject.toml index 359881b9..a8b34ef0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -13,12 +13,13 @@ classifiers = [ 'Programming Language :: Python :: 3.10', 'Programming Language :: Python :: 3.11', 'Programming Language :: Python :: 3.12', + 'Programming Language :: Python :: 3.13', 'Topic :: Scientific/Engineering :: Artificial Intelligence', ] keywords = ['machine learning', 'synthetic data generation', 'benchmark', 'generative models'] dynamic = ['version'] license = { text = 'BSL-1.1' } -requires-python = '>=3.8,<3.13' +requires-python = '>=3.8,<3.14' readme = 'README.md' dependencies = [ 'appdirs>=1.3', @@ -29,27 +30,32 @@ dependencies = [ 'humanfriendly>=8.2', "numpy>=1.21.6;python_version<'3.10'", "numpy>=1.23.3;python_version>='3.10' and python_version<'3.12'", - "numpy>=1.26.0;python_version>='3.12'", + "numpy>=1.26.0;python_version>='3.12' and python_version<'3.13'", + "numpy>=2.1.0;python_version>='3.13'", "pandas>=1.4.0;python_version<'3.11'", "pandas>=1.5.0;python_version>='3.11' and python_version<'3.12'", - "pandas>=2.1.1;python_version>='3.12'", + "pandas>=2.1.1;python_version>='3.12' and python_version<'3.13'", + "pandas>=2.2.3;python_version>='3.13'", 'psutil>=5.7', "scikit-learn>=1.0.2;python_version<'3.10'", "scikit-learn>=1.1.0;python_version>='3.10' and python_version<'3.11'", "scikit-learn>=1.1.3;python_version>='3.11' and python_version<'3.12'", - "scikit-learn>=1.3.1;python_version>='3.12'", + "scikit-learn>=1.3.1;python_version>='3.12' and python_version<'3.13'", + "scikit-learn>=1.5.2;python_version>='3.13'", "scipy>=1.7.3;python_version<'3.10'", "scipy>=1.9.2;python_version>='3.10' and python_version<'3.12'", - "scipy>=1.12.0;python_version>='3.12'", + "scipy>=1.12.0;python_version>='3.12' and python_version<'3.13'", + "scipy>=1.14.1;python_version>='3.13'", 'tabulate>=0.8.3,<0.9', "torch>=1.12.1;python_version<'3.10'", "torch>=2.0.0;python_version>='3.10' and python_version<'3.12'", - "torch>=2.2.0;python_version>='3.12'", + "torch>=2.2.0;python_version>='3.12' and python_version<'3.13'", + "torch>=2.6.0;python_version>='3.13'", 'tqdm>=4.66.3', 'XlsxWriter>=1.2.8', - 'rdt>=1.13.1', - 'sdmetrics>=0.17.0', - 'sdv>=1.17.2', + 'rdt>=1.14.0', + 'sdmetrics @ git+https://github.com/sdv-dev/SDMetrics@issue-645-support-py313', + 'sdv @ git+https://github.com/sdv-dev/SDV@issue-2270-python-313', ] [project.urls] @@ -67,7 +73,8 @@ dask = ['dask', 'distributed'] realtabformer = [ 'realtabformer>=0.2.2', "torch>=2.0.0;python_version>='3.8' and python_version<'3.12'", - "torch>=2.2.0;python_version>='3.12'", + "torch>=2.2.0;python_version>='3.12' and python_version<'3.13'", + "torch>=2.6.0;python_version>='3.13'", ] test = [ 'sdgym[realtabformer]', diff --git a/tox.ini b/tox.ini index f6a74dee..f97e51bb 100644 --- a/tox.ini +++ b/tox.ini @@ -1,5 +1,5 @@ [tox] -envlist = py38-lint, py3{8,9,10,11,12}-{integration,unit,minimum,readme} +envlist = py38-lint, py3{8,9,10,11,12,13}-{integration,unit,minimum,readme} [testenv] skipsdist = false From a80567b996ddfd93b22447172a00d0d107fd3a4e Mon Sep 17 00:00:00 2001 From: rwedge Date: Wed, 12 Feb 2025 16:59:37 -0600 Subject: [PATCH 2/3] bump minimum humanfriendly version --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index a8b34ef0..cab6bb49 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -27,7 +27,7 @@ dependencies = [ 'botocore>=1.31,<2', 'cloudpickle>=2.1.0', 'compress-pickle>=1.2.0', - 'humanfriendly>=8.2', + 'humanfriendly>=10.0', "numpy>=1.21.6;python_version<'3.10'", "numpy>=1.23.3;python_version>='3.10' and python_version<'3.12'", "numpy>=1.26.0;python_version>='3.12' and python_version<'3.13'", From 7e3f0563b67bbbb824fe08cc684e05107a901cfd Mon Sep 17 00:00:00 2001 From: rwedge Date: Thu, 27 Feb 2025 13:31:02 -0600 Subject: [PATCH 3/3] update sdmetrics and sdv reqs --- pyproject.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index cab6bb49..479df95e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -54,8 +54,8 @@ dependencies = [ 'tqdm>=4.66.3', 'XlsxWriter>=1.2.8', 'rdt>=1.14.0', - 'sdmetrics @ git+https://github.com/sdv-dev/SDMetrics@issue-645-support-py313', - 'sdv @ git+https://github.com/sdv-dev/SDV@issue-2270-python-313', + 'sdmetrics>=0.19.0', + 'sdv @ git+https://github.com/sdv-dev/SDV@main', ] [project.urls]