Skip to content

Commit 69f0f3c

Browse files
Merge pull request #31 from onnela-lab/jss-publication
Update metadata for publication in Journal of Statistical Software.
2 parents 3072973 + 5e53daf commit 69f0f3c

9 files changed

Lines changed: 59 additions & 14 deletions

File tree

.github/workflows/python.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ jobs:
5959
packages-dir: python/${{ matrix.module }}/dist
6060
repository-url: https://test.pypi.org/legacy/
6161
skip-existing: true
62+
verbose: true
6263
- name: Delete attestation file if present to pass twine check
6364
run: rm -f ${{ matrix.module }}/dist/*.attestation
6465
- name: Upload the package to pypi on `main` only
@@ -67,3 +68,4 @@ jobs:
6768
with:
6869
packages-dir: python/${{ matrix.module }}/dist
6970
skip-existing: true
71+
verbose: true

CITATION.cff

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,11 @@ preferred-citation:
1919
- family-names: Onnela
2020
given-names: Jukka-Pekka
2121
orcid: https://orcid.org/0000-0001-6613-8668
22-
doi: 10.48550/arXiv.2301.08836
23-
journal: arXiv
24-
start: "2301.08836"
22+
doi: 10.18637/jss.v112.i02
23+
journal: Journal of Statistical Software
24+
volume: 112
25+
issue: 2
26+
start: 1
27+
end: 31
2528
title: Scalable Gaussian Process Inference with Stan
26-
year: 2023
29+
year: 2025

R/DESCRIPTION

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Package: gptoolsStan
22
Title: Gaussian Processes on Graphs and Lattices in 'Stan'
3-
Version: 0.2.0
3+
Version: 1.0.0
44
Authors@R: c(
55
person("Till", "Hoffmann", , "thoffmann@hsph.harvard.edu", role = c("aut", "cre"),
66
comment = c(ORCID = "0000-0003-4403-0722")),
@@ -12,7 +12,7 @@ Description: Gaussian processes are flexible distributions to model functional d
1212
sparse approximation of the likelihood that is generally applicable and, second, an exact method
1313
for regularly spaced data modeled by stationary kernels using fast Fourier methods. Utility
1414
functions are provided to compile and fit 'Stan' models using the 'cmdstanr' interface.
15-
References: Hoffmann and Onnela (2022) <doi:10.48550/arXiv.2301.08836>.
15+
References: Hoffmann and Onnela (2025) <doi:10.18637/jss.v112.i02>.
1616
License: MIT + file LICENSE
1717
Encoding: UTF-8
1818
Language: en-US

R/cran-comments.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
# Submission of version 1.0.0.
2+
3+
The DOI in the CITATION is for a new JSS publication that will be registered after publication on CRAN.
4+
15
# Submission of version 0.2.0.
26

37
This submission adds functionality to specify different length scales in different dimensions for Gaussian processes on graphs.

R/inst/CITATION

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
bibentry(bibtype = "Article",
2+
title = "{gptools}: Scalable {G}aussian Process Inference with {Stan}",
3+
author = c(person(given = "Till",
4+
family = "Hoffmann",
5+
email = "thoffmann@hsph.harvard.edu"),
6+
person(given = "Jukka-Pekka",
7+
family = "Onnela",
8+
email = "onnela@hsph.harvard.edu")),
9+
journal = "Journal of Statistical Software",
10+
year = "2025",
11+
volume = "112",
12+
number = "2",
13+
pages = "1--31",
14+
doi = "10.18637/jss.v112.i02",
15+
header = "To cite gptoolsStan in publications use:"
16+
)
17+

R/vignettes/getting_started.Rmd

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ cmdstanr::install_cmdstan(version = "2.36.0")
2525

2626
`gptoolsStan` is a minimal package to publish Stan code for efficient Gaussian process inference. The package can be used with the [`cmdstanr`](https://mc-stan.org/cmdstanr/) interface for Stan in R. Unfortunately, [`Rstan`](https://mc-stan.org/rstan/) is not supported because it [does not provide an option to specify include paths](https://discourse.mc-stan.org/t/specifying-include-paths-in-rstan/32182/2). If you're already familiar with `cmdstanr`, dive in below. If not, have a look at the [getting started guide](https://mc-stan.org/cmdstanr/articles/cmdstanr.html) for the `cmdstanr` interface.
2727

28-
This vignette demonstrates the package by sampling from a simple Gaussian process using Fourier methods (see the accompanying publication ["Scalable Gaussian Process Inference with Stan"](https://arxiv.org/abs/2301.08836) for background on the approach). Here is the model definition in Stan.
28+
This vignette demonstrates the package by sampling from a simple Gaussian process using Fourier methods (see the accompanying publication ["Scalable Gaussian Process Inference with Stan"](https://doi.org/10.18637/jss.v112.i02) for background on the approach). Here is the model definition in Stan.
2929

3030
```{r, results='markup', comment='', echo=FALSE}
3131
cat(readLines("getting_started.stan"), sep = "\n")
@@ -49,7 +49,7 @@ As indicated in the `data` section of the Stan program, we need to define the nu
4949
n <- 100
5050
length_scale <- n / 10
5151
freq <- 1:(n %/% 2 + 1) - 1
52-
# See appendix B of https://arxiv.org/abs/2301.08836 for details on the expression.
52+
# See appendix B of https://doi.org/10.18637/jss.v112.i02 for details on the expression.
5353
cov_rfft <- exp(- 2 * (pi * freq * length_scale / n) ^ 2) + 1e-9
5454
```
5555

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Gaussian processes (GPs) are powerful distributions for modeling functional data
55
1. A sparse approximation of the likelihood. This approach includes nearest neighbor Gaussian processes but also supports more general dependence structures, e.g., for periodic kernels.
66
2. An exact likelihood evaluation for data on regularly spaced lattices using fast Fourier transforms.
77

8-
The implementation follows Stan’s design and exposes performant inference through a familiar interface. We provide interfaces in Python and R. See the accompanying publication [*Scalable Gaussian Process Inference with Stan*](https://doi.org/10.48550/arXiv.2301.08836) for details of the implementation. The comprehensive [documentation](http://gptools-stan.readthedocs.io/) includes many [examples](https://gptools-stan.readthedocs.io/docs/examples.html).
8+
The implementation follows Stan’s design and exposes performant inference through a familiar interface. We provide interfaces in Python and R. See the accompanying publication [*Scalable Gaussian Process Inference with Stan*](https://doi.org/10.18637/jss.v112.i02) for details of the implementation. The comprehensive [documentation](http://gptools-stan.readthedocs.io/) includes many [examples](https://gptools-stan.readthedocs.io/docs/examples.html).
99

1010
## Getting Started
1111

@@ -72,4 +72,4 @@ Contributions to the package are always welcome! The repository structure is as
7272

7373
## Replicating the Results
7474

75-
To replicate the results presented in the accompanying publication [*Scalable Gaussian Process Inference with Stan*](https://doi.org/10.48550/arXiv.2301.08836), please see the [dedicated repository of replication materials](https://github.com/onnela-lab/gptools-reproduction-material).
75+
To replicate the results presented in the accompanying publication [*Scalable Gaussian Process Inference with Stan*](https://doi.org/10.18637/jss.v112.i02), please see the [dedicated repository of replication materials](https://github.com/onnela-lab/gptools-reproduction-material).

index.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ Gaussian processes (GPs) are powerful distributions for modeling functional data
2626
1. A :ref:`sparse-approximation` of the likelihood. This approach includes nearest neighbor Gaussian processes but also supports more general dependence structures, e.g., for periodic kernels.
2727
2. An exact likelihood evaluation for data on regularly spaced lattices using fast :ref:`Fourier-methods`.
2828

29-
The implementation follows Stan's design and exposes performant inference through a familiar interface. We provide interfaces in Python and R. See the accompanying publication `Scalable Gaussian Process Inference with Stan <https://doi.org/10.48550/arXiv.2301.08836>`__ for details of the implementation.
29+
The implementation follows Stan's design and exposes performant inference through a familiar interface. We provide interfaces in Python and R. See the accompanying publication `Scalable Gaussian Process Inference with Stan <https://doi.org/10.18637/jss.v112.i02>`__ for details of the implementation.
3030

3131
.. _getting-started:
3232

@@ -78,4 +78,4 @@ If you use another *Stan* `interface <https://mc-stan.org/users/interfaces/>`__,
7878
Reproducing Results From the Accompanying Publication
7979
-----------------------------------------------------
8080

81-
The `accompanying publication "Scalable Gaussian process inference with Stan" <https://arxiv.org/abs/2301.08836>`__ provides theoretical background and a technical description of the methods. All results and figures can be reproduced by following the instructions in the `repository of reproduction materials <https://github.com/onnela-lab/gptools-reproduction-material>`__.
81+
The `accompanying publication "Scalable Gaussian process inference with Stan" <https://doi.org/10.18637/jss.v112.i02>`__ provides theoretical background and a technical description of the methods. All results and figures can be reproduced by following the instructions in the `repository of reproduction materials <https://github.com/onnela-lab/gptools-reproduction-material>`__.

python/stan/pyproject.toml

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,34 @@ build-backend = "setuptools.build_meta"
44

55
[project]
66
name = "gptools-stan"
7-
version = "0.2.2"
7+
version = "1.0.0"
88
description = "Gaussian processes on graphs and lattices in Stan."
9+
license.file = "LICENSE"
910
readme = "README.md"
11+
authors = [
12+
{name = "Till Hoffmann"},
13+
{name = "Jukka-Pekka Onnela"}
14+
]
15+
keywords = ["Gaussian process", "Stan", "Bayesian inference", "graph", "Fourier"]
16+
classifiers = [
17+
"Development Status :: 5 - Production/Stable",
18+
"Programming Language :: Python :: 3",
19+
"Intended Audience :: Science/Research",
20+
"License :: OSI Approved :: MIT License",
21+
"Topic :: Scientific/Engineering",
22+
]
1023
requires-python = ">=3.8"
1124
dependencies = [
12-
"cmdstanpy>=1.0.7", # Required because of a bug in how complex numbers are handled
25+
"cmdstanpy>=1.0.7", # Required because of a bug in how complex numbers are handled.
1326
"numpy",
1427
]
1528

29+
[project.urls]
30+
Documentation = "https://gptools-stan.readthedocs.io"
31+
Repository = "https://github.com/onnela-lab/gptools.git"
32+
Issues = "https://github.com/onnela-lab/gptools/issues"
33+
Reference = "https://doi.org/10.18637/jss.v112.i02"
34+
1635
[tool.setuptools]
1736
packages = {find = {namespaces = true}}
1837
include-package-data = true

0 commit comments

Comments
 (0)