Skip to content

Commit 1eda5a2

Browse files
committed
contacts: add 25 missing state Senate email lists
Fill out contacts/senatorial/ with the upper-chamber (State Senate) email lists for the 25 states that were missing. New files use the folder's majority flat layout: state/<name>.filtered.emails.txt. Unified format: single-column CSV with an 'email' header, one senator address per line, sorted and de-duplicated. The 24 existing state files were left untouched (including the 'lousiana' spelling and the older subfolder-style entries), so no originals were overwritten. Excludes Nebraska (unicameral - no separate senate) and DC. Source: public openstates/people dataset (https://github.com/openstates/people). Only members whose current role is the upper chamber (type: upper) were included, via each person's official 'email' field. Counts match known Senate sizes (e.g. MT 50, WA 49, NV 21, PA 49/50, MA 40). Added a README documenting layout, format, exclusions, and source.
1 parent 87697ca commit 1eda5a2

26 files changed

Lines changed: 1067 additions & 0 deletions

‎contacts/senatorial/README.md‎

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
# Senatorial — state upper-chamber contacts
2+
3+
Contact lists for the **upper chamber** (State Senate) of the U.S. states.
4+
5+
## Layout
6+
7+
```
8+
senatorial/
9+
state/
10+
<state.name>.filtered.emails.txt # flat file per state (majority)
11+
<state.name>/<state.name>.filtered.emails.txt # older subfolder variant
12+
```
13+
14+
State names are **lowercase**, with spaces written as dots — e.g.
15+
`new.york`, `north.carolina`. A few of the original files use a subfolder
16+
(`state/<name>/<name>.filtered.emails.txt`); newer states use the flat form
17+
`state/<name>.filtered.emails.txt`.
18+
19+
## Unified format
20+
21+
Each newly-added state file is a single-column CSV:
22+
23+
```
24+
email
25+
26+
27+
...
28+
```
29+
30+
- Line 1 is the header `email`.
31+
- Each subsequent line is one senator's email address.
32+
- Addresses are sorted and de-duplicated.
33+
34+
> Note: several original files predate this convention (some have no header,
35+
> some a `Email` header, and one is spelled `lousiana`). Those originals were
36+
> **left unchanged**. States added in bulk use the unified header format above.
37+
38+
## Unicameral jurisdictions (excluded)
39+
40+
- **Nebraska** — a single nonpartisan unicameral legislature (no separate
41+
senate). Its members appear under `../general.assembly/`.
42+
- **District of Columbia** — a single Council (not a state).
43+
44+
## Source & attribution
45+
46+
Bulk-added lists were sourced from the public **Open States / Plural**
47+
`openstates/people` dataset. Only currently-serving members whose **current
48+
role is the upper chamber** (`type: upper`) were included, via each person's
49+
official `email` field.
50+
51+
- Dataset: https://github.com/openstates/people
52+
- Project: https://openstates.org / https://open.pluralpolicy.com/data/
53+
54+
Data is a point-in-time snapshot; rosters change with elections and vacancies,
55+
so refresh periodically. Small shortfalls versus a chamber's full seat count
56+
reflect current vacancies or members without a listed email.
Lines changed: 68 additions & 0 deletions

0 commit comments

Comments
 (0)