Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/register-pypi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion CondaPkg.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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 = ""
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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. ⭐

Expand Down
2 changes: 1 addition & 1 deletion docs/src/faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
2 changes: 1 addition & 1 deletion docs/src/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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]
Expand Down
14 changes: 2 additions & 12 deletions src/C/context.jl
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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)

Expand Down
Loading