diff --git a/.github/workflows/publish-pypi.yml b/.github/workflows/publish-pypi.yml new file mode 100644 index 0000000..9c208c4 --- /dev/null +++ b/.github/workflows/publish-pypi.yml @@ -0,0 +1,34 @@ +name: Publish to PyPi + + +on: + workflow_dispatch: + push: + branches: development, main + +jobs: + build-n-publish: + name: Build dist files for PyPi + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + - uses: actions/setup-python@v1 + with: + python-version: 3.8 + - name: Build dist files + run: > + python -m pip install --upgrade pip && pip install -e .[build] && + python setup.py build && + python setup.py sdist --formats=gztar + - name: Publish distribution 📦 to Test PyPI + uses: pypa/gh-action-pypi-publish@release/v1 # license BSD-2 + with: + password: ${{ secrets.TEST_PYPI_API_TOKEN }} + repository_url: https://test.pypi.org/legacy/ + - name: Publish distribution 📦 to PyPI + uses: pypa/gh-action-pypi-publish@release/v1 # license BSD-2 + with: + password: ${{ secrets.PYPI_API_TOKEN }} + diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml new file mode 100644 index 0000000..4bd171f --- /dev/null +++ b/.github/workflows/python-package.yml @@ -0,0 +1,59 @@ +# This workflow will install Python dependencies, run tests and lint with a variety of Python versions +# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions + +name: Python package + +on: + push: + paths-ignore: + - 'docs/**' + pull_request: + branches: '*' + +jobs: + build: + + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + python-version: [3.7, 3.8, 3.9, '3.10'] + + steps: + - uses: actions/checkout@v2 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + - name: Install dependencies + run: | + python -m pip install --upgrade pip + if [ -f requirements.txt ]; then pip install -r requirements.txt; fi + - name: Test + run: | + python setup.py test + + + lint: + + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + python-version: [3.9] + + steps: + - uses: actions/checkout@v2 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + - name: Install dependencies + run: | + python -m pip install --upgrade pip + python -m pip install pycodestyle + if [ -f requirements.txt ]; then pip install -r requirements.txt; fi + - name: Lint with pycodestyle + run: | + pycodestyle tableaudocumentapi test samples + diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 392878d..0000000 --- a/.travis.yml +++ /dev/null @@ -1,24 +0,0 @@ -language: python -cache: pip - -python: - - "2.7" - - "3.4" - - "3.5" - - "3.6" - - "pypy" -# command to install dependencies -install: - - "pip install -e ." - - "pip install pycodestyle" -# command to run tests -script: - # Tests - - python setup.py test - # pycodestyle - - pycodestyle tableaudocumentapi test samples - # Examples - - (cd "samples/replicate-workbook" && python replicate_workbook.py) - - (cd "samples/list-tds-info" && python list_tds_info.py) - - (cd "samples/show-fields" && python show_fields.py) - diff --git a/CHANGELOG.md b/CHANGELOG.md index 3c5976a..1a18c16 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,24 @@ +## 011 (November 2022) +* Remove extraneous debug print statements + +## 010 (June 2022) +* Add service/schema attributes + +## 091 (March 2022) +* Add attribute for hidden field + +## 09 (December 2021) +* PyPI upgraded to Python3 + +## 08 (October 2021) +* See dashboards in a workbook +* Add shapes property +* Add custom sql +* Drop python 2, add up through 3.9 + +## 07 (26 May 2021) +* Fix bug in xfile that overwrote the namespace name when saving a document + ## 06 (11 January 2017) * Initial SQL and query banding support (#123) diff --git a/README b/README deleted file mode 120000 index 42061c0..0000000 --- a/README +++ /dev/null @@ -1 +0,0 @@ -README.md \ No newline at end of file diff --git a/README.md b/README.md index 9fe6004..beb0263 100644 --- a/README.md +++ b/README.md @@ -1,19 +1,14 @@ # document-api-python -[![Tableau Supported](https://img.shields.io/badge/Support%20Level-Tableau%20Supported-53bd92.svg)](https://www.tableau.com/support-levels-it-and-developer-tools) [![Build Status](https://travis-ci.org/tableau/document-api-python.svg?branch=master)](https://travis-ci.org/tableau/document-api-python) +[![As-Is](https://img.shields.io/badge/Support%20Level-As--Is-e8762c.svg)](https://www.tableau.com/support-levels-it-and-developer-tools) -This repo contains Python source and example files for the Tableau Document API. - -For more information, see the documentation: - - Document API --------------- -The Document API provides a supported way to programmatically make updates to Tableau workbook and data source files. If you've been making changes to these file types by directly updating the XML--that is, by XML hacking--this SDK is for you :) +This repo contains Python source and example files for the Tableau Document API. +The Document API provides a useful but *unsupported* way to programmatically make updates to Tableau workbook and data source files. If you've been making changes to these file types by directly updating the XML--that is, by XML hacking--this SDK is for you :) Get help from other users on the [Tableau Community Forums](https://community.tableau.com/s/topic/0TO4T000000SF3sWAG/document-api). Features include: -- Support for 9.X, and 10.X workbook and data source files - - Including TDSX and TWBX files +- Support for TWB, TWBX, TDE and TDSX files starting roughly back to Tableau 9.x - Getting connection information from data sources and workbooks - Server Name - Username @@ -28,4 +23,9 @@ Features include: - Get all fields in a data source - Get all fields in use by certain sheets in a workbook -We don't yet support creating files from scratch, adding extracts into workbooks or data sources, or updating field information +- It *doesn't* support creating files from scratch, adding extracts into workbooks or data sources, or updating field information. As of 2021, this SDK no longer supports Python 2. + +For Hyper files, take a look at the [Tableau Hyper API](https://help.tableau.com/current/api/hyper_api/en-us/index.html). + +For more information, see the [Document API documentation](https://tableau.github.io/document-api-python) + diff --git a/docs/_includes/docs_menu.html b/docs/_includes/docs_menu.html index b7a76d5..eae8806 100644 --- a/docs/_includes/docs_menu.html +++ b/docs/_includes/docs_menu.html @@ -1,4 +1,5 @@
+ {% include search_form.html %}