Skip to main content

PY-STRAWPOLL

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

About

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

Usage

Installation

  • 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"
  ],
  "multi":false,
  "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("https://strawpoll.me/1")

# 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

Changelog

CHANGES.txt

Metadata

Release files for PyStrawpoll 0.1.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for PyStrawpoll 0.1.4
File Size Uploaded
PyStrawpoll-0.1.4.zip 6.6 kB Details

Release files / PyStrawpoll-0.1.4.zip

Download URL PyStrawpoll-0.1.4.zip
Size 6.6 kB
Tags Source
SHA-256 checksum
How to use checksums
95b4efb83aa6bef788f03deda84ca77ac89dd7791c26a66dd8f9993883a39748
BLAKE2b-256 checksum
How to use checksums
87294d756deedb95227963317ac4252398c40016936efb804d66ee69751d850a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.1.4 This release

1 release file

0.1.3

1 release file

0.1.2

1 release file

0.1.1

1 release file

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page