-
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 branch 'dev' into scientific_notation_parsing
- Loading branch information
Showing
89 changed files
with
5,113 additions
and
19,806 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,77 @@ | ||
--- | ||
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 foward 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 | ||
``` | ||
|
||
if want to see what the combined configuration is, you can use the `patch` command: | ||
|
||
```bash | ||
flepimop patch config_sample_2pop.yml config_sample_2pop_outcomes_part.yml | ||
``` | ||
|
||
You may provide an arbitrary number of separate configuration files to combine to create a complete configuration. | ||
|
||
## Caveats | ||
|
||
At this time, only `simulate` supports multiple configuration files. Also, the patching operation is fairly crude: configuration options override previous ones completely, though with a warning. The files provided from left to right are from lowest priority (i.e. for the first file, only options specified in no other files are used) to highest priority (i.e. for the last file, its options override any other specification). | ||
|
||
We are expanding coverage of this capability to other flepimop actions, e.g. inference, and are exploring options for smarter patching. | ||
|
||
However, currently there are pitfalls like | ||
|
||
```yaml | ||
# config1 | ||
seir_modifiers: | ||
scenarios: ["one", "two"] | ||
one: | ||
# ... | ||
two: | ||
# ... | ||
``` | ||
|
||
```yaml | ||
# config2 | ||
seir_modifiers: | ||
scenarios: ["one", "three"] | ||
one: | ||
# ... | ||
three: | ||
# ... | ||
``` | ||
|
||
Then you might expect | ||
|
||
```bash | ||
flepimop simulate config1.yml config2.yml | ||
``` | ||
|
||
...to override seir scenario one and add scenario three, but what actually happens is that the entire seir_modifiers from config1 is overriden by config2. Specifying the configuration files in the reverse order would lead to a different outcome (the config1 seir_modifiers overrides config2 settings). If you're doing complex combinations of configuration files, you should use `flepimop patch ...` to ensure you're getting what you expect. |
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.