Skip to content

Commit

Permalink
Upgrade to Legolas 0.5 (#97)
Browse files Browse the repository at this point in the history
* Project file

* update lighthouse eval

* update lightouse observation

* update lightouse class

* update lightouse labeled metrics

* update lightouse hardened metrics

* update lightouse tradeoff metrics

* formatting

* comment for evaluation

* comment for observation

* upgrade comments

* small changes based on huddle

* export and legolas

* Starting updating tests

* Use Legolas v0.5 records

* Prefer using term record to row

* Fix `_values_or_missing`

* Address MakieLayout deprecation

* Fix mistake where rho was replace with p

* Fix `test_evaluation_metrics_roundtrip`

* Use `IOBuffer` for `roundtrip_row`

* Documentation update

* Documentation changes

* Use modern Makie which deprecates MakieLayout

* updates documentation failures updating Row to V1

* format

* workflow

* run format

* un-mangle

* Update docs/Project.toml

* docstring format

* deprecation (with error)

* yasg demands return

Co-authored-by: Curtis Vogt <[email protected]>
Co-authored-by: Nader Bagherzadeh <[email protected]>
Co-authored-by: Dave Kleinschmidt <[email protected]>
  • Loading branch information
4 people authored Dec 9, 2022
1 parent a0bfb5b commit e829617
Show file tree
Hide file tree
Showing 22 changed files with 771 additions and 473 deletions.
37 changes: 37 additions & 0 deletions .github/workflows/format.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: YASG-enforcer
on:
push:
branches:
- 'main'
tags: '*'
pull_request:
types: [opened, synchronize, reopened, ready_for_review]
# note: keep in sync with `format/run.jl`
paths:
- 'src/**'
- 'test/**'
- '.github/workflows/format.yml'
- 'format/**'
jobs:
format-check:
name: YASG Enforcement (Julia ${{ matrix.julia-version }} - ${{ github.event_name }})
# Run on push's or non-draft PRs
if: (github.event_name == 'push') || (github.event.pull_request.draft == false)
runs-on: ubuntu-latest
strategy:
matrix:
julia-version: [1.8]
steps:
- uses: julia-actions/setup-julia@latest
with:
version: ${{ matrix.julia-version }}
- uses: actions/checkout@v1
- name: Instantiate `format` environment and format
run: |
julia --project=format -e 'using Pkg; Pkg.instantiate()'
julia --project=format 'format/run.jl'
- uses: reviewdog/action-suggester@v1
if: github.event_name == 'pull_request'
with:
tool_name: JuliaFormatter
fail_on_error: true
6 changes: 3 additions & 3 deletions Project.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name = "Lighthouse"
uuid = "ac2c24cd-07f0-4848-96b2-1b82c3ea0e59"
authors = ["Beacon Biosignals, Inc."]
version = "0.14.16"
version = "0.15.0"

[deps]
ArrowTypes = "31f734f8-188a-4ce0-8406-c8a06bd891cd"
Expand All @@ -23,8 +23,8 @@ Arrow = "2.3"
ArrowTypes = "1, 2"
CairoMakie = "0.7, 0.8"
DataFrames = "1.3"
Legolas = "0.3"
Makie = "0.16.5, 0.17, 0.18"
Legolas = "0.5"
Makie = "0.17.4, 0.18"
StatsBase = "0.33"
Tables = "1.7"
TensorBoardLogger = "0.1"
Expand Down
1 change: 0 additions & 1 deletion docs/Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,4 @@ Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4"
StableRNGs = "860ef19b-820b-49d6-a774-d7a799459cd3"

[compat]
CairoMakie = "0.7.4"
Documenter = "0.25"
4 changes: 2 additions & 2 deletions docs/make.jl
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ makedocs(; modules=[Lighthouse], sitename="Lighthouse",
"Plotting" => "plotting.md"],
# makes docs fail hard if there is any error building the examples,
# so we don't just miss a build failure!
strict = true)
strict=true)

deploydocs(repo="github.com/beacon-biosignals/Lighthouse.jl.git",
deploydocs(; repo="github.com/beacon-biosignals/Lighthouse.jl.git",
devbranch="main", push_preview=true)
18 changes: 9 additions & 9 deletions docs/src/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,23 +66,23 @@ accuracy
binary_statistics
cohens_kappa
calibration_curve
EvaluationRow
ObservationRow
EvaluationV1
ObservationV1
Lighthouse.evaluation_metrics
Lighthouse._evaluation_row_dict
Lighthouse.evaluation_metrics_row
Lighthouse.ClassRow
TradeoffMetricsRow
Lighthouse._evaluation_dict
Lighthouse.evaluation_metrics_record
Lighthouse.ClassV1
TradeoffMetricsV1
get_tradeoff_metrics
get_tradeoff_metrics_binary_multirater
HardenedMetricsRow
HardenedMetricsV1
get_hardened_metrics
get_hardened_metrics_multirater
get_hardened_metrics_multiclass
LabelMetricsRow
LabelMetricsV1
get_label_metrics_multirater
get_label_metrics_multirater_multiclass
Lighthouse._evaluation_row
Lighthouse._evaluation_record
Lighthouse._calculate_ea_kappas
Lighthouse._calculate_ira_kappas
Lighthouse._calculate_spearman_correlation
Expand Down
4 changes: 2 additions & 2 deletions docs/src/plotting.md
Original file line number Diff line number Diff line change
Expand Up @@ -274,8 +274,8 @@ data["optimal_threshold"] = missing
evaluation_metrics_plot(data)
```

Plots can also be generated directly from an `EvaluationRow`:
Plots can also be generated directly from an `EvaluationV1`:
```@example 1
data_row = EvaluationRow(data)
data_row = EvaluationV1(data)
evaluation_metrics_plot(data_row)
```
226 changes: 226 additions & 0 deletions format/Manifest.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,226 @@
# This file is machine-generated - editing it directly is not advised

julia_version = "1.8.3"
manifest_format = "2.0"
project_hash = "30b405be1c677184b7703a9bfb3d2100029ccad0"

[[deps.ArgTools]]
uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f"
version = "1.1.1"

[[deps.Artifacts]]
uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33"

[[deps.Base64]]
uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f"

[[deps.CSTParser]]
deps = ["Tokenize"]
git-tree-sha1 = "3ddd48d200eb8ddf9cb3e0189fc059fd49b97c1f"
uuid = "00ebfdb7-1f24-5e51-bd34-a7502290713f"
version = "3.3.6"

[[deps.CommonMark]]
deps = ["Crayons", "JSON", "URIs"]
git-tree-sha1 = "86cce6fd164c26bad346cc51ca736e692c9f553c"
uuid = "a80b9123-70ca-4bc0-993e-6e3bcb318db6"
version = "0.8.7"

[[deps.Compat]]
deps = ["Dates", "LinearAlgebra", "UUIDs"]
git-tree-sha1 = "00a2cccc7f098ff3b66806862d275ca3db9e6e5a"
uuid = "34da2185-b29b-5c13-b0c7-acf172513d20"
version = "4.5.0"

[[deps.CompilerSupportLibraries_jll]]
deps = ["Artifacts", "Libdl"]
uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae"
version = "0.5.2+0"

[[deps.Crayons]]
git-tree-sha1 = "249fe38abf76d48563e2f4556bebd215aa317e15"
uuid = "a8cc5b0e-0ffa-5ad4-8c14-923d3ee1735f"
version = "4.1.1"

[[deps.DataStructures]]
deps = ["Compat", "InteractiveUtils", "OrderedCollections"]
git-tree-sha1 = "d1fff3a548102f48987a52a2e0d114fa97d730f0"
uuid = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8"
version = "0.18.13"

[[deps.Dates]]
deps = ["Printf"]
uuid = "ade2ca70-3891-5945-98fb-dc099432e06a"

[[deps.Downloads]]
deps = ["ArgTools", "FileWatching", "LibCURL", "NetworkOptions"]
uuid = "f43a241f-c20a-4ad4-852c-f6b1247861c6"
version = "1.6.0"

[[deps.FileWatching]]
uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee"

[[deps.Glob]]
git-tree-sha1 = "4df9f7e06108728ebf00a0a11edee4b29a482bb2"
uuid = "c27321d9-0574-5035-807b-f59d2c89b15c"
version = "1.3.0"

[[deps.InteractiveUtils]]
deps = ["Markdown"]
uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240"

[[deps.JSON]]
deps = ["Dates", "Mmap", "Parsers", "Unicode"]
git-tree-sha1 = "3c837543ddb02250ef42f4738347454f95079d4e"
uuid = "682c06a0-de6a-54ab-a142-c8b1cf79cde6"
version = "0.21.3"

[[deps.JuliaFormatter]]
deps = ["CSTParser", "CommonMark", "DataStructures", "Glob", "Pkg", "Tokenize"]
git-tree-sha1 = "76ee67858b65133b2460b0eebf52e49950bb90a3"
uuid = "98e50ef6-434e-11e9-1051-2b60c6c9e899"
version = "1.0.16"

[[deps.LibCURL]]
deps = ["LibCURL_jll", "MozillaCACerts_jll"]
uuid = "b27032c2-a3e7-50c8-80cd-2d36dbcbfd21"
version = "0.6.3"

[[deps.LibCURL_jll]]
deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll", "Zlib_jll", "nghttp2_jll"]
uuid = "deac9b47-8bc7-5906-a0fe-35ac56dc84c0"
version = "7.84.0+0"

[[deps.LibGit2]]
deps = ["Base64", "NetworkOptions", "Printf", "SHA"]
uuid = "76f85450-5226-5b5a-8eaa-529ad045b433"

[[deps.LibSSH2_jll]]
deps = ["Artifacts", "Libdl", "MbedTLS_jll"]
uuid = "29816b5a-b9ab-546f-933c-edad1886dfa8"
version = "1.10.2+0"

[[deps.Libdl]]
uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb"

[[deps.LinearAlgebra]]
deps = ["Libdl", "libblastrampoline_jll"]
uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"

[[deps.Logging]]
uuid = "56ddb016-857b-54e1-b83d-db4d58db5568"

[[deps.Markdown]]
deps = ["Base64"]
uuid = "d6f4376e-aef5-505a-96c1-9c027394607a"

[[deps.MbedTLS_jll]]
deps = ["Artifacts", "Libdl"]
uuid = "c8ffd9c3-330d-5841-b78e-0817d7145fa1"
version = "2.28.0+0"

[[deps.Mmap]]
uuid = "a63ad114-7e13-5084-954f-fe012c677804"

[[deps.MozillaCACerts_jll]]
uuid = "14a3606d-f60d-562e-9121-12d972cd8159"
version = "2022.2.1"

[[deps.NetworkOptions]]
uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908"
version = "1.2.0"

[[deps.OpenBLAS_jll]]
deps = ["Artifacts", "CompilerSupportLibraries_jll", "Libdl"]
uuid = "4536629a-c528-5b80-bd46-f80d51c5b363"
version = "0.3.20+0"

[[deps.OrderedCollections]]
git-tree-sha1 = "85f8e6578bf1f9ee0d11e7bb1b1456435479d47c"
uuid = "bac558e1-5e72-5ebc-8fee-abe8a469f55d"
version = "1.4.1"

[[deps.Parsers]]
deps = ["Dates", "SnoopPrecompile"]
git-tree-sha1 = "b64719e8b4504983c7fca6cc9db3ebc8acc2a4d6"
uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0"
version = "2.5.1"

[[deps.Pkg]]
deps = ["Artifacts", "Dates", "Downloads", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "REPL", "Random", "SHA", "Serialization", "TOML", "Tar", "UUIDs", "p7zip_jll"]
uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"
version = "1.8.0"

[[deps.Printf]]
deps = ["Unicode"]
uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7"

[[deps.REPL]]
deps = ["InteractiveUtils", "Markdown", "Sockets", "Unicode"]
uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb"

[[deps.Random]]
deps = ["SHA", "Serialization"]
uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"

[[deps.SHA]]
uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce"
version = "0.7.0"

[[deps.Serialization]]
uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b"

[[deps.SnoopPrecompile]]
git-tree-sha1 = "f604441450a3c0569830946e5b33b78c928e1a85"
uuid = "66db9d55-30c0-4569-8b51-7e840670fc0c"
version = "1.0.1"

[[deps.Sockets]]
uuid = "6462fe0b-24de-5631-8697-dd941f90decc"

[[deps.TOML]]
deps = ["Dates"]
uuid = "fa267f1f-6049-4f14-aa54-33bafae1ed76"
version = "1.0.0"

[[deps.Tar]]
deps = ["ArgTools", "SHA"]
uuid = "a4e569a6-e804-4fa4-b0f3-eef7a1d5b13e"
version = "1.10.1"

[[deps.Tokenize]]
git-tree-sha1 = "2b3af135d85d7e70b863540160208fa612e736b9"
uuid = "0796e94c-ce3b-5d07-9a54-7f471281c624"
version = "0.5.24"

[[deps.URIs]]
git-tree-sha1 = "ac00576f90d8a259f2c9d823e91d1de3fd44d348"
uuid = "5c2747f8-b7ea-4ff2-ba2e-563bfd36b1d4"
version = "1.4.1"

[[deps.UUIDs]]
deps = ["Random", "SHA"]
uuid = "cf7118a7-6976-5b1a-9a39-7adc72f591a4"

[[deps.Unicode]]
uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5"

[[deps.Zlib_jll]]
deps = ["Libdl"]
uuid = "83775a58-1f1d-513f-b197-d71354ab007a"
version = "1.2.12+3"

[[deps.libblastrampoline_jll]]
deps = ["Artifacts", "Libdl", "OpenBLAS_jll"]
uuid = "8e850b90-86db-534c-a0d3-1478176c7d93"
version = "5.1.1+0"

[[deps.nghttp2_jll]]
deps = ["Artifacts", "Libdl"]
uuid = "8e850ede-7688-5339-a07c-302acd2aaf8d"
version = "1.48.0+0"

[[deps.p7zip_jll]]
deps = ["Artifacts", "Libdl"]
uuid = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0"
version = "17.4.0+0"
5 changes: 5 additions & 0 deletions format/Project.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
[deps]
JuliaFormatter = "98e50ef6-434e-11e9-1051-2b60c6c9e899"

[compat]
JuliaFormatter = "1"
14 changes: 14 additions & 0 deletions format/run.jl
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
using JuliaFormatter

function main()
perfect = format(joinpath(@__DIR__, ".."); style=YASStyle())
if perfect
@info "Linting complete - no files altered"
else
@info "Linting complete - files altered"
run(`git status`)
end
return nothing
end

main()
5 changes: 3 additions & 2 deletions src/LearnLogger.jl
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,9 @@ function log_plot!(logger::LearnLogger, field::AbstractString, plot, plot_data)
return plot
end

function log_line_series!(logger::LearnLogger, field::AbstractString, curves, labels=1:length(curves))
@warn "`log_line_series!` not implemented for `LearnLogger`" maxlog=1
function log_line_series!(logger::LearnLogger, field::AbstractString, curves,
labels=1:length(curves))
@warn "`log_line_series!` not implemented for `LearnLogger`" maxlog = 1
return nothing
end

Expand Down
Loading

2 comments on commit e829617

@kleinschmidt
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@JuliaRegistrator
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Registration pull request created: JuliaRegistries/General/73834

After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.

This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:

git tag -a v0.15.0 -m "<description of version>" e829617c5b30654a0c9765390e541e749b7aae33
git push origin v0.15.0

Please sign in to comment.