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] diff --git a/src/python_connection.jl b/src/python_connection.jl index 4454bf9..e9bcc2a 100644 --- a/src/python_connection.jl +++ b/src/python_connection.jl @@ -20,13 +20,13 @@ 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) # 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