Skip to content

Scope reduction in Diffeq v8 and ODiffeq v7 is not reflected in the code#184

Description

@lukaslcf

Describe the bug 馃悶

As stated in https://github.com/SciML/OrdinaryDiffEq.jl/blob/master/NEWS.md , the default ODE package no longer include all types of solvers. In other words, doing ode.RadauIIA5() would give following error:
AttributeError: Julia: UndefVarError: `RadauIIA5` not defined in `OrdinaryDiffEq`

Expected behavior

that ode.RadauIIA5() would work.

Minimal Reproducible Example 馃憞

from diffeqpy import ode
def f(u,p,t):
    return -u

u0 = 0.5
tspan = (0., 1.)
prob = ode.ODEProblem(f, u0, tspan)
sol = ode.solve(prob, ode.RadauIIA5())

Error & Stacktrace 鈿狅笍

  File "<redacted>/.julia/packages/PythonCall/5WGSP/src/JlWrap/any.jl", line 250, in __getattr__
    return self._jl_callmethod($(pyjl_methodnum(pyjlany_getattr)), k)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: Julia: UndefVarError: `RadauIIA5` not defined in `OrdinaryDiffEq`
Suggestion: check for spelling errors or missing imports.
Hint: a global variable of this name also exists in OrdinaryDiffEqFIRK.

Environment (please complete the following information):
Python: 3.12.13
diffeqpy: 2.6.0

Julia Version 1.12.2
Commit ca9b6662be4 (2025-11-20 16:25 UTC)
Build Info:
  Official https://julialang.org release
Platform Info:
  OS: Linux (x86_64-linux-gnu)
  CPU: 16 脳 Intel(R) Xeon(R) Gold 6134 CPU @ 3.20GHz
  WORD_SIZE: 64
  LLVM: libLLVM-18.1.7 (ORCJIT, skylake-avx512)
  GC: Built with stock GC
Threads: 1 default, 1 interactive, 1 GC (on 16 virtual cores)
Status `<redacted>/.pixi/envs/default/julia_env/Project.toml`
  [bcd4f6db] DelayDiffEq v6.2.0
  [459566f4] DiffEqCallbacks v4.19.2
  [0c46a032] DifferentialEquations v8.1.0
  [961ee093] ModelingToolkit v11.39.1
  [1dea7af3] OrdinaryDiffEq v7.7.0
  [50262376] OrdinaryDiffEqDefault v2.5.0
  [5960d6e9] OrdinaryDiffEqFIRK v2.8.0 <----- exist only because I use load_julia_package() to workaround the issue
  [6099a3de] PythonCall v0.9.35
  [789caeaf] StochasticDiffEq v7.1.4
  [c3572dad] Sundials v6.6.0
  [458c3c95] OpenSSL_jll v3.5.4+0

Additional context

if I manually load the corresponding package using load_julia_package(), then I can get it to work. Therefore, a fix could be to provide either instruction on how to load them or option to load them into the ode symbol in python.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions