Skip to main content

A tool to generate reports from Tableau workbooks.

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tableau_report_gen-0.1.1.tar.gz (22.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tableau_report_gen-0.1.1-py3-none-any.whl (20.0 kB view details)

Uploaded Python 3

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

Hashes for tableau_report_gen-0.1.1.tar.gz
Algorithm Hash digest
SHA256 402fea5272eb0c26f182d63b8a8fe9a633458d235917323633f6991397dacd8e
MD5 729bd120367504442b41f9576d916bb6
BLAKE2b-256 ff30cf87d6d4198489589ddffe5d6e202a8b3ef7f41592a90aa50dfd06660511

See more details on using hashes here.

File details

Details for the file tableau_report_gen-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for tableau_report_gen-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 08f2838cf06b1614f7b67c04a05ebabfbcf5afae4a0874644cc85b843c53b088
MD5 499bd95ee1f0d9258222dcbf7e788770
BLAKE2b-256 d0673876025c24fc3c54fd82fd90c00164a9ce454b4877dc1835cef95d8b21b1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page