You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* doc: add logger examples to README and format
* deployment + staging details
* wrap lines
* Update _template_python/INDICATOR_DEV_GUIDE.md
Co-authored-by: David Weber <[email protected]>
* Update _template_python/INDICATOR_DEV_GUIDE.md
Co-authored-by: David Weber <[email protected]>
* Update _template_python/INDICATOR_DEV_GUIDE.md
Co-authored-by: David Weber <[email protected]>
* Update INDICATOR_DEV_GUIDE.md with mysql syntax
* Update INDICATOR_DEV_GUIDE.md reorder instruction on cron jobs
* switch from input_file to input_dir (#1995)
* adjust nssp max_age
* add pyproject.toml
* made changes based on suggestion
* update ci config
* separate new line
Co-authored-by: Dmitry Shemetov <[email protected]>
* fix: add explicit boto and moto dependencies to indicators
* trying to get package data to show
* installing dev package before testing in ci
* adding dependency
* move comment to right package
* Update _delphi_utils_python/pyproject.toml
Co-authored-by: Dmitry Shemetov <[email protected]>
* Revert "Clean up delphi_utils "
* refactoring date parsing to seperate file
* first implimentation
* small cleanup and adding missing data
* changed wording and some logic
* made test more explicit
* add missing file
* cleaning up tests
* consolidating tests into one
* fixed wording
* consolidating test/fixture
* clean up test
* Update google_symptoms/delphi_google_symptoms/patch.py
remove old code; not used anymore
Co-authored-by: nmdefries <[email protected]>
* clean up lint
* remove teardown
* cleaning and renaming
* more explicit branching for regular run vs patching, renaming, cleaning
* cleanup and rewrite logic
* avoid linking keywords in PR template
* Update _delphi_utils_python/README.md
Co-authored-by: george <[email protected]>
* Refactor Jenkins pipeline
- Remove usage of parallel in the build and package stages
- Retain usage of parallel in the deploy stages
- Separate build and package into separate scripts to support build-only stages
- Add a build-only stage for dev/feature branches
* Add separate build and package scripts
* Update script comments
* Remove unused script
* changes based on suggestion
* standardizing output dir in test
* changing back to session scope
* more logging and update params
* adding back conditional for num_export_days
* test_run does not like fixtures
* make deep copies of params fixtures
* linting
* test patch check if num_export_days is set or not
* patch fn takes params as an arg, like run_module
* list values added using actual day as an example
* move pull date creation into pull_gs_data
* don't modify num_export_days; define start/end date in terms of it and lag
* refer to params by name; patch_flag -> custom_run flag
* use test data based on recent actual indicator run
* say where gold test data came from
* not all date_utils tests need metadata
* formatting
* fn docs
* lint and cleanup
* adding more tests
* removed extra lag and made test more robust
* export_start_date is optional since the first available date is baked in
* need to account for historical / current run for adding lag
* adding validation script
* fix typo
* fixing typo in test
* lint
* sample run for validation
* remove unused input
Co-authored-by: nmdefries <[email protected]>
* remove unused import
* added progress chunk to limit logging (#2024)
* added progress chunk to limit logging
* lint
* comment based on suggestion
* add hhs geo level (#2036)
* Add discussion of patching functionality to indicator manual (#2031)
* basic patching info
* custom_run
* add hhs to geo section
* de-emphasize R in contributing doc, and add links
* ref/issue date intro
* naming and force push standards
* secret and params links
* Clean up delphi_utils (take 2) (#2014)
* add pyproject.toml
* made changes based on suggestion
* update ci config
* separate new line
Co-authored-by: Dmitry Shemetov <[email protected]>
* fix: add explicit boto and moto dependencies to indicators
* trying to get package data to show
* installing dev package before testing in ci
* adding dependency
* move comment to right package
* Update _delphi_utils_python/pyproject.toml
Co-authored-by: Dmitry Shemetov <[email protected]>
* more suggestion
* adding pyproject.toml to template
* Update changehc/Makefile
* Update claims_hosp/Makefile
* Update doctor_visits/Makefile
* Update google_symptoms/Makefile
* Update hhs_hosp/Makefile
* Update nchs_mortality/Makefile
* Update nssp/Makefile
* Update nwss_wastewater/Makefile
* Update quidel_covidtest/Makefile
* Update sir_complainsalot/Makefile
* fix: dependence bugs and cleanup
* pandas[excel]<2 doesn't work, go back to xlrd and comment
* add mock to changehc
* add requests
* remove setup.py from template
* build: fix Jenkins build script
---------
Co-authored-by: Amaris Sim <[email protected]>
Co-authored-by: aysim319 <[email protected]>
Co-authored-by: Dmitry Shemetov <[email protected]>
* fix: build-indicators.sh looks for setup.py and pyproject.toml (#2048)
* fix: build-indicators.sh looks for setup.py again
Reverting a premature change.
* fix: readability and future-proof
* fix: more readability
* chore: bump delphi_utils to 0.3.25
* chore: bump covidcast-indicators to 0.3.56
* [create-pull-request] automated change
---------
Co-authored-by: Dmitry Shemetov <[email protected]>
Co-authored-by: minhkhul <[email protected]>
Co-authored-by: Nat DeFries <[email protected]>
Co-authored-by: minhkhul <[email protected]>
Co-authored-by: David Weber <[email protected]>
Co-authored-by: george <[email protected]>
Co-authored-by: Amaris Sim <[email protected]>
Co-authored-by: aysim319 <[email protected]>
Co-authored-by: Brian Clark <[email protected]>
Co-authored-by: Delphi Deploy Bot <[email protected]>
Co-authored-by: minhkhul <[email protected]>
Copy file name to clipboardExpand all lines: .github/CONTRIBUTING.md
+8-5
Original file line number
Diff line number
Diff line change
@@ -12,7 +12,9 @@ The production branch is configured to automatically deploy to our production en
12
12
13
13
* everything else
14
14
15
-
All other branches are development branches. We don't enforce a naming policy.
15
+
All other branches are development branches. We don't enforce a naming policy, but it is recommended to prefix all branches you create with your name, username, or initials (e.g. `username/branch-name`).
16
+
17
+
We don't forbid force-pushing, but please keep to a minimum and be careful of using when modifying a branch at the same time as others.
16
18
17
19
## Issues
18
20
@@ -29,7 +31,7 @@ So, how does one go about developing a pipeline for a new data source?
29
31
### tl;dr
30
32
31
33
1. Create your new indicator branch from `main`.
32
-
2. Build it using the appropriate template, following the guidelines in the included README.mdand REVIEW.md files.
34
+
2. Build it using the [indicator template](https://github.com/cmu-delphi/covidcast-indicators/tree/main/_template_python), following the guidelines in the included README.md, REVIEW.md, and INDICATOR_DEV_GUIDE.md files.
33
35
3. Make some stuff!
34
36
4. When your stuff works, push your development branch to remote, and open a PR against `main` for review.
35
37
5. Once your PR has been merged, consult with a platform engineer for the remaining production setup needs. They will create a deployment workflow for your indicator including any necessary production parameters. Production secrets are encrypted in the Ansible vault. This workflow will be tested in staging by admins, who will consult you about any problems they encounter.
Create a directory for your new indicator by making a copy of `_template_r` or `_template_python` depending on the programming language you intend to use. If using Python, add the name of the directory to the list found in `jobs > build > strategy > matrix > packages` in `.github/workflows/python-ci.yml`, which will enable automated checks for your indicator when you make PRs. The template copies of `README.md` and `REVIEW.md` include the minimum requirements for code structure, documentation, linting, testing, and method of configuration. Beyond that, we don't have any established restrictions on implementation; you can look at other existing indicators see some examples of code layout, organization, and general approach.
55
+
Create a directory for your new indicator by making a copy of `_template_python`. (We also make a `_template_r` available, but R should be only used as a last resort, due to complications using it in production.) Add the name of the directory to the list found in `jobs > build > strategy > matrix > packages` in `.github/workflows/python-ci.yml`, which will enable automated checks for your indicator when you make PRs. The template copies of `README.md` and `REVIEW.md` include the minimum requirements for code structure, documentation, linting, testing, and method of configuration. Beyond that, we don't have any established restrictions on implementation; you can look at other existing indicators see some examples of code layout, organization, and general approach.
54
56
55
57
* Consult your peers with questions! :handshake:
56
58
@@ -62,7 +64,7 @@ Once you have something that runs locally and passes tests you set up your remot
62
64
git push -u origin dev-my-feature-branch
63
65
```
64
66
65
-
You can then draft public API documentation for people who would fetch this
67
+
You can then draft [public API documentation](https://cmu-delphi.github.io/delphi-epidata/) for people who would fetch this
66
68
data from the API. Public API documentation is kept in the delphi-epidata
@@ -104,7 +106,8 @@ We use a branch-based git workflow coupled with [Jenkins](https://www.jenkins.io
104
106
* Package - Tar and gzip the built environment.
105
107
* Deploy - Trigger an Ansible playbook to place the built package onto the runtime host, place any necessary production configuration, and adjust the runtime envirnemnt (if necessary).
106
108
107
-
There are several additional Jenkins-specific files that will need to be created for each indicator, as well as some configuration additions to the runtime host. It will be important to pair with a platform engineer to prepare the necessary production environment needs, test the workflow, validate on production, and ultimately sign off on a production release.
109
+
There are several additional Jenkins-specific files that will need to be created for each indicator, as well as some configuration additions to the runtime host.
110
+
It will be important to pair with a platform engineer to prepare the necessary production environment needs, test the workflow, validate on production, and ultimately sign off on a production release.
description = "Shared Utility Functions for Indicators"
9
+
readme = "README.md"
10
+
requires-python = "== 3.8.*"
11
+
license = { text = "MIT License" }
12
+
classifiers = [
13
+
"Development Status :: 5 - Production/Stable",
14
+
"Intended Audience :: Developers",
15
+
"Programming Language :: Python :: 3.8",
16
+
"License :: MIT",
17
+
]
18
+
dependencies = [
19
+
"boto3",
20
+
"covidcast",
21
+
"cvxpy",
22
+
"epiweeks",
23
+
"gitpython",
24
+
"importlib_resources>=1.3",
25
+
"numpy",
26
+
"pandas>=1.1.0",
27
+
"requests",
28
+
"slackclient",
29
+
"scs<3.2.6", # TODO: remove this ; it is a cvxpy dependency, and the excluded version appears to break our jenkins build. see: https://github.com/cvxgrp/scs/issues/283
0 commit comments