-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #375 from HopkinsIDD/dev
Release cycle, December 2024
- Loading branch information
Showing
91 changed files
with
5,811 additions
and
19,809 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -64,7 +64,7 @@ packrat/lib*/ | |
dist/ | ||
SEIR.egg-info/ | ||
Outcomes.egg-info/ | ||
venv/ | ||
*venv*/ | ||
.venv/ | ||
|
||
# R package manuals | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
# December 11th, 2024 | ||
|
||
**Bug Fixes:** | ||
|
||
- The HPC init script no longer fails if a conda environment is already active, GH-388. | ||
- Stdout/stderr from `flepimop-inference-slot` called by `flepimop-inference-main` are piped to a log file via `system2` instead of pipes to support MINGW64, GH-289. | ||
|
||
**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, GH-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`, GH-391. No user facing changes. | ||
- Added `flepimop modifiers` subcommand with one action, `config-plot`, for plotting the effects of modifiers on a config, GH-404. | ||
|
||
**Removes/Modifies:** | ||
|
||
- `gempyor-(seir|outcomes) ...` - these were already no longer supported, just pruning entry points |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
# Development | ||
|
||
This section covers development/contribution guidelines, including tutorials on how to setup your environment and guides on how we use git/GitHub. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
# Git and GitHub Usage | ||
|
||
We now use a modified gitflow style workflow for working with git and GitHub. For a detailed overview of this topic please refer to [Atlassian's article on Gitflow workflow](https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow). | ||
|
||
|
||
## New Features | ||
|
||
New features should be developed in a new branch checked out from the `dev` branch and then merged back into the `dev` branch via a PR on GitHub when ready for review. These feature branches can be deleted after merging into `dev`, unless someone from operations requests that it be kept around. For example, operations may want to merge the feature into their operational branch to get new functionality in advance of a release. By convention feature branches should be prefixed with `feature/<GitHub issue>/`, I.e. `feature/99/cool-new-thing`. Feature branch should also include edits to the GitBook documentation that describe their changes. | ||
|
||
|
||
## Hot Fixes | ||
|
||
Hot fixes should be developed in a new branch checked out from the `main` branch and merged back into the `main` branch via a PR on GitHub when ready for review. After successfully merging into `main` the hot fix branch should then be merged into `dev`, making appropriate adjustments to stabilize the feature. The priority for hot fixes is to correct a major issue quickly, so it is okay to delay detailed testing/documentation until merging into `dev`. By convention hot fix branches should be prefixed with `hotfix/`, I.e. `hotfix/important-fix-to-something`, and then converted into a feature branch after merging into main. These do not have to include edits to the GitBook documentation, but if the hotfix conflicts with what is described in the GitBook documentation it's **strongly recommended**. | ||
|
||
|
||
## Creating Releases | ||
|
||
Periodically releases will be created by merging the `dev` branch into `main` via a PR on GitHub and creating a new release the `main` branch after merging. These PRs should avoid discussion of individual feature changes, those discussions should be reserved for and handled in the feature PRs. If there is a feature that poses a significant problem in the process of creating a new release those changes should be treated like a new feature. The main purpose of this PR is to: | ||
|
||
1. Resolve merge conflicts generated by hot fixes, | ||
2. Making minor edits to documentation to make it clearer or more cohesive, and | ||
3. Updating the `NEWS.md` file with a summary of the changes included in the release. | ||
|
||
|
||
## Operations | ||
|
||
Operational work should be developed in a new branch checked out from the `main` branch if there are modifications needed to the `flepiMoP` codebase. Pre-released features can be merged directly into this operational branch from the corresponding feature branch as needed via a git merge or rebase not a GitHub PR. After the operational cycle is over, the operations branch **should not** be deleted, instead should be kept around for archival reasons. Operational work needs to move quickly and usually does not involve documenting or testing code and is therefore unsuitable for merging into `dev` or `main` directly. Instead potential features should be extracted from an operations branch into a feature branch using [git cherry-pick](https://git-scm.com/docs/git-cherry-pick) and then modified into an appropriates state for merging into `dev` like a feature branch. By convention operations branch names should be prefixed with `operations/`, I.e. `operations/flu-SMH-2023-24`. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
--- | ||
description: >- | ||
Patching together multiple configuration files. | ||
--- | ||
|
||
# Using Multiple Configuration Files | ||
|
||
## 🧱 Set up | ||
|
||
Create a sample project by copying from the examples folder: | ||
|
||
```bash | ||
mkdir myflepimopexample # or wherever | ||
cd myflepimopexample | ||
cp -r $FLEPI_PATH/examples/tutorials/* . | ||
ls | ||
``` | ||
|
||
You should see an assortment of yml files as a result of that `ls` command. | ||
|
||
## Usage | ||
|
||
If you run: | ||
|
||
```bash | ||
flepimop simulate config_sample_2pop.yml | ||
``` | ||
|
||
You'll get a basic forward simulation of this example model. However, you might also note there are several `*_part.yml` files, corresponding to partial configs. You can `simulate` using the combination of multiple configs with, for example: | ||
|
||
```bash | ||
flepimop simulate config_sample_2pop.yml config_sample_2pop_outcomes_part.yml | ||
``` | ||
|
||
While simulate can run your patched configuration, we also suggest you check your configuration file using the patch command: | ||
|
||
```bash | ||
flepimop patch config_sample_2pop.yml config_sample_2pop_outcomes_part.yml > config_new.yml | ||
cat config_new.yml | ||
``` | ||
|
||
You may provide an arbitrary number of separate configuration files to combine to create a complete configuration. | ||
|
||
## Caveats | ||
|
||
At this time, only simulate directly supports multiple configuration files, and our current patching capabilities only allow for the addition of new sections as given in our tutorials. This is helpful for building models piece-by-piece from a simple compartmental forward simulation, to including outcome probabilities, and finally, adding modifier sections. If multiple configuration files specify the same higher level configuration chunks (e.g., seir, outcomes), this will yield an error. | ||
|
||
We are expanding coverage of this capability to other flepimop actions, e.g. inference, and are exploring options for smarter patching. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.