A tool to generate reports from Tableau workbooks.
Project description
Tableau Report Gen
Table of Contents
Features
- Upload Tableau Workbook: Easily upload your
.twbxfiles. - Comprehensive Reports: Generate detailed reports covering various aspects of your workbook.
- Dependency DAG: Visualize dependencies between calculated fields and original columns.
- Export Options: Download reports in HTML or PDF formats.
Public Tableau Reports
Here are some public Tableau reports compatible with our application:
Installation
System Dependencies
This package requires Graphviz to be installed on your system.
-
Windows:
- Download the installer from the Graphviz Download Page and follow the installation instructions.
- Ensure that the
bindirectory (e.g.,C:\Program Files\Graphviz\bin) is added to your system'sPATH.
-
macOS: Install Graphviz via Homebrew:
brew install graphviz
-
Linux: Install Graphviz via APT:
sudo apt-get install graphviz
Python Package
Note: This package only supports Python version 3.12 and above. Please ensure you are using a compatible Python version.
Install the package using pip:
pip install tableau-report-gen
Usage
After installation, you can run the Streamlit app via the command line:
trggo
This will launch the app in your default web browser. Follow the on-screen instructions to upload your .twbx file and generate reports.
Development
This section provides an overview of the project's file structure, deployment processes, CI/CD pipeline setup, and developer contact information.
GitHub File Structure
Understanding the repository's file structure is essential for effective development and collaboration. Below is a breakdown of the key files and directories:
build/
tableau_parser_app/
├── app.py
├── components/
│ └── uploader.py
├── parser/
│ └── tableau_parser.py
├── utils/
│ ├── dag.py
│ ├── helpers.py
│ └── report.py
├── logs/
.gitignore
Dockerfile
LICENSE
pyproject.toml
README.md
requirements.txt
setup.py
- build/: Contains build artifacts and compiled files.
- tableau_parser_app/: Main application directory.
- app.py: Entry point of the Streamlit application.
- components/: Reusable UI components.
- uploader.py: Handles file upload functionality.
- parser/: Modules related to parsing Tableau workbooks.
- tableau_parser.py: Core parser logic for
.twbxfiles.
- tableau_parser.py: Core parser logic for
- utils/: Utility scripts and helper functions.
- dag.py: Generates Dependency DAG visualizations.
- helpers.py: Contains helper functions used across the app.
- report.py: Manages report generation and export.
- logs/: Directory for log files.
- .gitignore: Specifies files and directories to be ignored by Git.
- Dockerfile: Configuration for Docker containerization.
- LICENSE: Licensing information.
- pyproject.toml: Project metadata and build configuration.
- README.md: Project documentation.
- requirements.txt: Python dependencies required for the project.
- setup.py: Setup script for packaging and distribution.
Deployment to Test and Live PyPI
Deploying your package to PyPI involves two main steps: publishing to Test PyPI for testing purposes and then to the Live PyPI for public distribution.
Prerequisites
- Ensure you have an account on PyPI and Test PyPI.
- Install necessary tools:
pip install setuptools twine
Step 1: Build the Package
Navigate to the root directory of your project and run:
python setup.py sdist bdist_wheel
This command generates the source distribution and wheel files in the dist/ directory.
Step 2: Upload to Test PyPI
twine upload --repository-url https://test.pypi.org/legacy/ dist/*
- Username and Password: You'll be prompted to enter your Test PyPI credentials.
Step 3: Test the Package
Install the package from Test PyPI to ensure it's working as expected:
pip install --index-url https://test.pypi.org/simple/ tableau-report-gen
Step 4: Upload to Live PyPI
Once testing is successful, upload the package to the live PyPI:
twine upload dist/*
- Username and Password: Enter your PyPI credentials when prompted.
CI/CD Workflow
Our CI/CD pipeline is managed entirely through GitHub Actions using the .github/workflows/ci.yml file. This file performs the following functions:
-
Triggering Events:
The pipeline is automatically triggered on pushes, pull requests to themainbranch, or through manual invocation using GitHub’s workflow_dispatch. -
Build and Test:
- Sets up a Python (3.12) environment.
- Installs the necessary dependencies from
requirements.txt.
- Executes the test suite (using pytest) to catch issues early.
-
Deployment (Optional):
If configured, the workflow can automatically build and package your application. There is an optional step to deploy the package (for example, to PyPI) which can be enabled by uncommenting the relevant lines and setting up the appropriate secrets.
This single file is the heart of our automation process, ensuring that every change is built, tested, and optionally deployed with minimal manual intervention.
Developer Contact
Coming Soon
License
This project is licensed under the MIT License - see the LICENSE file for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tableau_report_gen-0.1.1.tar.gz.
File metadata
- Download URL: tableau_report_gen-0.1.1.tar.gz
- Upload date:
- Size: 22.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
402fea5272eb0c26f182d63b8a8fe9a633458d235917323633f6991397dacd8e
|
|
| MD5 |
729bd120367504442b41f9576d916bb6
|
|
| BLAKE2b-256 |
ff30cf87d6d4198489589ddffe5d6e202a8b3ef7f41592a90aa50dfd06660511
|
File details
Details for the file tableau_report_gen-0.1.1-py3-none-any.whl.
File metadata
- Download URL: tableau_report_gen-0.1.1-py3-none-any.whl
- Upload date:
- Size: 20.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
08f2838cf06b1614f7b67c04a05ebabfbcf5afae4a0874644cc85b843c53b088
|
|
| MD5 |
499bd95ee1f0d9258222dcbf7e788770
|
|
| BLAKE2b-256 |
d0673876025c24fc3c54fd82fd90c00164a9ce454b4877dc1835cef95d8b21b1
|