Giter VIP home page Giter VIP logo

voter-data-tools's Introduction

FrontSeat Voter Data Tools

Warning: this is very new code.

Contains a command line tool (./vote.py), and python library (vlib), to check voter registration status.

Currently we support checking in:

  • Georgia
  • Michigan
  • Pennsylvania
  • Wisconsin

Checking registration is accomplished by interacting directly with Secretary of State websites.

A survey of all SOS websites, including required data and obstacles to our approach (like CAPTCHAs), can be found in the Google spreadsheet we maintain. Feedback is most welcome.

Check registration of a single voter

To check whether a voter is registered:

./vote.py check <first-name> <last-name> <zip> <dob YYYY-MM-DD> [--details]

This will tell you whether the user is registered to vote. You can request extra details (registration date, current status, etc.) with the --details flag.

Check registration of multiple voters in bulk

There is also a tool to check every record in a CSV file:

./vote.py check-csv <input-file.csv> [--details]

A new CSV is written to stdout with the same fields as the input CSV plus extras related to the registration check.

Getting started

The vote command line tool, and underlying library, use python 3.12 (including newer language features).

To get started:

  1. Clone this repository (git clone [email protected]:front-seat/voter-data-tools.git)
  2. Create a virtualenv (python -m venv .venv)
  3. Enter the venv (source .venv/bin/activate)
  4. Install python dependencies (pip install -r requirements.txt)
  5. Try it! (./vote.py check your name zipcode dob --details โ€” assuming you're in a supported state)

The node stuff (package.json and friends) is included only so that we can use Microsoft's pyright type checker.

You can run tests with ./scripts/test.sh. They are extremely minimal at the moment; ultimately, we'll want to have a basic suite of unit tests, and a separate set of tests for each state to make sure that the code continues to work correctly.

voter-data-tools's People

Contributors

davepeck avatar

Watchers

 avatar Matt Lerner avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.