Skip to content

Add DelayDiffEq as a sublibrary#3140

Merged
ChrisRackauckas merged 4 commits intoSciML:masterfrom
ChrisRackauckas-Claude:add-dde-sublibrary
Mar 17, 2026
Merged

Add DelayDiffEq as a sublibrary#3140
ChrisRackauckas merged 4 commits intoSciML:masterfrom
ChrisRackauckas-Claude:add-dde-sublibrary

Conversation

@ChrisRackauckas-Claude
Copy link
Copy Markdown
Contributor

Summary

  • Integrates DelayDiffEq.jl as the OrdinaryDiffEqDDE sublibrary within the OrdinaryDiffEq.jl monorepo
  • MethodOfSteps and Discontinuity are now available directly through using OrdinaryDiffEq
  • Follows the same sublibrary pattern as all other algorithm packages (OrdinaryDiffEqTsit5, OrdinaryDiffEqRosenbrock, etc.)

Changes

  • New sublibrary: lib/OrdinaryDiffEqDDE/ with all source files from DelayDiffEq.jl, adapted module name, and removed @reexport using OrdinaryDiffEq (since it's now part of OrdinaryDiffEq itself)
  • Main package: Added OrdinaryDiffEqDDE to src/OrdinaryDiffEq.jl exports, Project.toml deps/sources/compat
  • CI: Added OrdinaryDiffEqDDE and OrdinaryDiffEqDDE_QA test groups
  • Tests: All 30+ test files updated with explicit solver algorithm imports (replacing the old @reexport using OrdinaryDiffEq pattern)
  • Downstream: Updated test/downstream/delaydiffeq.jl to use OrdinaryDiffEq directly instead of the external DelayDiffEq package

Test plan

  • OrdinaryDiffEqDDE module loads and precompiles successfully
  • DDE problems solve correctly via both using OrdinaryDiffEqDDE and using OrdinaryDiffEq
  • CI sublibrary tests pass (OrdinaryDiffEqDDE group)
  • CI QA tests pass (OrdinaryDiffEqDDE_QA group)
  • Downstream DDE test passes

🤖 Generated with Claude Code

@ChrisRackauckas ChrisRackauckas changed the title Add OrdinaryDiffEqDDE sublibrary (DelayDiffEq integration) Add DelayDiffEq as a sublibrary Mar 17, 2026
Integrate DelayDiffEq.jl as a sublibrary within the OrdinaryDiffEq.jl
monorepo at lib/DelayDiffEq/. The sublibrary is independent — OrdinaryDiffEq
does not depend on it. CI is handled automatically by SublibraryCI.yml
which detects affected sublibraries from changed files.

- Create lib/DelayDiffEq with source from DelayDiffEq.jl
- Adapt test/runtests.jl to the new ODEDIFFEQ_TEST_GROUP pattern (Core/QA)
- Include all original tests plus multi-algorithm integration test
- Preserve original DelayDiffEq LICENSE

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
ChrisRackauckas and others added 3 commits March 17, 2026 10:49
The for-loop assignments to base_group/test_group inside @time begin
were silently creating new locals on Julia 1.10 (LTS) due to soft
scope rules, causing sublibrary tests to never actually run. Extract
the detection logic into a function to avoid scope ambiguity.

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The original DelayDiffEq.jl re-exported SciMLBase (via OrdinaryDiffEq),
making DDEProblem, DDEFunction, solve, init, ReturnCode etc. available
through `using DelayDiffEq`. Tests rely on this.

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@ChrisRackauckas ChrisRackauckas merged commit 0f81d2e into SciML:master Mar 17, 2026
105 of 110 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants