diff --git a/.github/workflows/deptry.yml b/.github/workflows/deptry.yml index d8efe991..209e62b5 100644 --- a/.github/workflows/deptry.yml +++ b/.github/workflows/deptry.yml @@ -29,4 +29,4 @@ jobs: - name: run deptry run: | - poetry run deptry . --per-rule-ignores "DEP001=pyrenew,DEP001=pytest,DEP003=pytest,DEP001=test" + poetry run deptry . diff --git a/Dockerfile b/Dockerfile index 827c061f..f83aaa1c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,7 @@ FROM ubuntu:24.04 LABEL org.opencontainers.image.description="Image of PyRenew python package" -LABEL org.opencontainers.image.source="https://github.com/CDCgov/multisignal-epi-inference" +LABEL org.opencontainers.image.source="https://github.com/CDCgov/PyRenew" LABEL org.opencontainers.image.authors="CDC's Center for Forecasting Analytics" LABEL org.opencontainers.image.license="Apache-2.0" diff --git a/README.md b/README.md index db1b51b9..63337ca1 100755 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ ⚠️ This is a work in progress ⚠️ -`pyrenew` is a flexible tool for simulation and statistical inference of epidemiological models, emphasizing renewal models. Built on top of the [`numpyro`](https://num.pyro.ai/) Python library, `pyrenew` provides core components for model building, including pre-defined models for processing various types of observational processes. To start, visit the tutorials section on the project's website [here](https://cdcgov.github.io/multisignal-epi-inference/tutorials/index.html). +`pyrenew` is a flexible tool for simulation and statistical inference of epidemiological models, emphasizing renewal models. Built on top of the [`numpyro`](https://num.pyro.ai/) Python library, `pyrenew` provides core components for model building, including pre-defined models for processing various types of observational processes. To start, visit the tutorials section on the project's website [here](https://cdcgov.github.io/PyRenew/tutorials/index.html). The following diagram illustrates the composition of the `HospitalAdmissionsModel` class. Notably, all components are modular and can be replaced with custom implementations. @@ -43,7 +43,7 @@ flowchart LR Install via pip with ```bash -pip install git+https://github.com/CDCgov/multisignal-epi-inference@main +pip install git+https://github.com/CDCgov/PyRenew@main ``` ## Container image @@ -56,8 +56,8 @@ docker pull ghcr.io/CDCgov/pyrenew:latest ## Resources -* [The MSR Website](https://cdcgov.github.io/multisignal-epi-inference/tutorials/index.html) provides general documentation and tutorials on using MSR. -* [The Model Equations Sheet](https://github.com/CDCgov/multisignal-epi-inference/blob/main/equations.md) describe the mathematics of the renewal processes and models MSR supports. +* [The MSR Website](https://cdcgov.github.io/PyRenew/tutorials/index.html) provides general documentation and tutorials on using MSR. +* [The Model Equations Sheet](https://github.com/CDCgov/PyRenew/blob/main/equations.md) describe the mathematics of the renewal processes and models MSR supports. * Additional reading on renewal processes in epidemiology * [_Semi-mechanistic Bayesian modelling of COVID-19 with renewal processes_](https://academic.oup.com/jrsssa/article-pdf/186/4/601/54770289/qnad030.pdf) * [_Unifying incidence and prevalence under a time-varying general branching process_](https://link.springer.com/content/pdf/10.1007/s00285-023-01958-w.pdf) diff --git a/docs/README.md b/docs/README.md index ae7b50eb..193f2ce0 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,3 +1,3 @@ # Sphinx website source code -The files under this folder contain the source code for the project's Sphinx website. The website is automatically built and published by GitHub Actions. The website is hosted at . +The files under this folder contain the source code for the project's Sphinx website. The website is automatically built and published by GitHub Actions. The website is hosted at . diff --git a/docs/source/conf.py b/docs/source/conf.py index f2461dd0..7bb2ba21 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -61,7 +61,7 @@ html_theme = "sphinx_book_theme" html_theme_options = { - "repository_url": "https://github.com/CDCgov/multisignal-epi-inference", + "repository_url": "https://github.com/CDCgov/PyRenew", "use_edit_page_button": True, "use_issues_button": True, "use_repository_button": True, diff --git a/docs/source/developer_documentation.rst b/docs/source/developer_documentation.rst index 778a2f57..7426239a 100644 --- a/docs/source/developer_documentation.rst +++ b/docs/source/developer_documentation.rst @@ -5,8 +5,8 @@ Developer Documentation Github Workflow --------------- -- You should request reviews for pull requests from ``multisignal-epi-inference-devs``, unless you have a good reason to request reviews from a smaller group. -- Reviews from all of ``multisignal-epi-inference-devs`` are encouraged, but an approving review from a `codeowner `_ (@dylanhmorris, @damonbayer, or @gvegayon) is required before a pull request can be merged to ``main``. +- You should request reviews for pull requests from ``PyRenew-devs``, unless you have a good reason to request reviews from a smaller group. +- Reviews from all of ``PyRenew-devs`` are encouraged, but an approving review from a `codeowner `_ (@dylanhmorris, @damonbayer, or @gvegayon) is required before a pull request can be merged to ``main``. - For CDC contributors, If your pull request has not received a review at the time of the next standup, use standup to find a reviewer. - External contributors should expect to receive a review within a few days of creating a pull request. - If you create a draft pull request, indicate what, if anything, about the current pull request should be reviewed. @@ -67,7 +67,7 @@ This entry tells Sphinx to generate documentation for the ``HospitalAdmissions`` New tutorials ~~~~~~~~~~~~~ -``PyRenew`` tutorials are `quarto documents `__ located under `./docs/source/tutorials `__. Tutorials are automatically rendered using GitHub actions (see the Workflow file `here `__). +``PyRenew`` tutorials are `quarto documents `__ located under `./docs/source/tutorials `__. Tutorials are automatically rendered using GitHub actions (see the Workflow file `here `__). To make the new tutorial available in the website, developers should follow these steps: @@ -82,7 +82,7 @@ To make the new tutorial available in the website, developers should follow thes getting_started example_with_datasets -3. Add an rst entry with the same basename as the ``quarto`` file in the ``./docs/source/tutorials`` directory. For instance, the `example_with_datasets.rst` file was added to the repository. This last step can be done running the bash script `./hook_scripts/pre-commit-rst-placeholder.sh `__. Note the script should be executed by ``pre-commit``. +3. Add an rst entry with the same basename as the ``quarto`` file in the ``./docs/source/tutorials`` directory. For instance, the `example_with_datasets.rst` file was added to the repository. This last step can be done running the bash script `./hook_scripts/pre-commit-rst-placeholder.sh `__. Note the script should be executed by ``pre-commit``. Adding new pages diff --git a/docs/source/index.rst b/docs/source/index.rst index 4d23fe4e..bc4d9664 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -2,8 +2,8 @@ .. This `index.rst` file is only a placeholder. Do not edit this file. The final .. `index.rst` document is automatically generated via GitHub Actions using the .. root level `README.md` file: -.. https://github.com/CDCgov/multisignal-epi-inference/tree/main/README.md +.. https://github.com/CDCgov/PyRenew/tree/main/README.md .. .. Any changes made to this file will be discarted during the next build. The .. GitHub action building this is in: -.. https://github.com/CDCgov/multisignal-epi-inference/tree/main/.github/workflows/website.yaml` +.. https://github.com/CDCgov/PyRenew/tree/main/.github/workflows/website.yaml` diff --git a/docs/source/tutorials/basic_renewal_model.rst b/docs/source/tutorials/basic_renewal_model.rst index 10a033e5..05ab325f 100644 --- a/docs/source/tutorials/basic_renewal_model.rst +++ b/docs/source/tutorials/basic_renewal_model.rst @@ -2,4 +2,4 @@ .. Please do not edit this file directly. .. This file is just a placeholder. .. For the source file, see: -.. +.. diff --git a/docs/source/tutorials/extending_pyrenew.rst b/docs/source/tutorials/extending_pyrenew.rst index 9b35ba5a..0ff8d30e 100644 --- a/docs/source/tutorials/extending_pyrenew.rst +++ b/docs/source/tutorials/extending_pyrenew.rst @@ -2,4 +2,4 @@ .. Please do not edit this file directly. .. This file is just a placeholder. .. For the source file, see: -.. +.. diff --git a/docs/source/tutorials/getting_started.qmd b/docs/source/tutorials/getting_started.qmd index e088b2af..c6dca9cb 100644 --- a/docs/source/tutorials/getting_started.qmd +++ b/docs/source/tutorials/getting_started.qmd @@ -26,7 +26,7 @@ poetry install To install `pyrenew` using pip, run the following command: ```bash -pip install git+https://github.com/CDCgov/multisignal-epi-inference@main +pip install git+https://github.com/CDCgov/PyRenew@main ``` diff --git a/docs/source/tutorials/getting_started.rst b/docs/source/tutorials/getting_started.rst index 35b58b95..9438b49e 100644 --- a/docs/source/tutorials/getting_started.rst +++ b/docs/source/tutorials/getting_started.rst @@ -2,4 +2,4 @@ .. Please do not edit this file directly. .. This file is just a placeholder. .. For the source file, see: -.. +.. diff --git a/docs/source/tutorials/hospital_admissions_model.rst b/docs/source/tutorials/hospital_admissions_model.rst index 70fcc980..de126b02 100644 --- a/docs/source/tutorials/hospital_admissions_model.rst +++ b/docs/source/tutorials/hospital_admissions_model.rst @@ -2,4 +2,4 @@ .. Please do not edit this file directly. .. This file is just a placeholder. .. For the source file, see: -.. +.. diff --git a/docs/source/tutorials/index.rst b/docs/source/tutorials/index.rst index d576669f..d7b6c0ac 100644 --- a/docs/source/tutorials/index.rst +++ b/docs/source/tutorials/index.rst @@ -1,7 +1,7 @@ Tutorials ========= -This section contains tutorials that demonstrate how to use the `pyrenew` package. The source code for the tutorials can be found in the project repository: https://github.com/CDCgov/multisignal-epi-inference/tree/main/docs/source/tutorials. +This section contains tutorials that demonstrate how to use the `pyrenew` package. The source code for the tutorials can be found in the project repository: https://github.com/CDCgov/PyRenew/tree/main/docs/source/tutorials. .. toctree:: :maxdepth: 2 diff --git a/docs/source/tutorials/periodic_effects.rst b/docs/source/tutorials/periodic_effects.rst index a9f82f78..469cc2a8 100644 --- a/docs/source/tutorials/periodic_effects.rst +++ b/docs/source/tutorials/periodic_effects.rst @@ -2,4 +2,4 @@ .. Please do not edit this file directly. .. This file is just a placeholder. .. For the source file, see: -.. +.. diff --git a/docs/source/tutorials/time.rst b/docs/source/tutorials/time.rst index dd83bcba..4453da60 100644 --- a/docs/source/tutorials/time.rst +++ b/docs/source/tutorials/time.rst @@ -2,4 +2,4 @@ .. Please do not edit this file directly. .. This file is just a placeholder. .. For the source file, see: -.. +.. diff --git a/hook_scripts/pre-commit-rst-placeholder.sh b/hook_scripts/pre-commit-rst-placeholder.sh index 88df5b30..a7d46788 100755 --- a/hook_scripts/pre-commit-rst-placeholder.sh +++ b/hook_scripts/pre-commit-rst-placeholder.sh @@ -44,7 +44,7 @@ for qmd in ${TUTORIALS_DIR}/*.qmd; do echo ".. Please do not edit this file directly." >> $rst echo ".. This file is just a placeholder." >> $rst echo ".. For the source file, see:" >> $rst - echo ".. " >> $rst + echo ".. " >> $rst done diff --git a/pyproject.toml b/pyproject.toml index 2f9a516f..dfdae0a0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,7 @@ [tool.poetry] -name = "multisignal-epi-inference" +name = "PyRenew" version = "0.1.0" -description = "The CFA Multisignal Renewal project contains Pyrenew, a Python package for multi-signal Bayesian renewal modeling with NumPyro." +description = "PyRenew, a Python package for multi-signal Bayesian renewal modeling with JAX and NumPyro." authors = ["CFA"] license = "Apache 2.0" readme = "README.md" @@ -46,6 +46,7 @@ ipywidgets = "^8.1.3" optional = true [tool.poetry.group.test.dependencies] +pytest = "^8.3.2" pytest-cov = "^5.0.0" pytest-mpl = "^0.17.0" @@ -72,8 +73,12 @@ exclude = [ # don't report on objects that match any of these regex '\.__call__$' ] - - [build-system] requires = ["poetry-core"] build-backend = "poetry.core.masonry.api" + +[tool.deptry] +known_first_party = ["pyrenew", "test"] + +[tool.deptry.per_rule_ignores] +DEP004 = ["pytest"]