Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
61 changes: 55 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,59 @@
# server-api-python
This repo contains Python source and sample files for the Tableau Server API.
Tableau Server API is a client library for the Tableau REST API. The Server API is delightful to use and easy to love because it requires writing much less code than working directly with the REST API.

This repository is currently NOT ready to be made public. Please leave this
as a private repo for now.
This repository contains Python source and sample files.

Server API
---------------
###Getting Started
To use this SDK, you must have Python installed. You can use either 2.7.X or 3.3 and later.
You must have Python installed. You can use either 2.7.X or 3.3 and later.

#### Installing the latest stable version (preferred)

```text
pip install tableauserverapi
```

#### Installing From Source

Download the `.zip` file. Unzip the file and then run the following command:

```text
pip install -e <directory containing setup.py>
```

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Include how to install the development version (look at document api for an example)

#### Installing the Development Version from Git

*Only do this if you know you want the development version, no guarantee that we won't break APIs during development*

```text
pip install git+https://github.com/tableau/server-api-python.git@development
```

If you go this route, but want to switch back to the non-development version, you need to run the following command before installing the stable version:

```text
pip uninstall tableauserverapi
```

###Basics
The following example shows the basic syntax for using the Server API to query a list of all workbooks and the associated pagination information on the default site:

```python
import tableauserverapi

tableau_auth = tableauserverapi.TableauAuth('USERNAME', 'PASSWORD')
server = tableauserverapi.Server('SERVER')

with server.auth.sign_in(tableau_auth):
pagination_info, all_workbooks = server.workbooks.get()
```

###Server API Samples
* Can be run using the command prompt or terminal

Demo | Source Code | Description
-------- | -------- | --------
Publish Workbook | [publish_workbook.py](./samples/publish_workbook.py) | Shows how to upload a Tableau workbook.
Move Workbook | [move_workbook_projects.py](./samples/move_workbook_projects.py)<br />[move_workbook_sites.py](./samples/move_workbook_sites.py) | Shows how to move a workbook from one project/site to another. Moving across different sites require downloading the workbook. 2 methods of downloading are demonstrated in the sites sample.<br /><br />Moving to another project uses an API call to update workbook.<br />Moving to another site uses in-memory download method.
Set HTTP Options | [set_http_options.py](./samples/set_http_options.py) | Sets HTTP options on server and downloads workbooks.
Explore Datasource | [explore_datasource.py](./samples/explore_datasource.py) | Demonstrates working with Tableau Datasource. Queries all datasources, picks one and populates its connections, then updates the datasource. Has additional flags for publish and download.
Explore Workbook | [explore_workbook.py](./samples/explore_workbook.py) | Demonstrates working with Tableau Workbook. Queries all workbooks, picks one and populates its connections/views, then updates the workbook. Has additional flags for publish, download, and getting the preview image. Note: if you don't have permissions on the workbook the script retrieves from the server, the script will result in a 403033 error. This is expected.
2 changes: 1 addition & 1 deletion samples/set_http_options.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# This script demonstrates how to set http options. It will set the option
# to not verify SSL certificate, and query all workbooks on site.
#
# For more information, refer to the documentations on 'Publish Workbook'
# For more information, refer to the documentation on 'Publish Workbook'
# (https://onlinehelp.tableau.com/current/api/rest_api/en-us/help.htm)
#
# To run the script, you must have installed Python 2.7.9 or later.
Expand Down