Skip to main content

Tableau Report Gen

PyPI version Python Versions Built with Streamlit License: MIT

Tableau Report Gen Demo

Table of Contents

Features

  • Upload Tableau Workbook: Easily upload your .twbx files.
  • 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.

Worksheet GIF

Public Tableau Reports

Here are some public Tableau reports compatible with our application:

  1. Finding Oases In Food Deserts
  2. Choose Background Color
  3. State Medigap Costs

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 bin directory (e.g., C:\Program Files\Graphviz\bin) is added to your system's PATH.
  • 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 .twbx files.
    • 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 the main branch, 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.

Metadata

Release files for tableau-report-gen 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tableau-report-gen 0.1.1
File Size Uploaded
tableau_report_gen-0.1.1.tar.gz 22.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for tableau-report-gen 0.1.1
File Interpreter ABI Platform
tableau_report_gen-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 43.0 kB

Release files / tableau_report_gen-0.1.1.tar.gz

Download URL tableau_report_gen-0.1.1.tar.gz
Size 22.9 kB
Tags Source
SHA-256 checksum
How to use checksums
402fea5272eb0c26f182d63b8a8fe9a633458d235917323633f6991397dacd8e
BLAKE2b-256 checksum
How to use checksums
ff30cf87d6d4198489589ddffe5d6e202a8b3ef7f41592a90aa50dfd06660511
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.8

Release files / tableau_report_gen-0.1.1-py3-none-any.whl

Download URL tableau_report_gen-0.1.1-py3-none-any.whl
Size 20.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
08f2838cf06b1614f7b67c04a05ebabfbcf5afae4a0874644cc85b843c53b088
BLAKE2b-256 checksum
How to use checksums
d0673876025c24fc3c54fd82fd90c00164a9ce454b4877dc1835cef95d8b21b1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.8

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page