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

Release cycle, December 2024 #375

Merged
merged 174 commits into from
Dec 11, 2024
Merged

Release cycle, December 2024 #375

merged 174 commits into from
Dec 11, 2024

Conversation

pearsonca
Copy link
Contributor

@pearsonca pearsonca commented Oct 30, 2024

Bug Fixes:

Dependencies:

  • click minimum is now 8.1.7 (latest as of Aug 17, 2023).
  • Added missing h5py dependency to gempyor requirements and specified dask dependency to include dataframe optional dependencies, Convert setup.cfg To pyproject.toml #391.

Deprecates:

  • gempyor-simulate ... in favor of flepimop simulate ....
  • Soft deprecated the -c/--config_files option (config file(s) are now arguments not options).

New Features:

  • Basic support for multiple config files
  • A patch command that takes multiple config files and yields the merged result
  • Converted gempyor's setup.cfg to the more modern pyproject.toml, Convert setup.cfg To pyproject.toml #391. No user facing changes.
  • Added flepimop modifiers subcommand with one action, config-plot, for plotting the effects of modifiers on a config, Merge emcee_batch Into dev #404.

Removes/Modifies:

  • gempyor-(seir|outcomes) ... - these were already no longer supported, just pruning entry points

jcblemai and others added 30 commits September 16, 2024 00:09
@pearsonca
Copy link
Contributor Author

pearsonca commented Dec 11, 2024

I'm seeing one potential issue w/ switch to pyproject.toml when using manual pip install -e ...:

ERROR: Project flepimop/gempyor_pkg has a 'pyproject.toml' and its build backend is missing the 'build_editable' hook.
Since it does not have a 'setup.py' nor a 'setup.cfg', it cannot be installed in editable mode.
Consider using a build backend that supports PEP 660.

also installation indicates:

Building wheels for collected packages: UNKNOWN
  Building wheel for UNKNOWN (pyproject.toml) ... done
  Created wheel for UNKNOWN: filename=UNKNOWN-0.0.0-py3-none-any.whl size=961 sha256=8943442efaf1aac39f15f144d25a48042ce1d647164abc117d65096b5e0585d6
  Stored in directory: /tmp/pip-ephem-wheel-cache-zxe25xtv/wheels/95/8c/e2/0b81714075ce5a6ffb5f7b3799c8899d09486f0b2b5b467e71
Successfully built UNKNOWN
Installing collected packages: UNKNOWN
Successfully installed UNKNOWN-0.0.0

Seems like some meta-data missing here?

pip version 24.3.1, python version 3.10.12

@TimothyWillard
Copy link
Contributor

I'm seeing one potential issue w/ switch to pyproject.toml when using manual pip install -e ...:

I'm having a difficult time replicating this one.

twillard@Mac ~/D/G/H/flepiMoP (dev)> uv venv .venv --python=/opt/homebrew/bin/python3.10
Using Python 3.10.16 interpreter at: /opt/homebrew/opt/[email protected]/bin/python3.10
Creating virtualenv at: .venv
Activate with: source .venv/bin/activate.fish
twillard@Mac ~/D/G/H/flepiMoP (dev)> source .venv/bin/activate.fish
(.venv) twillard@Mac ~/D/G/H/flepiMoP (dev)> uv pip install 'pip==24.3.1'
Resolved 1 package in 171ms
Prepared 1 package in 184ms
Installed 1 package in 7ms
 + pip==24.3.1
(.venv) twillard@Mac ~/D/G/H/flepiMoP (dev)> python --version
Python 3.10.16
(.venv) twillard@Mac ~/D/G/H/flepiMoP (dev)> pip --version
pip 24.3.1 from /Users/twillard/Desktop/GitHub/HopkinsIDD/flepiMoP/.venv/lib/python3.10/site-packages/pip (python 3.10)
(.venv) twillard@Mac ~/D/G/H/flepiMoP (dev)> pip install --editable flepimop/gempyor_pkg[test,aws]
Obtaining file:///Users/twillard/Desktop/GitHub/HopkinsIDD/flepiMoP/flepimop/gempyor_pkg
  Installing build dependencies ... done
  Checking if build backend supports build_editable ... done
  Getting requirements to build editable ... done
  Preparing editable metadata (pyproject.toml) ... done
.....

The output Building wheels for collected packages: UNKNOWN seems suspicious to me, what is the output of pwd and what is the full install command being used?

@pearsonca
Copy link
Contributor Author

pearsonca commented Dec 11, 2024

The output Building wheels for collected packages: UNKNOWN seems suspicious to me, what is the output of pwd and what is the full install command being used?

$ pwd
> /home/holism/workspaces/flepiMoP
$ sudo pip install -e flepimop/gempyor_pkg/

curiously, does not barf when not sudoing, also the "UNKNOWN" issue disappears.

clearly, i should just not do system-wide library installs.

TimothyWillard and others added 6 commits December 11, 2024 13:08
Added an internal utility to custom format the yaml representation of a
`confuse.Configuration` object. Creates a custom `yaml.Dumper` class
that contains all of the custom representation changes as to not modify
the `yaml` pkg defaults.
…tics-pmf

* Correct formula for poisson log-likelihood

Per this comment #375 (comment)
corrected the formula for the poisson log-likelihood, including swapping
the `ymodel` and `ydata` so it matches prior poisson likelihood. Added a
unit test case to demonstrate this change is to restore current
behavior.

* Add test case with poisson and zeros

Added a test case with poisson log-likelihood and zero valued data with
the `zero_to_one` flag set to `True`.

* Simplify poisson LL tests with only one variable
Changed the help page to use existing files in the `examples/tutorials`
directory rather than construction test configs on the fly per a
suggestion by @pearsonca.
@TimothyWillard
Copy link
Contributor

The last remaining item for this release is GH-423. After that we will be clear to review and merge.

TimothyWillard and others added 2 commits December 11, 2024 15:39
Stronger and clearer wording suggested by @saraloo.
…umentation

* `flepimop patch` unit test for `seir::parameters`

Added a unit test to demonstrate the issue described in
#375 (comment)
with respect to the `seir::parameters` section. Appears to be related to
if the parameters are a list or a dict.

* Fix `parse_config_files` TL key override behavior

Corrected an issue where `parse_config_files` would try to merge
top-level keys which comes from `confuse`. Work around is to manually
build a dictionary and then convert that to a `Configuration` object.

* Add `--indent` option to `flepimop patch`

For configuration of the outputted yaml.

* Add detailed example to `flepimop patch --help`

* Force default indent of `flepimop patch` to 4

* Upgrade TL key collision from warning to error

* modify approach to handling help

* Add `_dump_formatted_yaml` for custom yaml dump

Added an internal utility to custom format the yaml representation of a
`confuse.Configuration` object. Creates a custom `yaml.Dumper` class
that contains all of the custom representation changes as to not modify
the `yaml` pkg defaults.

* `flepimop patch --help` uses example configs

Changed the help page to use existing files in the `examples/tutorials`
directory rather than construction test configs on the fly per a
suggestion by @pearsonca.

* update multi-configs gitbook

* `parse_config_files` error includes config name

* Resolve seir/outcome modifier scenarios

* `flepimop patch` documenation edits

Stronger and clearer wording suggested by @saraloo.

---------

Co-authored-by: Carl A. B. Pearson <[email protected]>
@TimothyWillard TimothyWillard merged commit 57b1fdb into main Dec 11, 2024
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
high priority High priority. next release Marks a PR as a target to include in the next release.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants