diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 363db301..5eff7fc2 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -70,7 +70,7 @@ jobs: test: runs-on: ${{ matrix.os }} - continue-on-error: ${{ matrix.python-version == '3.13' }} + # continue-on-error: ${{ matrix.python-version == '3.13' }} strategy: matrix: # https://github.com/actions/runner-images @@ -81,6 +81,8 @@ jobs: python-version: '3.8' - os: macos-latest # aarch64 python-version: '3.9' + - os: windows-latest # SCS missing windows wheels for 3.13, https://github.com/bodono/scs-python/pull/117 + python-version: '3.13' steps: diff --git a/README.rst b/README.rst index 481c5d2a..2f173b25 100644 --- a/README.rst +++ b/README.rst @@ -35,6 +35,13 @@ The documentation of the library is at *News:* + Python 3.13 is partially supported. `One dependency is missing compiled wheels + `_: Pip installation via source distribution + (local compilation) should work on Mac out of the box and on Linux if you + have BLAS/LAPACK development libraries installed. Conda installation may work + on Windows too. Also, Numpy 2 is currently causing some issues with CVXPY on + Python 3.13, so we're temporarily restricting Numpy to < 2 on Python >= 3.13. + Since end of 2023 we're running daily `example strategies `_ using the `development (master) branch diff --git a/pyproject.toml b/pyproject.toml index 7e281724..e69deb09 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -24,9 +24,9 @@ maintainers = [{name = "Enzo Busseti", email = "enzo.busseti@gmail.com"}] # from some combination of dependency versions that break Cvxportfolio code. dependencies = ["pandas", - # July 2024, Numpy 2 causes issues with CVXPY's conic interface on Py 3.12 - "numpy; python_version<'3.12'", - "numpy<2.0.0; python_version>='3.12'", + # October 2024, Numpy 2 causes issues with CVXPY on Python 3.13 + "numpy; python_version<'3.13'", + "numpy<2.0.0; python_version>='3.13'", "matplotlib", "requests", "cvxpy", # "multiprocess", # robustifies usage w/ 3rd party modules, used if installed "scs" # it's hardcoded as fallback solver if numerical errors