Skip to content

Commit

Permalink
Clean up code from decapodes and begin ground work for DiagrammaticEq…
Browse files Browse the repository at this point in the history
…uations.jl
  • Loading branch information
quffaro authored and mehalter committed Jan 18, 2024
1 parent 3395d01 commit 768c150
Show file tree
Hide file tree
Showing 76 changed files with 1,470 additions and 9,591 deletions.
22 changes: 22 additions & 0 deletions .buildkite/pipeline.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
env:
JULIA_VERSION: "1.9.3"

steps:

- label: ":hammer: Build Project"
command:
- "module load julia"
- "julia --project --color=yes -e 'using Pkg; Pkg.instantiate()'"
- "julia --project=docs/ --color=yes -e 'using Pkg; Pkg.instantiate()'"
- "julia --project=docs/ --color=yes -e 'using Pkg; Pkg.precompile()'"

- wait

- label: ":scroll: Build docs"
command:
- "srun --mem=8G --time=1:00:00 --output=log_%j.log jobscript.sh"
env:
JULIA_PROJECT: "docs/"

- wait

31 changes: 27 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,29 @@
# Files generated by invoking Julia with --code-coverage
*.jl.cov
*.jl.*.cov

# Files generated by invoking Julia with --track-allocation
*.jl.mem

# Files generated by benchmarktools
.benchmarkci
benchmark/*.json

# System-specific files and directories generated by the BinaryProvider and BinDeps packages
# They contain absolute paths specific to the host computer, and so should not be committed
deps/deps.jl
deps/build.log
deps/downloads/
deps/usr/
deps/src/

# File generated by Pkg, the package manager, based on a corresponding Project.toml
# It records a fixed state of all packages used by the project. As such, it should not be
# committed for packages, but should be committed for applications that require a static
# environment.
Manifest.toml

# Misc. System Files
.DS_Store
.ipynb_checkpoints
/Manifest.toml
/dev/
*.mem
.vscode
.ipynb_checkpoints
34 changes: 0 additions & 34 deletions Artifacts.toml

This file was deleted.

2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2021 AlgebraicJulia
Copyright (c) 2023 AlgebraicJulia

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
49 changes: 8 additions & 41 deletions Project.toml
Original file line number Diff line number Diff line change
@@ -1,52 +1,19 @@
name = "Decapodes"
uuid = "679ab3ea-c928-4fe6-8d59-fd451142d391"
name = "DiagrammaticEquations"
uuid = "6f00c28b-6bed-4403-80fa-30e0dc12f317"
license = "MIT"
authors = ["James Fairbanks", "Andrew Baas", "Evan Patterson", "Luke Morris", "George Rauta"]
version = "0.5.0"
version = "0.0.1"

[deps]
ACSets = "227ef7b5-1206-438b-ac65-934d6da304b8"
Artifacts = "56f22d72-fd6d-98f1-02f0-08ddc0907c33"
AlgebraicRewriting = "725a01d3-f174-5bbd-84e1-b9417bad95d9"
Catlab = "134e5e36-593f-5add-ad60-77f754baafbe"
CombinatorialSpaces = "b1c52339-7909-45ad-8b6a-6e388f7c67f2"
ComponentArrays = "b0b7db55-cfe3-40fc-9ded-d10e2dbeff66"
DataStructures = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8"
FileIO = "5789e2e9-d7fb-5bc7-8068-2c6fae9b9549"
GeometryBasics = "5c1252a2-5f33-56bf-86c9-59e7332b4326"
JLD2 = "033835bb-8acc-5ee8-8aae-3f567f8a3819"
JSON = "682c06a0-de6a-54ab-a142-c8b1cf79cde6"
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
MLStyle = "d8e11817-5142-5d16-987a-aa16d5891078"
OrdinaryDiffEq = "1dea7af3-3e70-54e6-95c3-0bf5283fa5ed"
PreallocationTools = "d236fae5-4411-538c-8e31-a6e3d9e00b46"
Requires = "ae029012-a4dd-5104-9daa-d747884805df"
Unicode = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5"

[compat]
ACSets = "0.2"
Artifacts = "1"
Catlab = "0.15, 0.16"
CombinatorialSpaces = "0.5, 0.6"
ComponentArrays = "0.15"
AlgebraicRewriting = "0.2"
Catlab = "0.15"
DataStructures = "0.18.13"
Distributions = "0.25"
FileIO = "1.16"
GeometryBasics = "0.4.2"
JLD2 = "0.4"
JSON = "0.21"
LinearAlgebra = "1.9"
MLStyle = "0.4.17"
OrdinaryDiffEq = "6.47"
PreallocationTools = "0.4"
Requires = "1.3"
Unicode = "1.9"
julia = "1.9"

[extras]
AlgebraicPetri = "4f99eebe-17bf-4e98-b6a1-2c4f205a959b"
Distributions = "31c24e10-a181-5473-b8eb-7969acd0382f"
GeometryBasics = "5c1252a2-5f33-56bf-86c9-59e7332b4326"
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"

[targets]
test = ["AlgebraicPetri", "Distributions", "Test", "Random", "GeometryBasics"]
julia = "1.6"
23 changes: 9 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,13 @@
# Decapodes.jl
# DiagrammaticEquations.jl

[![Stable Documentation](https://img.shields.io/badge/docs-stable-blue.svg)](https://AlgebraicJulia.github.io/Decapodes.jl/stable)
[![Development Documentation](https://img.shields.io/badge/docs-dev-blue.svg)](https://AlgebraicJulia.github.io/Decapodes.jl/dev)
[![Code Coverage](https://codecov.io/gh/AlgebraicJulia/Decapodes.jl/branch/main/graph/badge.svg)](https://codecov.io/gh/AlgebraicJulia/Decapodes.jl)
[![CI/CD](https://github.com/AlgebraicJulia/Decapodes.jl/actions/workflows/julia_ci.yml/badge.svg)](https://github.com/AlgebraicJulia/Decapodes.jl/actions/workflows/julia_ci.yml)
[![Stable Documentation](https://img.shields.io/badge/docs-stable-blue.svg)](https://AlgebraicJulia.github.io/DiagrammaticEquations.jl/stable)
[![Development Documentation](https://img.shields.io/badge/docs-dev-blue.svg)](https://AlgebraicJulia.github.io/DiagrammaticEquations.jl/dev)
[![Code Coverage](https://codecov.io/gh/AlgebraicJulia/DiagrammaticEquations.jl/branch/main/graph/badge.svg)](https://codecov.io/gh/AlgebraicJulia/DiagrammaticEquations.jl)
[![CI/CD](https://github.com/AlgebraicJulia/DiagrammaticEquations.jl/actions/workflows/julia_ci.yml/badge.svg)](https://github.com/AlgebraicJulia/DiagrammaticEquations.jl/actions/workflows/julia_ci.yml)

Decapodes are a graphical tool for the composition of physical systems.
Ultimately, this library will include tooling which takes advantage of the
formalization of physical theories described by DEC provided by
[CombinatorialSpaces.jl](https://algebraicjulia.github.io/CombinatorialSpaces.jl/dev/).
`DiagrammaticEquations.jl` is a Julia library implementing category theory to reason formally about diagrammatic representations of systems of algebraic and differential equations.

# NOTE
Currently DiagrammaticEquations.jl contains two submodules, `Deca` and `Learn` for supporting `Decapodes.jl` and `AlgebraicLearning.jl` functionality.

This library is currently under active development, and so is not yet at a
point where a constant API/behavior can be assumed. That being said, if this
project looks interesting/relevant please contact us and
[let us know](https://www.algebraicjulia.org/#contributing)!
## Relevant Work
* Patterson, E., Baas, A., Hosgood, T., & Fairbanks, J. (2022). A diagrammatic view of differential equations in physics. arXiv preprint arXiv:2204.01843.
11 changes: 11 additions & 0 deletions codecov.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
coverage:
precision: 2
status:
patch:
default:
target: 0%
threshold: 100%
project:
default:
target: 0%
threshold: 100%
2 changes: 2 additions & 0 deletions docs/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
build/
src/generated/
19 changes: 1 addition & 18 deletions docs/Project.toml
Original file line number Diff line number Diff line change
@@ -1,21 +1,4 @@
[deps]
AlgebraicPetri = "4f99eebe-17bf-4e98-b6a1-2c4f205a959b"
CairoMakie = "13f3f980-e62b-5c42-98c6-ff1f3baf88f0"
Catlab = "134e5e36-593f-5add-ad60-77f754baafbe"
CombinatorialSpaces = "b1c52339-7909-45ad-8b6a-6e388f7c67f2"
ComponentArrays = "b0b7db55-cfe3-40fc-9ded-d10e2dbeff66"
Decapodes = "679ab3ea-c928-4fe6-8d59-fd451142d391"
Distributions = "31c24e10-a181-5473-b8eb-7969acd0382f"
DiagrammaticEquations = "b66562e1-fa90-4e8b-9505-c909188fab76"
Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4"
DynamicalSystems = "61744808-ddfa-5f27-97ff-6e42cc95d634"
FileIO = "5789e2e9-d7fb-5bc7-8068-2c6fae9b9549"
GeometryBasics = "5c1252a2-5f33-56bf-86c9-59e7332b4326"
HTTP = "cd3eb016-35fb-5094-929b-558a96fad6f3"
Interpolations = "a98d9a8b-a2ab-59e6-89dd-64a1c18fca59"
JLD2 = "033835bb-8acc-5ee8-8aae-3f567f8a3819"
JSON = "682c06a0-de6a-54ab-a142-c8b1cf79cde6"
Literate = "98b081ad-f1c9-55d3-8b20-4c87d4299306"
MLStyle = "d8e11817-5142-5d16-987a-aa16d5891078"
OrdinaryDiffEq = "1dea7af3-3e70-54e6-95c3-0bf5283fa5ed"
PrettyTables = "08abe8d2-0d0c-5749-adfa-8a2ac140af0d"
StaticArrays = "90137ffa-7385-5640-81b9-e52037218182"
6 changes: 6 additions & 0 deletions docs/literate/literate_example.jl
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# # Code Example
#

using DiagrammaticEquations


94 changes: 42 additions & 52 deletions docs/make.jl
Original file line number Diff line number Diff line change
@@ -1,66 +1,56 @@
using Documenter
using Literate

@info "Loading Decapodes"
using Decapodes
using Catlab
using Catlab.WiringDiagrams
using AlgebraicPetri
using CairoMakie
const literate_dir = joinpath(@__DIR__, "literate")
const generated_dir = joinpath(@__DIR__, "src", "generated")

# Set Literate.jl config if not being compiled on recognized service.
config = Dict{String,String}()
if !(haskey(ENV, "GITHUB_ACTIONS") || haskey(ENV, "GITLAB_CI"))
config["nbviewer_root_url"] = "https://nbviewer.jupyter.org/github/AlgebraicJulia/Decapodes.jl/blob/gh-pages/dev"
config["repo_root_url"] = "https://github.com/AlgebraicJulia/Decapodes.jl/blob/main/docs"
end
@info "Loading DiagrammaticEquations"
using DiagrammaticEquations

const no_literate = "--no-literate" in ARGS
if !no_literate
@info "Building Literate.jl docs"

#const literate_dir = joinpath(@__DIR__, "..", "examples")
#const generated_dir = joinpath(@__DIR__, "src", "examples")
#
#for (root, dirs, files) in walkdir(literate_dir)
# out_dir = joinpath(generated_dir, relpath(root, literate_dir))
# for file in files
# f,l = splitext(file)
# if l == ".jl" && !startswith(f, "_")
# Literate.markdown(joinpath(root, file), out_dir;
# config=config, documenter=true, credit=false)
# Literate.notebook(joinpath(root, file), out_dir;
# execute=true, documenter=true, credit=false)
# end
# end
#end
# Set Literate.jl config if not being compiled on recognized service.
config = Dict{String,String}()
if !(haskey(ENV, "GITHUB_ACTIONS") || haskey(ENV, "GITLAB_CI"))
config["nbviewer_root_url"] = "https://nbviewer.jupyter.org/github/AlgebraicJulia/DiagrammaticEquations.jl/blob/gh-pages/dev"
config["repo_root_url"] = "https://github.com/AlgebraicJulia/DiagrammaticEquations.jl/blob/main/docs"
end

for (root, dirs, files) in walkdir(literate_dir)
out_dir = joinpath(generated_dir, relpath(root, literate_dir))
for file in files
f, l = splitext(file)
if l == ".jl" && !startswith(f, "_")
Literate.markdown(joinpath(root, file), out_dir;
config=config, documenter=true, credit=false)
Literate.notebook(joinpath(root, file), out_dir;
execute=true, documenter=true, credit=false)
end
end
end
end

@info "Building Documenter.jl docs"
makedocs(
modules = [Decapodes],
format = Documenter.HTML(
assets = ["assets/analytics.js"],
),
sitename = "Decapodes.jl",
doctest = false,
checkdocs = :none,
pages = Any[
"Decapodes.jl" => "index.md",
"Overview" => "overview.md",
"Equations" => "equations.md",
"ASCII Operators" => "ascii.md",
"Misc Features" => "bc_debug.md",
"Pipe Flow" => "poiseuille.md",
"Glacial Flow" => "ice_dynamics.md",
"Grigoriev Ice Cap" => "grigoriev.md",
"Budyko-Sellers-Halfar" => "budyko_sellers_halfar.md",
# "Examples" => Any[
# "examples/cfd_example.md"
# ],
"Library Reference" => "api.md"
modules=[DiagrammaticEquations],
format=Documenter.HTML(),
sitename="DE.jl",
doctest=false,
checkdocs=:none,
pages=Any[
"DiagrammaticEquations.jl"=>"index.md",
"Examples"=>Any[
"generated/literate_example.md",
],
"Library Reference"=>"api.md",
]
)

@info "Deploying docs"
deploydocs(
target = "build",
repo = "github.com/AlgebraicJulia/Decapodes.jl.git",
branch = "gh-pages",
devbranch = "main"
target="build",
repo="github.com/AlgebraicJulia/DiagrammaticEquations.jl.git",
branch="gh-pages"
)
Binary file removed docs/src/Icethickness_Grigoriev_ice_cap_2021.tif
Binary file not shown.
4 changes: 1 addition & 3 deletions docs/src/api.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
# Library Reference

## Decapodes
```@autodocs
Modules = [ Decapodes ]
Private = false
Modules = [DiagrammaticEquations, DiagrammaticEquations.Deca, DiagrammaticEquations.Learn]
```
27 changes: 0 additions & 27 deletions docs/src/ascii.md

This file was deleted.

Loading

0 comments on commit 768c150

Please sign in to comment.