Skip to main content

Python Package for Typeform Response Piping

Project description

Pypeform: Python Package for Typeform Response Piping

Pypeform is a Python package designed to make inbound Typeform responses easier to work with. Provide data as a Flask request or JSON-based dictionary, and access the response in a Pythonic/OOP manner.

Note: not all field types have been implemented, but most basic fields are supported. Feel free to contribute with a PR.

Installation

Install Pypeform from PyPi:

pip install pypeform

Usage

There's a few handy ways to use Pypeform, depending on how you're receiving the webhook data. Most of the time, you'll be dealing with an Event object -- a form submission. However, you can also use the FormResponse object directly it's JSON constructors if you don't need the event_id etc.

Flask requests

This option is useful if you're handling Typeform data in a Flask web application. This is often the case when you're using a Google Cloud Function, for example.

With a full requests object, you also have the option to verify the response is legitimate, using a pre-shared secret provided in the Typeform webhook dialog.

from pypeform import Event

request = ... # Flask request object
my_event = Event.from_request(request=request)
form_response = my_event.form_response

for answer in form_response.answers:
    print(answer)

for field in form_response.fields:
    print(field)

for variable in form_response.variables:
    print(variable)

JSON Data

If you have the JSON data of the response in hand, you can still construct an Event object:

import json
from pypeform import Event

my_json_data = json.loads(...)

# event_json must be a dict, as provided by the Typeform webhook
Event.from_event_json(event_json=my_json_data)

In future versions, we'll add the ability to verify the response using the pre-shared secret (although you'll have to extract the typeform-signature header from the webhook headers yourself).

Project details


Download files

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

Source Distribution

pypeform_package-0.0.4.tar.gz (19.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pypeform_package-0.0.4-py3-none-any.whl (8.5 kB view details)

Uploaded Python 3

File details

Details for the file pypeform_package-0.0.4.tar.gz.

File metadata

  • Download URL: pypeform_package-0.0.4.tar.gz
  • Upload date:
  • Size: 19.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.9

File hashes

Hashes for pypeform_package-0.0.4.tar.gz
Algorithm Hash digest
SHA256 d6d74b1f3803cf216a4484a8617cf8cfdde2252bb89fd78c8a6aaae6d76a1535
MD5 818c8ec4d5083669d0ef6fcc663c3620
BLAKE2b-256 688c60b8ad2f5ac396f2df4821a41e2d25f665a4c43c7fd79228906f9e46263c

See more details on using hashes here.

File details

Details for the file pypeform_package-0.0.4-py3-none-any.whl.

File metadata

File hashes

Hashes for pypeform_package-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 34def00d7151c9dfc86aaaffe0b3dfd5340ee82a241e52ceb3b618a7c68f727b
MD5 f98ab46c02e64260387aab909996e967
BLAKE2b-256 ebdd020fd4212e036868cfd2946cf9f8051b9854d9117e555cacd3f6e10fc127

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page