Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Housekeeping #249

Open
wants to merge 19 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .JuliaFormatter.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
style = "blue"
33 changes: 20 additions & 13 deletions .github/workflows/Docs.yml
Original file line number Diff line number Diff line change
@@ -1,30 +1,37 @@
name: Docs
name: Documentation

on:
push:
branches:
- master
- master # update to match your development branch (master, main, dev, trunk, ...)
tags: '*'
pull_request:

jobs:
docs:
name: Documentation
build:
# These permissions are needed to:
# - Deploy the documentation: https://documenter.juliadocs.org/stable/man/hosting/#Permissions
# - Delete old caches: https://github.com/julia-actions/cache#usage
permissions:
actions: write
contents: write
pull-requests: read
statuses: write
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: julia-actions/setup-julia@v1
- uses: actions/checkout@v4
- uses: julia-actions/setup-julia@v2
with:
version: '1'
- name: Install dependencies, build and deploy
- uses: julia-actions/cache@v2
- name: Install dependencies
shell: julia --color=yes --project=docs {0}
run: |
using Pkg
Pkg.develop(PackageSpec(path=pwd()))
Pkg.instantiate()
include(joinpath(pwd(), "docs", "make.jl"))
- name: Build and deploy
run: julia --color=yes --project=docs docs/make.jl
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # For authentication with GitHub Actions token
DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }} # For authentication with SSH deploy key
GKSwstype: nul # turn off GR's interactive plotting for notebooks
JULIA_PKG_SERVER: ''
shell: julia --color=yes --project=docs/ {0}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }}
12 changes: 7 additions & 5 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,12 @@ jobs:
arch:
- x64
steps:
- uses: actions/checkout@v2
- uses: julia-actions/setup-julia@v1
- uses: actions/checkout@v4
- uses: julia-actions/setup-julia@v2
with:
version: ${{ matrix.version }}
arch: ${{ matrix.arch }}
- uses: actions/cache@v1
- uses: actions/cache@v4
env:
cache-name: cache-artifacts
with:
Expand All @@ -38,6 +38,8 @@ jobs:
- uses: julia-actions/julia-buildpkg@v1
- uses: julia-actions/julia-runtest@v1
- uses: julia-actions/julia-processcoverage@v1
- uses: codecov/codecov-action@v1
- uses: codecov/codecov-action@v5
with:
file: lcov.info
files: lcov.info
token: ${{ secrets.CODECOV_TOKEN }}
fail_ci_if_error: false
14 changes: 14 additions & 0 deletions NEWS.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,20 @@ between versions, and discuss new features.
If you find a breaking change this is not reported here, please either raise an issue or
make a PR to ammend this document.

## 0.9.0

This version is largely a tidying up job. It simplies much of the test suite, bumps the
required version to Julia LTS. It additionally drops the various ChainRules that were
implemented, in favour of assuming that users make use of a more powerful AD system than was
available when this package was originally written. For example, you may wish to make use of
Mooncake to differentiate code in this package.

### Breaking Changes

Removal of dependency on ChainRulesCore.jl, and associated rules. This means that this
package almost certainly no longer supports Zygote.jl, but achieves a great reduction in the
amount of testing which much be performed.

## 0.8.0

### Breaking Changes
Expand Down
25 changes: 14 additions & 11 deletions Project.toml
Original file line number Diff line number Diff line change
@@ -1,22 +1,25 @@
name = "Stheno"
uuid = "8188c328-b5d6-583d-959b-9690869a5511"
version = "0.8.2"
version = "0.9.0"

[deps]
AbstractGPs = "99985d1d-32ba-4be9-9821-2ec096f28918"
BlockArrays = "8e7c35d0-a365-5155-bbbb-fb81a777f24e"
ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4"
KernelFunctions = "ec8451be-7e33-11e9-00cf-bbf324bd1392"
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
MacroTools = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09"
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
Reexport = "189a3867-3050-52da-a836-e630ba90ab69"

[compat]
AbstractGPs = "0.4, 0.5"
BlockArrays = "0.15, 0.16"
ChainRulesCore = "1"
KernelFunctions = "0.9.6, 0.10"
MacroTools = "0.4, 0.5"
Reexport = "0.2, 1"
julia = "1.3"
AbstractGPs = "0.5"
BlockArrays = "1"
KernelFunctions = "0.10"
MacroTools = "0.5"
Test = "1"
julia = "1.10"

[extras]
KernelFunctions = "ec8451be-7e33-11e9-00cf-bbf324bd1392"
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"

[targets]
test = ["KernelFunctions", "Test"]
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -242,7 +242,7 @@ See the docs for more examples.

## Hyperparameter learning and inference

Fortunately, there is really no need for this package to explicitly provide support for hyperparameter optimisation as the functionality is already available elsewhere -- it's sufficient that it plays nicely with other standard packages in the ecosystem such as [Zygote.jl](https://github.com/FluxML/Zygote.jl/) (reverse-mode algorithmic differentiation), [Optim.jl](https://github.com/JuliaNLSolvers/Optim.jl) (non-linear optimisation), [AdvancedHMC.jl](https://github.com/TuringLang/AdvancedHMC.jl/) (Hamiltonian Monte Carlo / NUTS), [ParameterHandling.jl](https://github.com/invenia/ParameterHandling.jl/), [Soss.jl](https://github.com/cscherrer/Soss.jl/) / [Turing.jl](https://github.com/TuringLang/Turing.jl). For concrete examples of the use of each of these packages in conjunction with Stheno, see the `Getting Started` section of the [(dev) docs](https://juliagaussianprocesses.github.io/Stheno.jl/dev).
Fortunately, there is really no need for this package to explicitly provide support for hyperparameter optimisation as the functionality is already available elsewhere -- it's sufficient that it plays nicely with other standard packages in the ecosystem such as [Mooncake.jl](https://github.com/compintell/Mooncake.jl/) (reverse-mode algorithmic differentiation), [Optim.jl](https://github.com/JuliaNLSolvers/Optim.jl) (non-linear optimisation), [AdvancedHMC.jl](https://github.com/TuringLang/AdvancedHMC.jl/) (Hamiltonian Monte Carlo / NUTS), [ParameterHandling.jl](https://github.com/invenia/ParameterHandling.jl/), [Soss.jl](https://github.com/cscherrer/Soss.jl/) / [Turing.jl](https://github.com/TuringLang/Turing.jl). For concrete examples of the use of each of these packages in conjunction with Stheno, see the `Getting Started` section of the [(dev) docs](https://juliagaussianprocesses.github.io/Stheno.jl/dev).



Expand Down
6 changes: 3 additions & 3 deletions docs/Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@ Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"
Stheno = "8188c328-b5d6-583d-959b-9690869a5511"

[compat]
Documenter = "0.27"
julia = "1.6"
Stheno = "0.8"
Documenter = "1"
julia = "1.10"
Pkg = "1"
10 changes: 4 additions & 6 deletions docs/make.jl
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
using Pkg
Pkg.develop(path=joinpath(@__DIR__, ".."))
Pkg.develop(; path=joinpath(@__DIR__, ".."))

using Documenter
using Stheno
using Documenter, Stheno

### Process examples

Expand Down Expand Up @@ -48,6 +47,7 @@ dev_command = "Pkg.develop(PackageSpec(; path=relpath(\"$(pkgdir(Stheno))\", pwd

let script = "using Pkg; Pkg.activate(ARGS[1]); $dev_command Pkg.instantiate()"
for example in example_locations
@show example
if !success(`$(Base.julia_cmd()) -e $script $example`)
error(
"project environment of example ",
Expand Down Expand Up @@ -75,8 +75,6 @@ end
# Check that all examples were run successfully
isempty(processes) || success(processes) || error("some examples were not run successfully")



### Build documentation
DocMeta.setdocmeta!(
Stheno,
Expand All @@ -85,7 +83,7 @@ DocMeta.setdocmeta!(
recursive=true,
)

makedocs(
makedocs(;
modules=[Stheno],
format=Documenter.HTML(),
sitename="Stheno.jl",
Expand Down
3 changes: 2 additions & 1 deletion examples/getting_started/Project.toml
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
[deps]
AbstractGPs = "99985d1d-32ba-4be9-9821-2ec096f28918"
AdvancedHMC = "0bf59076-c3b1-5ca4-86bd-e02cd72cde3d"
DifferentiationInterface = "a0c0ee7d-e4b9-4e03-894e-1c5f64a51d63"
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
Literate = "98b081ad-f1c9-55d3-8b20-4c87d4299306"
Mooncake = "da2b9cff-9c12-43a0-ae48-6db2b0edb7d6"
Optim = "429524aa-4258-5aef-a3af-852621145aeb"
ParameterHandling = "2412ca09-6db7-441c-8e3a-88d5709968c5"
Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80"
Stheno = "8188c328-b5d6-583d-959b-9690869a5511"
Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f"
Loading
Loading