Skip to content

Commit cadb7ca

Browse files
author
Christopher Doris
committed
Merge remote-tracking branch 'origin/main' into pr/MilesCranmer/547
2 parents 022f547 + e6791c5 commit cadb7ca

File tree

16 files changed

+48
-30
lines changed

16 files changed

+48
-30
lines changed

Project.toml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name = "PythonCall"
22
uuid = "6099a3de-0909-46bc-b1f4-468b9a2dfc0d"
33
authors = ["Christopher Doris <github.com/cjdoris>"]
4-
version = "0.9.23"
4+
version = "0.9.24"
55

66
[deps]
77
CondaPkg = "992eb4ea-22a4-4c89-a5bb-47a3300528ab"
@@ -10,7 +10,6 @@ Libdl = "8f399da3-3557-5675-b5ff-fb832c97cbdb"
1010
MacroTools = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09"
1111
Markdown = "d6f4376e-aef5-505a-96c1-9c027394607a"
1212
Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"
13-
REPL = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb"
1413
Requires = "ae029012-a4dd-5104-9daa-d747884805df"
1514
Serialization = "9e88b42a-f829-5b0c-bbe9-9e923198166b"
1615
Tables = "bd369af6-aec1-5ad0-b16a-f7cc5008161c"
@@ -24,7 +23,6 @@ Libdl = "1"
2423
MacroTools = "0.5"
2524
Markdown = "1"
2625
Pkg = "1"
27-
REPL = "1"
2826
Requires = "1"
2927
Serialization = "1"
3028
Tables = "1"

docs/src/releasenotes.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
# Release Notes
22

3-
## 0.9.24
3+
## Unreleased
44
* Added `PYTHON_JULIACALL_HEAP_SIZE_HINT` option to configure initial Julia heap size.
55

6+
## 0.9.24 (2025-01-22)
7+
* Bug fixes.
8+
69
## 0.9.23 (2024-08-22)
710
* Bug fixes.
811

pyproject.toml

Lines changed: 6 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,19 @@
11
[build-system]
2-
requires = ["setuptools>=42", "wheel"]
3-
build-backend = "setuptools.build_meta"
2+
requires = ["hatchling"]
3+
build-backend = "hatchling.build"
44

55
[project]
66
name = "juliacall"
7-
version = "0.9.23"
7+
version = "0.9.24"
88
description = "Julia and Python in seamless harmony"
99
readme = { file = "README.md", content-type = "text/markdown" }
1010
classifiers = [
1111
"Programming Language :: Python :: 3",
1212
"License :: OSI Approved :: MIT License",
13-
"Operating System :: OS Independent"
13+
"Operating System :: OS Independent",
1414
]
1515
requires-python = ">=3.8"
1616
dependencies = ["juliapkg ~=0.1.8"]
1717

18-
[tool.setuptools]
19-
zip-safe = false
20-
21-
[tool.setuptools.packages.find]
22-
where = ["pysrc"]
23-
include = ["juliacall"]
24-
25-
[tool.setuptools.package-data]
26-
"juliacall" = ["*.json", "*.jl"]
18+
[tool.hatch.build.targets.wheel]
19+
packages = ["pysrc/juliacall"]

pysrc/juliacall/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# This module gets modified by PythonCall when it is loaded, e.g. to include Core, Base
22
# and Main modules.
33

4-
__version__ = '0.9.23'
4+
__version__ = '0.9.24'
55

66
_newmodule = None
77

pysrc/juliacall/juliapkg-dev.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"packages": {
44
"PythonCall": {
55
"uuid": "6099a3de-0909-46bc-b1f4-468b9a2dfc0d",
6-
"version": "=0.9.23",
6+
"version": "=0.9.24",
77
"path": "../..",
88
"dev": true
99
}

pysrc/juliacall/juliapkg.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"packages": {
44
"PythonCall": {
55
"uuid": "6099a3de-0909-46bc-b1f4-468b9a2dfc0d",
6-
"version": "=0.9.23"
6+
"version": "=0.9.24"
77
}
88
}
99
}

pytest/test_all.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,10 @@ def test_issue_433():
9494
def test_julia_gc():
9595
from juliacall import Main as jl
9696

97+
if jl.seval('v"1.11.0-" <= VERSION < v"1.11.3"'):
98+
# Seems to be a Julia bug - hopefully fixed in 1.11.3
99+
pytest.skip("Test not yet supported on Julia 1.11+")
100+
97101
# We make a bunch of python objects with no reference to them,
98102
# then call GC to try to finalize them.
99103
# We want to make sure we don't segfault.

src/Convert/rules.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -346,7 +346,7 @@ for N = 0:16
346346
end
347347
# Tuple with N elements plus Vararg
348348
@eval function pyconvert_rule_iterable(
349-
::Type{Tuple{$(Ts...),Vararg{V}}},
349+
::Type{Tuple{$(Ts...),V,Vararg{V}}},
350350
xs::Py,
351351
) where {$(Ts...),V}
352352
xs = pytuple(xs)

src/Core/Core.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Defines the `Py` type and directly related functions.
55
"""
66
module Core
77

8-
const VERSION = v"0.9.23"
8+
const VERSION = v"0.9.24"
99
const ROOT_DIR = dirname(dirname(@__DIR__))
1010

1111
using ..PythonCall: PythonCall # needed for docstring cross-refs

src/JlWrap/any.jl

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,10 @@ function pyjlany_setattr(self, k_::Py, v_::Py)
2626
k = Symbol(pyjl_attr_py2jl(pyconvert(String, k_)))
2727
pydel!(k_)
2828
v = pyconvert(Any, v_)
29+
if self isa Module && !isdefined(self, k)
30+
# Fix for https://github.com/JuliaLang/julia/pull/54678
31+
Base.Core.eval(self, Expr(:global, k))
32+
end
2933
setproperty!(self, k, v)
3034
Py(nothing)
3135
end

0 commit comments

Comments
 (0)