diff --git a/.github/workflows/check-coverage.yml b/.github/workflows/check-coverage.yml
index 123c3e91..cb83fa36 100644
--- a/.github/workflows/check-coverage.yml
+++ b/.github/workflows/check-coverage.yml
@@ -26,12 +26,11 @@ jobs:
- name: Install dependencies
run: |
+ python --version
python -m pip install --upgrade pip
- pip install -e .[install]
pip install -e .[build]
pip install -e .[test]
- python setup.py build
- python res/versioning.py
+ doit version
python setup.py build
# https://github.com/marketplace/actions/pytest-coverage-comment
@@ -42,8 +41,9 @@ jobs:
uses: MishaKav/pytest-coverage-comment@main
with:
pytest-coverage-path: ./pytest-coverage.txt
- # broken? Error: The head commit for this pull_request event is not ahead of the base commit.
- # Please submit an issue on this action's GitHub repo
+ # TODO: check if this has been fixed
+ # Error: The head commit for this pull_request event is not ahead of the base commit.
+ # Please submit an issue on this action's GitHub repo
# report-only-changed-files: true
# TODO update badge on readme:
diff --git a/.github/workflows/generate-metadata.yml b/.github/workflows/generate-metadata.yml
index 582c9e0d..12513ace 100644
--- a/.github/workflows/generate-metadata.yml
+++ b/.github/workflows/generate-metadata.yml
@@ -25,6 +25,9 @@ jobs:
doit version
python setup.py build
+ - name: Generate dependencies list
+ run: python bin/license-checker.py
+
- name: Type-check
run: mypy src tests
diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml
index 37266837..ace093b8 100644
--- a/.github/workflows/run-tests.yml
+++ b/.github/workflows/run-tests.yml
@@ -12,29 +12,27 @@ on:
jobs:
build:
strategy:
- fail-fast: true
+ fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
- python-version: ['3.7', '3.8', '3.9', '3.10', '3']
+ python-version: ['3.7', '3.8', '3.9', '3.10']
runs-on: ${{ matrix.os }}
steps:
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }} on ${{ matrix.os }}
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
- python --version
python -m pip install --upgrade pip
- pip install -e .[build]
pip install -e .[test]
- doit version
- python setup.py build
- name: Test with pytest
- run: pytest
+ run: |
+ pytest
+ pycodestyle tabcmd tests
diff --git a/.gitignore b/.gitignore
index aa66e7fb..2cf62dfc 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,6 +8,7 @@
# python build files
build/
dist/
+venv/
*.egg-info/
*.egg
eggs/
@@ -16,14 +17,12 @@ __pycache__/
*.pytest_cache
*.pyc
*.pkl
-.coverage
# code coverage outputs
.coverage
pytest.xml
# content
-# todo probably want to add a workbook and ds in /res for getting started easily
*.pdf
*.png
*.twbx
@@ -33,9 +32,9 @@ pytest.xml
html
*.html
*.twbr
-**/credentials.py
-*.txt
-# doit
-.doit.*
+# local password files
+.token
+.credentials
+**/credentials.py
diff --git a/Gemfile b/Gemfile
new file mode 100644
index 00000000..e3422aca
--- /dev/null
+++ b/Gemfile
@@ -0,0 +1,9 @@
+# frozen_string_literal: true
+
+source "https://rubygems.org"
+
+git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
+
+# gem "rails"
+gem 'github-pages'
+gem "webrick", "~> 1.7"
diff --git a/README.md b/README.md
index 5ec40a8a..05e6e278 100644
--- a/README.md
+++ b/README.md
@@ -33,15 +33,24 @@ Or install the current work-in-progress version from Git\
pip install git+https://github.com/tableau/tabcmd.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:
+## Documentation
-```shell
-pip uninstall tabcmd
-```
+Read the [full user documentation for Tabcmd2](docs/index.md).
+
+## Get started
+
+This section describes how to install and configure tabcmd.
### Run tabcmd
-To run tabcmd from your local copy, from a console window in the same directory as the file tabcmd.py:
+To work with tabcmd, you need the following:
+
+* MacOS / Windows
+* Python 3.7+ installed
+
+### Installation
+
+To install tabcmd, follow these steps:
1. Clone the repo
2. Run `pip install .`
@@ -58,7 +67,7 @@ To run tabcmd from your local copy, from a console window in the same directory
> coverage run -m pytest && coverage report -m
- autoformat your code with black (https://pypi.org/project/black/)
-> black --line-length 120 src tests [--check]
+> black . [--check]
- type check with mypy
> mypy src tests
@@ -113,3 +122,8 @@ Copies of tabcmd that shipped with Tableau Server are referred to by the version
At some point in the future, tabcmd will no longer be included with Tableau Server.
*We have no intention of breaking Server install flows.*
If you have specific suggestions or concerns on what that will look like, feel free to open an issue here or a thread on the Community Forums.
+
+
+See the LICENSE file for current open-source licensing and use information. See dev information at [contributing.md](./contributing.md)
+
+Before we can accept pull requests from contributors, we require a signed [Contributor License Agreement (CLA)](http://tableau.github.io/contributing.html).
diff --git a/_config.yml b/_config.yml
new file mode 100644
index 00000000..7901f6dd
--- /dev/null
+++ b/_config.yml
@@ -0,0 +1,24 @@
+# Site settings
+title: tabcmd
+email: scot.marvin@tableau.com
+description: Connect to your web data from Tableau.
+baseurl: "/tabcmd"
+# permalink: pretty
+defaults:
+ -
+ scope:
+ path: "" # Apply to all files
+ values:
+ layout: "default"
+
+# Build settings
+markdown: kramdown
+highlighter: rouge
+
+kramdown:
+ toc_levels: 2..2
+
+# Exclude
+exclude: ['node_modules', 'vendor']
+
+theme: jekyll-theme-minimal
diff --git a/_includes/analytics.html b/_includes/analytics.html
new file mode 100644
index 00000000..0cdbad25
--- /dev/null
+++ b/_includes/analytics.html
@@ -0,0 +1,7 @@
+
+
+
diff --git a/_includes/docs_menu.html b/_includes/docs_menu.html
new file mode 100644
index 00000000..556cf1d3
--- /dev/null
+++ b/_includes/docs_menu.html
@@ -0,0 +1,19 @@
+
+ {% include header.html %}
+ {% include docs_menu.html %}
+
+
+
+
+
+
Loading search results...
+
+
+ {% include footer.html %}
+
+
+
+
diff --git a/_posts/2022-01-31-new-release.md b/_posts/2022-01-31-new-release.md
new file mode 100644
index 00000000..20b3fa0c
--- /dev/null
+++ b/_posts/2022-01-31-new-release.md
@@ -0,0 +1,8 @@
+---
+title: "Tableau tabcmd Released for beta"
+abstract: "The tabcmd command-line utility version 2.0 is now available for beta users"
+---
+
+On January 31st, we moved the latest version of the tabcmd command-line utility to version 2.0. This version supports multifactor authentication and allows you to use the utility from remote machines.
+
+We also made this a GitHub project. This means that you can contribute to the code. To install and use tabcmd, download from the [GitHub project](https://github.com/tableau/tabcmd).
diff --git a/_posts/2022-10-07-release.md b/_posts/2022-10-07-release.md
new file mode 100644
index 00000000..86586012
--- /dev/null
+++ b/_posts/2022-10-07-release.md
@@ -0,0 +1,34 @@
+---
+title: "Tableau tabcmd 2 - Release for general use (Tableau Online functionality)"
+abstract: "The new Python tabcmd command-line utility is now available for Tableau Online users"
+---
+
+[On June 10, we published version 1.99.99](https://github.com/tableau/tabcmd/releases/tag/v1.99.99) of the tabcmd command-line utility, for general usage by Tableau Online customers. The 1.99 versioning indicates that it has not yet seen widespread usage, and we expected to find some remaining bugs.
+
+On September 12, we published an updated [version 2.06](https://github.com/tableau/tabcmd/releases/tag/v2.0.6), that fixed several issues discovered in the 1.99 version and lists a few remaining not-yet-implemented features:
+* when logging in to a server, you must specify http or https with the url and you must specify the exact url (e.g https://10ax.online.tableau.com, not just online.tableau.com)
+* custom views are not supported in any operations
+* get/export size parameters are not respected, and filtering for any parameter with spaces in the names does not work
+* refresh-extracts does not support incremental refresh, asynchronous refresh, or adding/removing calculations for an extract
+* run schedule is not supported
+* a few command options like --no-complete are not yet supported
+
+It also features a new command, to help users navigate the server content
+**tabcmd list**
+```
+tabcmd list projects|workbooks|datasources
+===== Listing projects content for user example@tableau.com...
+ NAME: default
+ ID: fb6171a2-acc0-4a3c-8cff-22962d7b45ee
+ NAME: Samples
+ ID: cf0e3d2f-82a0-4d9f-b1b5-9b03fff72064
+ NAME: Admin
+ ID: de529fef-5c50-4dad-97a1-b31829278012
+ NAME: test
+ ID: 330d5e95-7818-48c4-ac92-ac7d79f9040b
+```
+Note that we are still targeting Online functionality, so operations that are only available in Tableau Server may also not yet be implemented. To see updates on available functionality, see the [releases](https://github.com/tableau/tabcmd/releases) page.
+
+Both versions are available to users on Windows, macOS, or Linux to install using *pip* on the command line, or to download as an executable for windows, or to download as a source code zip for users on windows, mac or linux.
+
+We expect to make executable files for macOS and Linux available in future releases.
diff --git a/assets/GH_logo.png b/assets/GH_logo.png
new file mode 100644
index 00000000..a7d326ff
Binary files /dev/null and b/assets/GH_logo.png differ
diff --git a/assets/api_ref.png b/assets/api_ref.png
new file mode 100644
index 00000000..e646e4bb
Binary files /dev/null and b/assets/api_ref.png differ
diff --git a/assets/community.jpg b/assets/community.jpg
new file mode 100644
index 00000000..5f5b043c
Binary files /dev/null and b/assets/community.jpg differ
diff --git a/assets/css/api_ref.css b/assets/css/api_ref.css
new file mode 100644
index 00000000..c95be7f5
--- /dev/null
+++ b/assets/css/api_ref.css
@@ -0,0 +1,709 @@
+