From c0f895ef5df553e00ac1213b71cec7fd000d94e9 Mon Sep 17 00:00:00 2001 From: jverzani Date: Wed, 24 Apr 2024 16:56:55 -0400 Subject: [PATCH 1/3] collec set --- src/python_connection.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/python_connection.jl b/src/python_connection.jl index 4454bf9..dd986c1 100644 --- a/src/python_connection.jl +++ b/src/python_connection.jl @@ -26,7 +26,7 @@ function SymPyCore.:↑(::Type{PythonCall.Py}, x) pyisinstance(x, pybuiltins.dict) && return Dict(↑(k) => ↑(x[k]) for k ∈ x) # add more sympy containers in sympy.jl and here - pyisinstance(x, _FiniteSet_) && return Set(Sym.(x)) + pyisinstance(x, _FiniteSet_) && return Set(Sym.(collect(x))) pyisinstance(x, _MutableDenseMatrix_) && return _up_matrix(x) #map(↑, x.tolist()) # fallback From 776d63247a563a07c20dcf835da715b09d6cde0e Mon Sep 17 00:00:00 2001 From: jverzani Date: Wed, 24 Apr 2024 16:58:05 -0400 Subject: [PATCH 2/3] fix set --- Project.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Project.toml b/Project.toml index 5ea8466..9482abd 100644 --- a/Project.toml +++ b/Project.toml @@ -1,7 +1,7 @@ name = "SymPyPythonCall" uuid = "bc8888f7-b21e-4b7c-a06a-5d9c9496438c" authors = ["jverzani and contributors"] -version = "0.2.5" +version = "0.2.6" [deps] From 4bd67e634b97450f99ac2f5d2fb81bce924908fa Mon Sep 17 00:00:00 2001 From: jverzani Date: Wed, 24 Apr 2024 18:06:23 -0400 Subject: [PATCH 3/3] another collect --- src/python_connection.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/python_connection.jl b/src/python_connection.jl index dd986c1..e9bcc2a 100644 --- a/src/python_connection.jl +++ b/src/python_connection.jl @@ -20,7 +20,7 @@ SymPyCore.:↓(x::Set) = _sympy_.sympify(pyset(↓(sᵢ) for sᵢ ∈ x)) SymPyCore.:↑(::Type{<:AbstractString}, x) = Sym(Py(x)) function SymPyCore.:↑(::Type{PythonCall.Py}, x) # this lower level approach shouldn't allocate - pyisinstance(x, pybuiltins.set) && return Set(Sym.(x)) #Set(↑(xᵢ) for xᵢ ∈ x) + pyisinstance(x, pybuiltins.set) && return Set(Sym.(collect(x))) #Set(↑(xᵢ) for xᵢ ∈ x) pyisinstance(x, pybuiltins.tuple) && return Tuple(↑(xᵢ) for xᵢ ∈ x) pyisinstance(x, pybuiltins.list) && return [↑(xᵢ) for xᵢ ∈ x] pyisinstance(x, pybuiltins.dict) && return Dict(↑(k) => ↑(x[k]) for k ∈ x)