diff --git a/Project.toml b/Project.toml index f69d8c2..9ba8f49 100644 --- a/Project.toml +++ b/Project.toml @@ -4,7 +4,6 @@ version = "2.4.0" authors = ["Chris Rackauckas "] [deps] -Calculus = "49dc2e85-a5d0-5ad3-a950-438e2897f1b9" CommonSolve = "38540f10-b2f7-11e9-35d8-d573e4eb0ff2" Dierckx = "39dd38d3-220a-591b-8e3c-4c3a8c710a94" DiffEqBase = "2b5f629d-d688-5b77-993f-72d75c75574e" @@ -19,14 +18,13 @@ StatsAPI = "82ae8749-77ed-4fe6-ae5f-f523153014b0" [compat] BlackBoxOptim = "0.6" -Calculus = "0.5.2" CommonSolve = "0.2.6" DelayDiffEq = "5.63, 6" Dierckx = "0.5" DiffEqBase = "6.213, 7" Distributions = "0.25.87" -ExplicitImports = "1" ForwardDiff = "0.10.38" +LinearAlgebra = "1.10" Logging = "1" NLopt = "0.6, 1" Optim = "1" @@ -55,7 +53,6 @@ julia = "1.10" [extras] BlackBoxOptim = "a134a8b2-14d6-55f6-9291-3336d3ab0209" DelayDiffEq = "bcd4f6db-9728-5f36-b5f7-82caef46ccdb" -ExplicitImports = "7d51a73a-1435-4ff3-83d9-f097790105c7" ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" Logging = "56ddb016-857b-54e1-b83d-db4d58db5568" NLopt = "76087f3c-5699-56af-9a33-bf431cd00edd" @@ -76,4 +73,4 @@ Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f" [targets] -test = ["Test", "ExplicitImports", "BlackBoxOptim", "DelayDiffEq", "ForwardDiff", "Logging", "NLopt", "Optim", "Optimization", "OptimizationBBO", "OptimizationNLopt", "OptimizationOptimJL", "OrdinaryDiffEq", "Random", "SafeTestsets", "SciMLSensitivity", "SciMLTesting", "StochasticDiffEq", "SteadyStateDiffEq", "Sundials", "Zygote"] +test = ["Test", "BlackBoxOptim", "DelayDiffEq", "ForwardDiff", "Logging", "NLopt", "Optim", "Optimization", "OptimizationBBO", "OptimizationNLopt", "OptimizationOptimJL", "OrdinaryDiffEq", "Random", "SafeTestsets", "SciMLSensitivity", "SciMLTesting", "StochasticDiffEq", "SteadyStateDiffEq", "Sundials", "Zygote"] diff --git a/src/cost_functions.jl b/src/cost_functions.jl index e4dc359..3e076fe 100644 --- a/src/cost_functions.jl +++ b/src/cost_functions.jl @@ -33,14 +33,14 @@ struct L2Loss{T, D, U, W, G, B} <: DiffEqBase.DECostFunction du_buf::B end -function (f::L2Loss)(sol::DiffEqBase.AbstractNoTimeSolution) +function (f::L2Loss)(sol::SciMLBase.AbstractNoTimeSolution) data = f.data weight = f.data_weight diff_weight = f.differ_weight colloc_grad = f.colloc_grad dudt = f.dudt - if sol isa DiffEqBase.AbstractEnsembleSolution + if sol isa SciMLBase.AbstractEnsembleSolution failure = any(!SciMLBase.successful_retcode(s.retcode) for s in sol.u) else failure = !SciMLBase.successful_retcode(sol.retcode) @@ -73,7 +73,7 @@ function (f::L2Loss)(sol::SciMLBase.AbstractSciMLSolution) colloc_grad = f.colloc_grad dudt = f.dudt - if sol isa DiffEqBase.AbstractEnsembleSolution + if sol isa SciMLBase.AbstractEnsembleSolution failure = any(!SciMLBase.successful_retcode(s.retcode) for s in sol.u) else failure = !SciMLBase.successful_retcode(sol.retcode) @@ -172,7 +172,7 @@ function L2Loss( ) end -function (f::L2Loss)(sol::DiffEqBase.AbstractEnsembleSolution) +function (f::L2Loss)(sol::SciMLBase.AbstractEnsembleSolution) return mean(f.(sol.u)) end @@ -200,7 +200,7 @@ end function (f::LogLikeLoss)(sol::SciMLBase.AbstractSciMLSolution) distributions = f.data_distributions - if sol isa DiffEqBase.AbstractEnsembleSolution + if sol isa SciMLBase.AbstractEnsembleSolution failure = any(!SciMLBase.successful_retcode(s.retcode) for s in sol.u) else failure = !SciMLBase.successful_retcode(sol.retcode) @@ -248,7 +248,7 @@ function (f::LogLikeLoss)(sol::SciMLBase.AbstractSciMLSolution) return ll end -function (f::LogLikeLoss)(sol::DiffEqBase.AbstractEnsembleSolution) +function (f::LogLikeLoss)(sol::SciMLBase.AbstractEnsembleSolution) distributions = f.data_distributions failure = any(!SciMLBase.successful_retcode(s.retcode) for s in sol.u) failure && return Inf diff --git a/src/multiple_shooting_objective.jl b/src/multiple_shooting_objective.jl index 15f29d7..a76c25c 100644 --- a/src/multiple_shooting_objective.jl +++ b/src/multiple_shooting_objective.jl @@ -57,7 +57,7 @@ function multiple_shooting_objective( u = [uc for k in 1:K for uc in (k == K ? sol[k].u : sol[k].u[1:(end - 1)])] t = [tc for k in 1:K for tc in (k == K ? sol[k].t : sol[k].t[1:(end - 1)])] sol_loss = Merged_Solution(u, t, sol) - sol_new = DiffEqBase.build_solution( + sol_new = SciMLBase.build_solution( prob, alg, sol_loss.t, sol_loss.u, retcode = ReturnCode.Success ) diff --git a/test/explicit_imports.jl b/test/explicit_imports.jl deleted file mode 100644 index 0d76210..0000000 --- a/test/explicit_imports.jl +++ /dev/null @@ -1,8 +0,0 @@ -using ExplicitImports -using DiffEqParamEstim -using Test - -@testset "ExplicitImports" begin - @test check_no_implicit_imports(DiffEqParamEstim) === nothing - @test check_no_stale_explicit_imports(DiffEqParamEstim) === nothing -end diff --git a/test/qa/Project.toml b/test/qa/Project.toml index a428c5a..6e696e5 100644 --- a/test/qa/Project.toml +++ b/test/qa/Project.toml @@ -13,6 +13,6 @@ DiffEqParamEstim = {path = "../.."} Aqua = "0.8" JET = "0.9,0.10,0.11" SafeTestsets = "0.1, 1" -SciMLTesting = "1" +SciMLTesting = "1.7" Test = "1" julia = "1.10" diff --git a/test/qa/qa.jl b/test/qa/qa.jl index beb946c..8518d8d 100644 --- a/test/qa/qa.jl +++ b/test/qa/qa.jl @@ -1,13 +1,14 @@ -using DiffEqParamEstim, Aqua, JET, Test +using SciMLTesting, DiffEqParamEstim, JET, Test -@testset "Aqua" begin - # stale_deps and deps_compat disabled: genuine findings tracked in - # https://github.com/SciML/DiffEqParamEstim.jl/issues/306 - Aqua.test_all(DiffEqParamEstim; stale_deps = false, deps_compat = false) - @test_broken false # Aqua stale_deps: Calculus is a stale dep — tracked in https://github.com/SciML/DiffEqParamEstim.jl/issues/306 - @test_broken false # Aqua deps_compat: LinearAlgebra dep + Pkg extra missing compat entries — tracked in https://github.com/SciML/DiffEqParamEstim.jl/issues/306 -end - -@testset "JET" begin - JET.test_package(DiffEqParamEstim; target_defined_modules = true) -end +run_qa( + DiffEqParamEstim; + explicit_imports = true, + ei_kwargs = ( + # NoAD is owned by SciMLBase but not (yet) declared public there. + all_qualified_accesses_are_public = (; + ignore = ( + :NoAD, # SciMLBase + ), + ), + ), +)