Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

Python API wrapper for strawpoll (

Project description

Python wrapper for Strawpoll’s API. Provides methods for reading from and writing to strawpoll via its JSON api.


py-strawpoll provides the following:

StrawpollAPIReader class containing methods:

  • from_json(string): Read a strawpoll into memory from its JSON representation
  • from_url(url): Read a strawpoll into memory from it’s URL (uses API endpoint to fetch)
  • from_apiv2(poll_id): Read a strawpoll into memory via it’s poll id (uses API endpoint to fetch)
  • total_votes()
  • normalize(): Normalize a poll to the [0, 1] range
  • votes_for(option_string): Get the raw count of votes for a specific option string
  • normalized_votes_for(option_string): Get the normalized votes for a specific option string
  • winner(): Who won the poll?
  • loser(): Least favoured option
  • to_clean_dict(): Returns a python dictionary representation of the poll. Ignores any atributes that are null



  • TODO: Create a PyPI package

Fetching a strawpoll

from strawpoll import StrawpollAPIReader

json_string = '{
  "title":"What movie should we watch again?",
  "options":  [
    "Sucker punch ",
    "Pirates of carribian ",
    "Prison logic","Witchhunter"
  "permissive": false,
  "captcha": true

# Fetch a poll through its API id
poll_a = StrawpollAPIReader.from_apiv2(1)

# Fetch a poll through its URL
poll_b = StrawpollAPIReader.from_url("")

# Fetch a poll from its JSON dump
poll_c = StrawpollAPIReader.from_json(json_string)

# These should be the same
if (poll_a == poll_b) and (poll_b == poll_c):
  print "Mirror images!"

# Yada yada normalize your data
print poll_a.normalize()

Posting a strawpoll

  • TODO: APIWriter still in the pipes



Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for PyStrawpoll, version 0.1.4
Filename, size File type Python version Upload date Hashes
Filename, size (6.6 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page