Metaprogramming | String to Symbolics Num; eval(Meta.parse(. . .))

For completeness, a MWE that converts from Symbolics Num to SymPy Sym{PyCall.PyObject} and back to Symbolics Num:

# test_SymPy_to_Symbolics_v3.jl

# References 
# 1. https://github.com/jverzani/SymPyCore.jl/blob/main/src/lambdify.jl#L139

using Symbolics
using SymbolicUtils
using SymPy

using SymPyCore: exchange, _issymbol, _value, _makesymbol

global const T_smp = SymPy.Sym
global const T_smblc = SymbolicUtils.BasicSymbolic

function expr_Symbolics_to_SymPy_to_Symbolics(expr_num::Num)::Num

    expr_smblc_utls = Symbolics.unwrap(expr_num)

    @show typeof(expr_smblc_utls), expr_smblc_utls
    println("")

    SymPy.@syms θ, p, t, g, l, m
    expr_smp = exchange(T_smp, expr_smblc_utls)

    @show typeof(expr_smp), expr_smp
    println("")

    _issymbol(x::T_smblc) = SymbolicUtils.issym(x)
    _value(x::T_smblc) = x
    _makesymbol(::Type{<:T_smblc}, x::Symbol) = SymbolicUtils.Sym{Number}(x)

    expr_smblc_util = exchange(T_smblc, expr_smp)

    @show typeof(expr_smblc_util), expr_smblc_util
    println("")

    expr_smblc = Num(Symbolics.wrap(expr_smblc_util))

    return expr_smblc
end

function main()

    @variables θ, p, t, g, l, m

    expr_num = -l*(g*l*m*t*cos(θ) - l^2*m/t)/(g*t^2*sin(θ))

    @show typeof(expr_num), expr_num
    println("")

    expr_smblc = expr_Symbolics_to_SymPy_to_Symbolics(expr_num)

    @show typeof(expr_smblc), expr_smblc
    println("")
end

begin
    main()
end

returning

julia> include("test_SymPy_to_Symbolics_v3.jl")
(typeof(expr_num), expr_num) = (Num, (-((-(l^2)*m) / t + g*l*m*t*cos(θ))*l) / (g*(t^2)*sin(θ)))

(typeof(expr_smblc_utls), expr_smblc_utls) = (SymbolicUtils.BasicSymbolic{Real}, (-((-(l^2)*m) / t + g*l*m*t*cos(θ))*l) / (g*(t^2)*sin(θ)))

(typeof(expr_smp), expr_smp) = (Sym{PyCall.PyObject}, -l*(g*l*m*t*cos(θ) - l^2*m/t)/(g*t^2*sin(θ)))

(typeof(expr_smblc_util), expr_smblc_util) = (SymbolicUtils.BasicSymbolic{Number}, (-((-(l^2)*m) / t + g*l*m*t*cos(θ))*l) / (g*(t^2)*sin(θ)))

(typeof(expr_smblc), expr_smblc) = (Num, (-((-(l^2)*m) / t + g*l*m*t*cos(θ))*l) / (g*(t^2)*sin(θ)))