Skip to content

joenorton/typeform-python-sdk

 
 

Repository files navigation

typeform

PyPI version Build Status Coverage Status

Python Client wrapper for Typeform API

Table of contents

Installation

pip install typeform

Usage

Initialize

1 - Import client library

  from typeform import Typeform

2 - Create an instance with your personal token

  typeform = Typeform('<api_key>')

3 - Use any of the methods available in the reference

  # will retrieve all forms
  forms: dict = typeform.forms.list()

Reference

Typeform('<api_key>')

  • Creates a new instance of Typeform's Python client
  • Returns an instance with the methods described below
  typeform = Typeform('<api_key>')

Client returns the following properties:

  • forms
  • responses

Each one of them encapsulates the operations related to it (like listing, updating, deleting the resource).

Forms

forms.create(data: dict = {})

Creates a form. Returns dict of created form. See docs.

forms = Typeform('<api_key>').forms
result: dict = forms.create({ 'title': 'Hello World' })

forms.delete(uid: str)

Deletes the form with the given form_id and all of the form's responses. Returns a str based on success of deletion, OK on success, otherwise an error message. See docs.

forms = Typeform('<api_key>').forms
result: str = forms.delete('abc123')

forms.get(uid: str)

Retrieves a form by the given form_id. Includes any theme and images attached to the form as references. See docs.

forms = Typeform('<api_key>').forms
result: dict = forms.get('abc123')

forms.list(page: int = None, pageSize: int = None, search: str = None, workspaceId: str = None)

Retrieves a list of JSON descriptions for all forms in your Typeform account (public and private). Forms are listed in reverse-chronological order based on the last date they were modified. See docs.

forms = Typeform('<api_key>').forms
result: dict = forms.list()

forms.update(uid: str, patch: bool = False, data: dict = {})

Updates an existing form. Defaults to put. put will return the modified form as a dict object. patch will Returns a str based on success of change, OK on success, otherwise an error message. See put docs or patch docs.

forms = Typeform('<api_key>').forms
result: dict = forms.update('abc123', { 'title': 'Hello World, Again' })
result: str = forms.update('abc123', { 'title': 'Hello World, Again' }, patch=True)

forms.messages.get(uid: str)

Retrieves the customizable messages for a form (specified by form_id) using the form's specified language. You can format messages with bold (bold) and italic (italic) text. HTML tags are forbidden. See docs.

forms = Typeform('<api_key>').forms
result: dict = forms.messages.get('abc123')

forms.messages.update(uid: str, data={})

Specifies new values for the customizable messages in a form (specified by form_id). You can format messages with bold (bold) and italic (italic) text. HTML tags are forbidden. Returns a str based on success of change, OK on success, otherwise an error message. See docs.

forms = Typeform('<api_key>').forms
result: str = forms.messages.update('abc123', {
  'label.buttonHint.default': 'New Button Hint'
})

Responses

responses.list(uid: str, pageSize: int = None, since: str = None, until: str = None, after: str = None, before: str = None, includedResponseIds: str = None, completed: bool = None, sort: str = None, query: str = None, fields: List[str] = None)

Returns form responses and date and time of form landing and submission. See docs.

responses = Typeform('<api_key>').responses
result: dict = responses.list('abc123')

responses.delete(uid: str, includedTokens: Union[str, List[str]])

Delete responses to a form. You must specify the included_tokens parameter. Returns a str based on success of deletion, OK on success, otherwise an error message. See docs.

responses = Typeform('<api_key>').responses
result: str = responses.delete('abc123' 'token1')
result: str = responses.delete('abc123' ['token2', 'token3'])

Tests

Check typeform/test/fixtures.py to configure test run.

About

Typeform Python API client

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%