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

Address Jax/Jaxlib v0.4.x compatibility, incorporate CircleCI testing workflows, incorporate versioneer. #164

Merged
merged 9 commits into from
Dec 22, 2022

Conversation

thomaspinder
Copy link
Collaborator

@thomaspinder thomaspinder commented Dec 21, 2022

This PR:

  • Fixes the typing in GPJax to be compatible with Jax/Jaxlib v0.4.1.
  • Incorporates CircleCI workflows to run tests.
  • Incorporates versioneer to determine the library version from git tags.

Pull request type

  • Bugfix
  • Feature
  • Code style update (formatting, renaming)
  • Refactoring (no functional changes, no api changes)
  • [ x] Build related changes
  • Documentation content changes
  • Other (please describe):

What is the current behavior?

We currently:

  • Type an array using DeviceArray. As of Jax v0.4.1, DeviceArray has been replaced by Array.
  • Use standard GitHub workflows.
  • Use a static library version defined in gpjax/__init__.py.

Issue Number: #156

New behaviour

  • Migrate to jax.Array's for compatibility for JAX v0.4.x.
  • Incorporate CircleCI workflows for testing. Might extend this to build docs in future.
  • Incorporate versioneer that automatically retrieves the package version in gpjax/__init__.py from git tags.

@thomaspinder thomaspinder added the bug Something isn't working label Dec 21, 2022
@thomaspinder thomaspinder self-assigned this Dec 21, 2022
@codecov-commenter
Copy link

codecov-commenter commented Dec 21, 2022

Codecov Report

Merging #164 (5aac7a0) into master (e0439b3) will decrease coverage by 0.10%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master     #164      +/-   ##
==========================================
- Coverage   96.87%   96.76%   -0.11%     
==========================================
  Files          15       15              
  Lines        1407     1424      +17     
==========================================
+ Hits         1363     1378      +15     
- Misses         44       46       +2     
Flag Coverage Δ
unittests 96.76% <100.00%> (-0.11%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
gpjax/kernels.py 91.42% <ø> (-0.07%) ⬇️
gpjax/utils.py 100.00% <100.00%> (ø)
gpjax/config.py 96.66% <0.00%> (-3.34%) ⬇️
gpjax/gps.py 100.00% <0.00%> (ø)
gpjax/natural_gradients.py 100.00% <0.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

@thomaspinder thomaspinder marked this pull request as ready for review December 21, 2022 19:31
Copy link
Member

@daniel-dodd daniel-dodd left a comment

Choose a reason for hiding this comment

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

@thomaspinder nice PR. Left a few comments. Please in future can you fully state all features that have been added in the description, as we have not only bumped JAX, we have also integrated CircleCI and versioneer. (I have added these to the description).

One suggestion (nice have, but not requirement for this PR) I have is - do we really want all that (same) versioneer code in all repositories? It might be quite annoying to maintain?

gpjax/kernels.py Show resolved Hide resolved
gpjax/utils.py Show resolved Hide resolved
examples/barycentres.pct.py Show resolved Hide resolved
examples/barycentres.pct.py Show resolved Hide resolved
@daniel-dodd daniel-dodd changed the title Jax bump Address Jax/Jaxlib v0.4.x compatibility, incorporate CircleCI testing workflows, incorporate versioneer. Dec 21, 2022
@thomaspinder
Copy link
Collaborator Author

@thomaspinder nice PR. Left a few comments. Please in future can you fully state all features that have been added in the description, as we have not only bumped JAX, we have also integrated CircleCI and versioneer. (I have added these to the description).

One suggestion (nice have, but not requirement for this PR) I have is - do we really want all that (same) versioneer code in all repositories? It might be quite annoying to maintain?

Apologies - I thought by merging others PRs into this one that comments would come across too.

The versioneer code is autogenerated. I don't see a clean way to "share" it across packages so I'm personally fine with it as is.

@daniel-dodd daniel-dodd merged commit beff24e into master Dec 22, 2022
@thomaspinder thomaspinder deleted the jax_bump branch December 22, 2022 17:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants