diff --git a/.github/workflows/register-pypi.yml b/.github/workflows/register-pypi.yml index 011afd2d..b39a5422 100644 --- a/.github/workflows/register-pypi.yml +++ b/.github/workflows/register-pypi.yml @@ -17,7 +17,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v7 with: - python-version: "3.10" + python-version: "3.11" - name: Install build run: >- python -m diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 338d00e8..c7d0e5c9 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -83,7 +83,7 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest, windows-latest, macos-latest] - pyversion: ['3', '3.10'] + pyversion: ['3', '3.11'] juliaexe: ["@JuliaPkg"] include: - os: ubuntu-latest diff --git a/CondaPkg.toml b/CondaPkg.toml index 555e81b3..c57cdc7b 100644 --- a/CondaPkg.toml +++ b/CondaPkg.toml @@ -10,7 +10,7 @@ version = "<=julia" [deps.python] build = "**cpython**" -version = ">=3.10,!=3.14.0,!=3.14.1,<4" +version = ">=3.11,!=3.14.0,!=3.14.1,<4" [dev.deps] matplotlib = "" diff --git a/README.md b/README.md index a3615e66..de141e65 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ Bringing [**Python®**](https://www.python.org/) and [**Julia**](https://juliala - Fast non-copying conversion of numeric arrays in either direction: modify Python arrays (e.g. `bytes`, `array.array`, `numpy.ndarray`) from Julia or Julia arrays from Python. - Helpful wrappers: interpret Python sequences, dictionaries, arrays, dataframes and IO streams as their Julia counterparts, and vice versa. - Beautiful stack-traces. -- Supports modern systems: tested on Windows, MacOS and Linux; 64-bit; Julia 1.10 upwards and Python 3.10 upwards. +- Supports modern systems: tested on Windows, MacOS and Linux; 64-bit; Julia 1.10 upwards and Python 3.11 upwards. ⭐ If you like this, a GitHub star would be lovely thank you. ⭐ diff --git a/docs/src/faq.md b/docs/src/faq.md index a31dff7b..5436fa17 100644 --- a/docs/src/faq.md +++ b/docs/src/faq.md @@ -112,7 +112,7 @@ np = pyimport("numpy") ## What versions of Python and Julia do you support? Each release of PythonCall and JuliaCall will support and require: -- Any currently supported version of Python, [see here](https://devguide.python.org/versions/). Currently 3.10+. +- Any currently supported version of Python, [see here](https://devguide.python.org/versions/). Currently 3.11+. - The current Julia LTS version and newer, [see here](https://julialang.org/downloads/#long_term_support_release). Currently 1.10+. Only the latest patch release within each minor version is supported. diff --git a/docs/src/index.md b/docs/src/index.md index dc73a496..774b8f36 100644 --- a/docs/src/index.md +++ b/docs/src/index.md @@ -7,4 +7,4 @@ Bringing [**Python®**](https://www.python.org/) and [**Julia**](https://juliala - Fast non-copying conversion of numeric arrays in either direction: modify Python arrays (e.g. `bytes`, `array.array`, `numpy.ndarray`) from Julia or Julia arrays from Python. - Helpful wrappers: interpret Python sequences, dictionaries, arrays, dataframes and IO streams as their Julia counterparts, and vice versa. - Beautiful stack-traces. -- Works anywhere: tested on Windows, MacOS and Linux; 64-bit; Julia 1.10 upwards and Python 3.10 upwards. +- Works anywhere: tested on Windows, MacOS and Linux; 64-bit; Julia 1.10 upwards and Python 3.11 upwards. diff --git a/pyproject.toml b/pyproject.toml index 81a08b58..1409065c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -12,7 +12,7 @@ classifiers = [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", ] -requires-python = ">=3.10, <4" +requires-python = ">=3.11, <4" dependencies = ["juliapkg >=0.1.26, <0.2"] [dependency-groups] diff --git a/src/C/context.jl b/src/C/context.jl index ea469ffd..11c72b32 100644 --- a/src/C/context.jl +++ b/src/C/context.jl @@ -278,16 +278,6 @@ function init_context() CTX.pyprogname_w = Base.cconvert(Cwstring, CTX.pyprogname) Py_SetProgramName(pointer(CTX.pyprogname_w)) - # Python 3.10 on Windows ignores program_name when resolving the executable. - if Sys.iswindows() && startswith(Base.unsafe_string(Py_GetVersion()), "3.10.") - ccall( - dlsym(CTX.lib_ptr, :_Py_SetProgramFullPath), - Cvoid, - (Ptr{Cwchar_t},), - pointer(CTX.pyprogname_w), - ) - end - # Start the interpreter and register exit hooks Py_InitializeEx(0) atexit() do @@ -323,8 +313,8 @@ function init_context() error("Cannot parse version from version string: $(repr(verstr))") end CTX.version = VersionNumber(vermatch.match) - v"3.10" ≤ CTX.version < v"4" || error( - "Only Python 3.10+ is supported, this is Python $(CTX.version) at $(CTX.exe_path===missing ? "unknown location" : CTX.exe_path).", + v"3.11" ≤ CTX.version < v"4" || error( + "Only Python 3.11+ is supported, this is Python $(CTX.version) at $(CTX.exe_path===missing ? "unknown location" : CTX.exe_path).", ) CTX.is_free_threaded = occursin("free-threading build", verstr)