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
Copy file name to clipboardExpand all lines: README.md
+12-6Lines changed: 12 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,13 +10,13 @@ This repository provides tools for consolidation and analysis of raw election re
10
10
* json (following NIST Election Results Reporting Common Data Format V2)
11
11
* Analysis:
12
12
* Curates one-county outliers of interest
13
-
* Calculates difference-in-difference for reaults available by vote type
13
+
* Calculates difference-in-difference for results available by vote type
14
14
* Visualization:
15
15
* Scatter plots
16
16
* Bar charts
17
17
18
18
# Target Audience
19
-
This system is intended to be of use to candidates and campaigns, election officials, students of politics and elections, and anyone else who is interested in assembling and understanding election results.
19
+
This system is intended to be of use to news media, campaigns, election officials, students of politics and elections, and anyone else who is interested in assembling and understanding election results.
20
20
21
21
# How to Contribute Code
22
22
Please contribute code that works in python 3.9, with the package versions specified in [requirements.txt](requirements.txt). We follow the [black](https://pypi.org/project/black/) format.
@@ -36,9 +36,15 @@ If you are a potential end user -- an election official, political scientist or
36
36
If you are interested in contributing, or just staying updated on the progress of this project, please [contact Stephanie Singer](http://symmetrysinger.com/index.php?id=contact).
37
37
38
38
# How to use the app
39
-
Detailed instructions can be found [here](docs/User_Guide.md).
40
-
41
-
39
+
See [documentation directory](docs), which includes
* Instructions for a [sample dataloading session](docs/Sample_Dataloading_Session.md)
43
+
* Detailed [User Guide](docs/User_Guide.md)
44
+
* for developers
45
+
*[Information about the code](docs/About_the_Code.md)
46
+
*[Information about the tests](docs/Testing_Code_with_pytest.md)
47
+
42
48
# Contributors
43
49
*[Stephanie Singer](http://campaignscientific.com/), Hatfield School of Government (Portland State University), former Chair, Philadelphia County Board of Elections
44
50
* Janaki Raghuram Srungavarapu, Hatfield School of Government (Portland State University)
@@ -48,7 +54,7 @@ Detailed instructions can be found [here](docs/User_Guide.md).
48
54
* Elliot Meyerson
49
55
50
56
# Funding
51
-
Funding provided October 2019 - September 2021 by the National Science Foundation
57
+
Funding provided October 2019 - November 2021 by the National Science Foundation
52
58
* Award #1936809, "EAGER: Data Science for Election Verification"
53
59
* Award #2027089, "RAPID: Election Result Anomaly Detection for 2020"
54
60
Data collection and consolidation for the 2020 US General Election funded in part by the Verified Voting Foundation.
The dataloading tests rely on having some raw results data to load. And the results data should be various enough to test the various components of the data-loading code. In other words, effective testing requires a reasonable variety of input files. The repository does not contain sufficient results data for testing. A test set is available in a separate repository, [***TODO](***TODO). If [test_dataloading_by_ej.py](../tests/dataloading_tests/test_dataloading_by_ej.py) does not find results data, it will default to downloading the files from that repository.
3
+
4
+
# Sample Testing Session
5
+
6
+
## Directory and File Structure
7
+
Call the tests from a working directory with the following structure and files:
8
+
```
9
+
.
10
+
+-- input_results
11
+
| +-- Alabama
12
+
| | + <Alabama results file>
13
+
| | + <maybe another Alabama results file>
14
+
| +-- Alaska
15
+
| | + <Alaska results file>
16
+
| +-- American-Samoa
17
+
| | + <American Samoa results file>
18
+
| +-- <etc>
19
+
|
20
+
+-- reports_and_plots
21
+
+-- run_time.ini
22
+
```
23
+
The file `run_time.ini` can be the same as in the [Sample Dataloading Session](Sample_Dataloading_Session.md).
24
+
25
+
## Note on dataloading tests
26
+
The tests in [test_dataloading_by_ej.py](../tests/dataloading_tests/test_dataloading_by_ej.py) will attempt to load all raw results files in `input_results` that are specified by some file in the [`ini_file_for_results` directory](../src/ini_files_for_results). You can check which jurisdictions had files loaded:
27
+
* if the test is successful, look at the `compare_*` directories in the `reports_and_plots` directory.
28
+
* if the test fails, look in the output from the test.
29
+
30
+
## Running the tests
31
+
You will need pytest to be installed on your system (see [pytest installation instructions](https://docs.pytest.org/en/6.2.x/getting-started.html) if necessary). Commands are run from the shell
0 commit comments