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

WIP 0.8.0 #106

Merged
merged 57 commits into from
Dec 9, 2022
Merged

WIP 0.8.0 #106

merged 57 commits into from
Dec 9, 2022

Conversation

ejolly
Copy link
Owner

@ejolly ejolly commented May 10, 2022

Overview

This PR originally started to incorporate changes made by @dramanica, but got caught up in rpy2 and conda-build hell. That gave me enough time to clean up and fix a few other issues.

I've also overhauled the CI setup such that all PRs and pushes to main/master run a "lighter" CI suite which just performs a minimal install of pymer4 in a new conda environment. This is feasible using conda create -n pymer4_env python=3.8 'r-lmerTest' r-emmeans' 'rpy2' and then proceeding with a normal pip install (with requirements). This has the benefit of decoupling the test and build suites such that it's possible for ensure that the library is functioning properly regardless of conda difficulties. conda was supposed to make things easier, but also now I find myself using tools like act to reproduce the full CI setup locally just to test building, while building locally works just fine...rabbit holes all the way down.

That being said I'm planning on skipping 0.7.9 and only releasing 0.8.0 given the large compatibility changes and new model type (see below)

Summary of Changes

Fixes

Description

  • Unpins pandas and rpy2 deps
  • Switched to using localconverter everywhere to translate between R and Python objects facilitated with the new bridge module. This was made possible by pulling the solution from this commit now that the upstream issue has been fixed
  • Lm models now support family='binomial' for logistic regression. Currently on the most basic model is implement with no permutation testing, bootstrapping, or prediction

Blocking Build Issue

Currently several of the GA runners that try to build pymer4 are failing for this reason. There seems to be a pending upstream change but it appears to be stuck.

Forcing a higher numpy version didn't work either as the conda builder just isn't picking it up on GA (but it does locally).

I think the next step is to try to use conda mambabuild...

ejolly and others added 12 commits October 18, 2022 21:15
Implement loglik ratio test analogous to the one implemented in lme4
Make output closer to lme4
Make sure npar are correct and other values are in the same order
AICTab in summary of an lmer fitted by REML gives the deviance, not the AIC.
For the moment, we use a static dump of the R output, as rpy2 seems to clash with pytest
@ejolly
Copy link
Owner Author

ejolly commented Dec 7, 2022

I'd love some help with anyone willing to take a look at making the CI work (i.e. wrestling with conda).

Once the test suite passes and/or bugs are fixed I'll cut a new release

@ejolly ejolly changed the title WIP 0.7.9 WIP 0.8.0 Dec 8, 2022
@ejolly ejolly merged commit 9550ae0 into master Dec 9, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants