Skip to content

Commit 9987ade

Browse files
authored
rafactor: make all import explicit (#189)
1 parent 4ccae50 commit 9987ade

File tree

6 files changed

+36
-17
lines changed

6 files changed

+36
-17
lines changed

Project.toml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ repo = "https://github.com/juliadynamics/CriticalTransitions.jl.git"
55
version = "0.6.0"
66

77
[deps]
8+
ConstructionBase = "187b0558-2788-49d3-abe0-74a17ed4e7c9"
89
DataStructures = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8"
910
DocStringExtensions = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae"
1011
DynamicalSystemsBase = "6e36e845-645a-534a-86f2-f5d4aa5a06b4"
@@ -21,6 +22,7 @@ Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
2122
Reexport = "189a3867-3050-52da-a836-e630ba90ab69"
2223
SciMLBase = "0bca4576-84f4-4d90-8ffe-ffa030f20462"
2324
SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
25+
StateSpaceSets = "40b095a5-5852-4c12-98c7-d43bf788e795"
2426
StaticArrays = "90137ffa-7385-5640-81b9-e52037218182"
2527
Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2"
2628
StochasticDiffEq = "789caeaf-c7a9-5a7d-9973-96adeb23e2a0"
@@ -29,7 +31,6 @@ StochasticDiffEq = "789caeaf-c7a9-5a7d-9973-96adeb23e2a0"
2931
Attractors = "f3fd9213-ca85-4dba-9dfd-7fc91308fec7"
3032
ChaosTools = "608a59af-f2a3-5ad4-90b4-758bdf3122a7"
3133
DelaunayTriangulation = "927a84f5-c5f4-47a5-9785-b46e178433df"
32-
StateSpaceSets = "40b095a5-5852-4c12-98c7-d43bf788e795"
3334

3435
[extensions]
3536
AttractorsExt = ["Attractors"]
@@ -39,6 +40,7 @@ DistMesh2D = ["DelaunayTriangulation"]
3940
[compat]
4041
Attractors = "1.23.3"
4142
ChaosTools = "3.3.1"
43+
ConstructionBase = "1.6.0"
4244
DataStructures = "0.18.20, 0.19"
4345
DelaunayTriangulation = "1.6"
4446
DocStringExtensions = "0.9.3"

src/CriticalTransitions.jl

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,7 @@ using DataStructures: CircularBuffer
99
using Random: Random
1010

1111
# Core
12-
using SciMLBase: EnsembleThreads, DiscreteCallback, remake, terminate!
13-
using StochasticDiffEq: StochasticDiffEq
12+
using SciMLBase: SciMLBase, EnsembleThreads, DiscreteCallback, remake, terminate!, isinplace
1413
using DynamicalSystemsBase:
1514
DynamicalSystemsBase,
1615
CoupledSDEs,
@@ -20,10 +19,13 @@ using DynamicalSystemsBase:
2019
set_state!,
2120
trajectory,
2221
jacobian,
23-
StateSpaceSet
22+
ContinuousTimeDynamicalSystem
23+
using ConstructionBase: ConstructionBase
24+
using StateSpaceSets: StateSpaceSets, dimension, StateSpaceSet
25+
using StochasticDiffEq: StochasticDiffEq
2426

2527
using Interpolations: linear_interpolation
26-
using Optimization
28+
using Optimization: Optimization
2729
using OptimizationOptimisers: Optimisers
2830
using LinearSolve: LinearProblem, KLUFactorization, solve
2931

src/largedeviations/geometric_min_action_method.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,8 +81,8 @@ function geometric_min_action_method(
8181
# next!(prog)
8282
# end
8383
else
84-
optf = OptimizationFunction((x, _) -> S(x), AD)
85-
prob = OptimizationProblem(optf, init, ())
84+
optf = SciMLBase.OptimizationFunction((x, _) -> S(x), AD)
85+
prob = SciMLBase.OptimizationProblem(optf, init, ())
8686

8787
function callback(state, loss_val)
8888
interpolate_path!(state.u, alpha, arc)

src/largedeviations/min_action_method.jl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
Minimizes an action functional to obtain a minimum action path (instanton) between an
55
initial state `x_i` and final state `x_f` in phase space.
66
7-
This algorithm uses the
7+
This algorithm uses the
88
[`Optimization.jl`](https://github.com/SciML/Optimization.jl) package to minimize the
99
specified action functional (either [`fw_action`](@ref) or [`om_action`](@ref))
1010
for the system `sys` over paths connecting `x_i` to `x_f` in time `T`.
@@ -74,8 +74,8 @@ function min_action_method(
7474
sys, fix_ends(x, init[:, 1], init[:, end]), times, functional; noise_strength
7575
)
7676

77-
optf = OptimizationFunction((x, _) -> S(x), ad_type)
78-
prob = OptimizationProblem(optf, init, ())
77+
optf = SciMLBase.OptimizationFunction((x, _) -> S(x), ad_type)
78+
prob = SciMLBase.OptimizationProblem(optf, init, ())
7979

8080
prog = Progress(maxiter; enabled=show_progress)
8181
function callback(state, loss_val)

src/trajectories/transition.jl

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,9 @@ function prepare_transition_problem(sys, x, radii, radius_directions, tmax)
5959
return prob, cb_ball
6060
end
6161

62-
remove_start(sol, idx) = SciMLBase.setproperties(sol; u=sol.u[idx:end], t=sol.t[idx:end])
62+
function remove_start(sol, idx)
63+
ConstructionBase.setproperties(sol; u=sol.u[idx:end], t=sol.t[idx:end])
64+
end
6365
function remove_start(sol, x_i, rad_i)
6466
idx = size(sol)[2]
6567
dist = norm(sol[:, idx] - x_i)
@@ -134,7 +136,7 @@ function transitions(
134136
return remake(prob; seed=rand(Random.MersenneTwister(seed + i + repeat), UInt32))
135137
end
136138

137-
ensemble = EnsembleProblem(prob; output_func=output_func, prob_func=prob_func)
139+
ensemble = SciMLBase.EnsembleProblem(prob; output_func=output_func, prob_func=prob_func)
138140
sim = solve(
139141
ensemble, solver(sys), EnsembleAlg; callback=cb_ball, trajectories=N, kwargs...
140142
)

test/code_quality.jl

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,26 @@ end
1919
@testset "ExplicitImports" begin
2020
using ExplicitImports
2121

22-
# @test check_no_implicit_imports(CriticalTransitions) == nothing
22+
@test check_no_implicit_imports(CriticalTransitions) == nothing
2323
@test check_all_explicit_imports_via_owners(CriticalTransitions) == nothing
24-
# @test check_all_explicit_imports_are_public(CriticalTransitions) == nothing
24+
@test check_all_explicit_imports_are_public(CriticalTransitions) == nothing
2525
@test check_no_stale_explicit_imports(CriticalTransitions) == nothing
26-
# @test check_all_qualified_accesses_via_owners(CriticalTransitions) == nothing
27-
# @test check_all_qualified_accesses_are_public(KeldyshContraction) == nothing
28-
# @test check_no_self_qualified_accesses(CriticalTransitions) == nothing
26+
@test check_all_qualified_accesses_via_owners(CriticalTransitions) == nothing
27+
@test isnothing(
28+
check_all_qualified_accesses_are_public(
29+
CriticalTransitions;
30+
skip=(Base => Base.Experimental, Base => Core),
31+
ignore=(
32+
:EnsembleAlgorithm,
33+
:Terminated,
34+
:covariance_matrix,
35+
:diffusion_matrix,
36+
:get_extension,
37+
:register_error_hint,
38+
),
39+
),
40+
)
41+
@test check_no_self_qualified_accesses(CriticalTransitions) == nothing
2942
end
3043

3144
if isempty(VERSION.prerelease)

0 commit comments

Comments
 (0)