GPJax
GPJax: A Gaussian Process Framework in JAX - Published in JOSS (2022)
Science Score: 77.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 7 DOI reference(s) in README -
✓Academic publication links
Links to: joss.theoj.org -
✓Committers with academic emails
7 of 35 committers (20.0%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (16.8%) to scientific vocabulary
Keywords
Keywords from Contributors
Scientific Fields
Repository
Gaussian processes in JAX and Flax.
Basic Info
- Host: GitHub
- Owner: JaxGaussianProcesses
- License: mit
- Language: Python
- Default Branch: main
- Homepage: https://docs.jaxgaussianprocesses.com/
- Size: 285 MB
Statistics
- Stars: 530
- Watchers: 4
- Forks: 64
- Open Issues: 6
- Releases: 44
Topics
Metadata Files
README.md
Quickstart | Install guide | Documentation | Slack Community
GPJax aims to provide a low-level interface to Gaussian process (GP) models in Jax, structured to give researchers maximum flexibility in extending the code to suit their own needs. The idea is that the code should be as close as possible to the maths we write on paper when working with GP models.
Package organisation
Contributions
We would be delighted to receive contributions from interested individuals and groups. To learn how you can get involved, please read our guide for contributing. If you have any questions, we encourage you to open an issue. For broader conversations, such as best GP fitting practices or questions about the mathematics of GPs, we invite you to open a discussion.
Another way you can contribute to GPJax is through issue triaging. This can include reproducing bug reports, asking for vital information such as version numbers and reproduction instructions, or identifying stale issues. If you would like to begin triaging issues, an easy way to get started is to subscribe to GPJax on CodeTriage.
As a contributor to GPJax, you are expected to abide by our code of conduct. If you feel that you have either experienced or witnessed behaviour that violates this standard, then we ask that you report any such behaviours through this form or reach out to one of the project's gardeners.
Feel free to join our Slack Channel, where we can discuss the development of GPJax and broader support for Gaussian process modelling.
Governance
GPJax was founded by Thomas Pinder. Today, the project's gardeners are daniel-dodd@, henrymoss@, st--@, and thomaspinder@, listed in alphabetical order. The full governance structure of GPJax is detailed here. We appreciate all the contributors to GPJax who have helped to shape GPJax into the package it is today.
Supported methods and interfaces
Notebook examples
Guides for customisation
Conversion between .ipynb and .py
Above examples are stored in examples directory in the double
percent (py:percent) format. Checkout jupytext
using-cli for more
info.
- To convert
example.pytoexample.ipynb, run:
bash
jupytext --to notebook example.py
- To convert
example.ipynbtoexample.py, run:
bash
jupytext --to py:percent example.ipynb
Installation
Stable version
The latest stable version of GPJax can be installed via pip:
bash
pip install gpjax
Note
We recommend you check your installation version:
python python -c 'import gpjax; print(gpjax.__version__)'
Development version
Warning
This version is possibly unstable and may contain bugs.
Note
We advise you create virtual environment before installing:
conda create -n gpjax_experimental python=3.10.0 conda activate gpjax_experimental
Clone a copy of the repository to your local machine and run the setup
configuration in development mode.
bash
git clone https://github.com/JaxGaussianProcesses/GPJax.git
cd GPJax
hatch env create
hatch shell
We recommend you check your installation passes the supplied unit tests:
python hatch run dev:test
Citing GPJax
If you use GPJax in your research, please cite our JOSS paper.
@article{Pinder2022,
doi = {10.21105/joss.04455},
url = {https://doi.org/10.21105/joss.04455},
year = {2022},
publisher = {The Open Journal},
volume = {7},
number = {75},
pages = {4455},
author = {Thomas Pinder and Daniel Dodd},
title = {GPJax: A Gaussian Process Framework in JAX},
journal = {Journal of Open Source Software}
}
Owner
- Name: JaxGaussianProcesses
- Login: JaxGaussianProcesses
- Kind: organization
- Website: jaxgaussianprocesses.com/
- Repositories: 11
- Profile: https://github.com/JaxGaussianProcesses
Citation (CITATION.bib)
cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Pinder"
given-names: "Thomas"
orcid: "https://orcid.org/0000-0001-9854-4265"
- family-names: "Dodd"
given-names: "Daniel"
title: "GPJax: A Gaussian Process Framework in JAX"
version: 0.5.9
doi: 10.21105/joss.04455
date-released: 2022-06-26
url: "https://github.com/thomaspinder/GPJax"
preferred-citation:
type: article
authors:
- family-names: "Pinder"
given-names: "Thomas"
- family-names: "Dodd"
given-names: "Daniel"
doi: "10.21105/joss.04455"
journal: "Journal of Open Source Software"
month: 6
start: 4455
end: 4455
title: "GPJax: A Gaussian Process Framework in JAX"
issue: 75
volume: 7
year: 2022
GitHub Events
Total
- Create event: 18
- Release event: 5
- Issues event: 33
- Watch event: 68
- Delete event: 8
- Issue comment event: 112
- Push event: 76
- Pull request review event: 16
- Pull request event: 52
- Fork event: 13
Last Year
- Create event: 18
- Release event: 5
- Issues event: 33
- Watch event: 68
- Delete event: 8
- Issue comment event: 112
- Push event: 76
- Pull request review event: 16
- Pull request event: 52
- Fork event: 13
Committers
Last synced: 6 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Thomas Pinder | t****r@l****k | 515 |
| Daniel Dodd | d****d@i****m | 251 |
| Thomas Pinder | p****2@l****k | 155 |
| jejjohnson | e****1@g****m | 38 |
| Thomas-Christie | t****h@h****m | 36 |
| hmoss | 3****s | 34 |
| Ingmar Schuster | i****r@g****m | 32 |
| frazane | z****o@g****m | 21 |
| Miguel González Duque | m****u@g****m | 14 |
| Stephen Huan | s****n@c****e | 10 |
| st-- | s****- | 9 |
| Daniel Dodd | 6****d | 8 |
| patel-zeel | p****l@i****n | 6 |
| Stefano | 4****s | 6 |
| meta-inf | w****6@g****m | 4 |
| neel-maniar | 9****r | 4 |
| dependabot[bot] | 4****] | 4 |
| henrymoss | h****s@l****k | 4 |
| theorashid | 3****d | 3 |
| Ivan Shalashilin | i****n@d****k | 3 |
| Ivan Shalashilin | i****n@d****k | 3 |
| Ivan Shalashilin | i****n@d****k | 2 |
| Tom Savage | t****e@h****m | 2 |
| wejpurvis | w****0@g****m | 2 |
| Dan Foreman-Mackey | d****m@d****o | 1 |
| Radu Corcodel | c****l@m****m | 1 |
| Jon Deaton | j****n@g****m | 1 |
| Ivan Shalashilin | i****n@d****k | 1 |
| Danny Friar | d****r@h****k | 1 |
| Erik | m****l@e****m | 1 |
| and 5 more... | ||
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 4 months ago
All Time
- Total issues: 129
- Total pull requests: 269
- Average time to close issues: 8 months
- Average time to close pull requests: about 1 month
- Total issue authors: 39
- Total pull request authors: 29
- Average comments per issue: 1.8
- Average comments per pull request: 0.82
- Merged pull requests: 190
- Bot issues: 0
- Bot pull requests: 19
Past Year
- Issues: 16
- Pull requests: 62
- Average time to close issues: about 1 month
- Average time to close pull requests: 7 days
- Issue authors: 13
- Pull request authors: 10
- Average comments per issue: 2.5
- Average comments per pull request: 0.84
- Merged pull requests: 46
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- thomaspinder (45)
- daniel-dodd (32)
- Thomas-Christie (5)
- ingmarschuster (5)
- theo-brown (3)
- patel-zeel (3)
- st-- (2)
- adam-hartshorne (2)
- james-bowden (2)
- VadimBim (1)
- ahwillia (1)
- ChrisBoettner (1)
- joelberkeley (1)
- frazane (1)
- mikkelbue (1)
Pull Request Authors
- thomaspinder (82)
- daniel-dodd (26)
- frazane (20)
- dependabot[bot] (19)
- Thomas-Christie (19)
- henrymoss (13)
- stefanocortinovis (12)
- stephen-huan (12)
- neel-maniar (10)
- st-- (10)
- ingmarschuster (8)
- theo-brown (8)
- brandall25 (4)
- juanitorduz (2)
- meta-inf (2)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- pypi 2,393 last-month
- Total dependent packages: 6
- Total dependent repositories: 2
- Total versions: 70
- Total maintainers: 1
pypi.org: gpjax
Gaussian processes in JAX.
- Documentation: https://docs.jaxgaussianprocesses.com/
- License: MIT
-
Latest release: 0.11.2
published 6 months ago
Rankings
Maintainers (1)
Dependencies
- JamesIves/github-pages-deploy-action v4.4.1 composite
- actions/checkout v3.5.2 composite
- actions/setup-node v3 composite
- conda-incubator/setup-miniconda v2 composite
- snok/install-poetry v1 composite
- actions/checkout v3.5.2 composite
- actions/setup-python v4 composite
- snok/install-poetry v1.3.3 composite
- actions/checkout v3.5.2 composite
- crazy-max/ghaction-github-labeler v4.1.0 composite
- actions/first-interaction v1 composite
- actions/checkout v3.5.2 composite
- chartboost/ruff-action v1 composite
- actions/checkout v3.5.2 composite
- actions/setup-node v3 composite
- conda-incubator/setup-miniconda v2 composite
- snok/install-poetry v1 composite
- actions/checkout v3.5.2 composite
- actions/setup-python v4 composite
- codecov/codecov-action v3 composite
- snok/install-poetry v1.3.3 composite
- 232 dependencies
- beartype ^0.16.2
- cola-ml ^0.0.5
- jax >=0.4.10
- jaxlib >=0.4.10
- jaxopt ^0.8.2
- jaxtyping ^0.2.15
- optax ^0.1.4
- orbax-checkpoint >=0.2.3
- python >=3.10,<3.12
- simple-pytree ^0.1.7
- tensorflow-probability ^0.19.0
- tqdm ^4.65.0