diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b95e6ceb..f78cac3e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -18,7 +18,7 @@ jobs: fail-fast: false matrix: version: - - '~1.10.0-0' + - '1.10' - 'nightly' os: - ubuntu-latest @@ -82,7 +82,7 @@ jobs: - name: Setup julia uses: julia-actions/setup-julia@v1 with: - version: 1.9 + version: '1.10' arch: x64 - name: Build Docs diff --git a/Project.toml b/Project.toml index 4c58e07d..13a88d11 100644 --- a/Project.toml +++ b/Project.toml @@ -1,6 +1,6 @@ name = "DistributedFactorGraphs" uuid = "b5cc3c7e-6572-11e9-2517-99fb8daf2f04" -version = "0.23.5" +version = "0.23.6" [deps] Base64 = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" @@ -37,27 +37,39 @@ GraphPlot = "a2cc645c-3eea-5389-862e-a155d0052231" DFGPlots = "GraphPlot" [compat] +Aqua = "0.8" +Base64 = "1.10" CSV = "0.10" CodecZlib = "0.7" Colors = "0.10, 0.11, 0.12" +DataStructures = "0.18" +Dates = "1.10" Distributions = "0.23, 0.24, 0.25" DocStringExtensions = "0.8, 0.9" FileIO = "1" GraphPlot = "0.5.0" Graphs = "1.4" +InteractiveUtils = "1.10" JSON3 = "1" +LinearAlgebra = "1.10" ManifoldsBase = "0.14, 0.15" +Manifolds = "0.9" OrderedCollections = "1.4" Pkg = "1.4, 1.5" ProgressMeter = "1" -RecursiveArrayTools = "2" +RecursiveArrayTools = "2, 3" Reexport = "1" +SHA = "0.7, 1" +SparseArrays = "1.10" StaticArrays = "1" +Statistics = "1.10" StructTypes = "1" Tar = "1.9" +Test = "1.10" TensorCast = "0.3.3, 0.4" TimeZones = "1.3.1" -julia = "1.9" +UUIDs = "1.10" +julia = "1.10" [extras] Aqua = "4c88cf16-eb10-579e-8560-4a9242c79595" diff --git a/src/Common.jl b/src/Common.jl index 9345a304..8c0b6213 100644 --- a/src/Common.jl +++ b/src/Common.jl @@ -124,5 +124,16 @@ end ## Additional Downstream dispatches ## ================================= +""" + $SIGNATURES + +Default non-parametric graph solution. +""" function solveGraph! end + +""" + $SIGNATURES + +Standard parametric graph solution (Experimental). +""" function solveGraphParametric! end diff --git a/src/FileDFG/services/FileDFG.jl b/src/FileDFG/services/FileDFG.jl index 63cb6ae4..472d0827 100644 --- a/src/FileDFG/services/FileDFG.jl +++ b/src/FileDFG/services/FileDFG.jl @@ -91,6 +91,8 @@ loadDFG!(dfg, "/tmp/savedgraph.tar.gz") # Use the DFG as you do normally. ls(dfg) ``` + +See also: [`loadDFG`](@ref), [`saveDFG`](@ref) """ function loadDFG!( dfgLoadInto::AbstractDFG, @@ -218,6 +220,13 @@ function loadDFG!( return dfgLoadInto end +""" + $SIGNATURES + +Convenience graph loader into a default `LocalDFG`. + +See also: [`loadDFG!`](@ref), [`saveDFG`](@ref) +""" function loadDFG(file::AbstractString) # add if doesn't have .tar.gz extension @@ -238,7 +247,7 @@ function loadDFG(file::AbstractString) fgPacked = JSON3.read(jstr, GraphsDFGs.PackedGraphsDFG) dfg = GraphsDFGs.unpackDFGMetadata(fgPacked) - @debug "DFG.loadDFG! is deleting a temp folder created during unzip, $loaddir" + @debug "DFG.loadDFG is deleting a temp folder created during unzip, $loaddir" # cleanup temporary folder Base.rm(loaddir; recursive = true, force = true) diff --git a/src/services/AbstractDFG.jl b/src/services/AbstractDFG.jl index 03bf3e24..acae1069 100644 --- a/src/services/AbstractDFG.jl +++ b/src/services/AbstractDFG.jl @@ -1076,13 +1076,15 @@ function copyGraph!( overwriteDest::Bool = false, deepcopyNodes::Bool = false, verbose::Bool = false, + showprogress::Bool = verbose, ) # Split into variables and factors sourceVariables = map(vId -> getVariable(sourceDFG, vId), variableLabels) sourceFactors = map(fId -> getFactor(sourceDFG, fId), factorLabels) # Now we have to add all variables first, - @showprogress "copy variables" for variable in sourceVariables + @showprogress desc = "copy variables" enabled = showprogress for variable in + sourceVariables variableCopy = deepcopyNodes ? deepcopy(variable) : variable if !exists(destDFG, variable) addVariable!(destDFG, variableCopy) @@ -1093,7 +1095,7 @@ function copyGraph!( end end # And then all factors to the destDFG. - @showprogress "copy factors" for factor in sourceFactors + @showprogress desc = "copy factors" enabled = showprogress for factor in sourceFactors # Get the original factor variables (we need them to create it) sourceFactorVariableIds = collect(factor._variableOrderSymbols) # Find the labels and associated variables in our new subgraph diff --git a/src/services/CustomPrinting.jl b/src/services/CustomPrinting.jl index 5901b720..73340be9 100644 --- a/src/services/CustomPrinting.jl +++ b/src/services/CustomPrinting.jl @@ -143,7 +143,7 @@ function printFactor( for f in setdiff(fieldnames(fctt), skipfields) printstyled(ioc, f, ":"; color = :magenta) println(ioc) - show(ioc, getproperty(fct, f)) + show(ioc, typeof(getproperty(fct, f)).name.name) println(ioc) end else diff --git a/test/runtests.jl b/test/runtests.jl index 384c1acc..b98d8af3 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -148,9 +148,9 @@ end Aqua.test_ambiguities([DistributedFactorGraphs]) Aqua.test_unbound_args(DistributedFactorGraphs) Aqua.test_undefined_exports(DistributedFactorGraphs) - Aqua.test_piracy(DistributedFactorGraphs) + Aqua.test_piracies(DistributedFactorGraphs) Aqua.test_project_extras(DistributedFactorGraphs) Aqua.test_stale_deps(DistributedFactorGraphs; ignore = [:Colors]) Aqua.test_deps_compat(DistributedFactorGraphs) - Aqua.test_project_toml_formatting(DistributedFactorGraphs) + # Aqua.test_project_toml_formatting(DistributedFactorGraphs) # deprecated in Aqua.jl v0.8 end