/TablesGPT

GPT-powered solution for extracting and modifying data in tables using natural language commands.

Primary LanguageJupyter NotebookMIT LicenseMIT

TablesGPT
TablesGPT

Contributor Covenant

TablesGPT is a powerful and versatile open-source application that allows users to extract, organize, analyze, and visualize tabular data from files using natural language commands.

Data Extraction

Features Roadmap

Extract

  • PDF Table Extraction: Enable users to efficiently extract structured tabular data from PDF documents. The implementation will be designed to handle varying table formats, with the capability to accurately identify and parse data from both simple and complex table structures.

Transform

  • Natural Language Table Transformation: Enable users to manipulate and transform tabular data using natural language commands. TablesGPT will be able to interpret and execute a variety of data operations, such as filtering, sorting, and aggregating, based on user-provided text instructions.

Export

  • SQL Query Export: Provide users with the ability to generate SQL queries tailored for inserting the generated JSON data into their preferred database system.

Getting Started

Setting your OpenAI API Key

  1. Navigate to the apis directory
  2. Update the .env file with your OpenAI API key.

Starting the React Frontend

  1. Navigate to the frontend directory:
$ cd frontend
  1. Install the required dependencies (if you haven't already):
$ npm install
  1. Start the React frontend:
$ npm start

Starting the Flask API

  1. Navigate to the apis directory:
$ cd apis
  1. Install the required dependencies (if you haven't already):
$ python -m pip install -r requirements.txt
  1. Run the Flask API server:
$ python app.py

Interested in Contributing?

We welcome and appreciate any contributions to our community-driven project. Our goals are to enhance the accessibility and usability of tabular data manipulation, and to make it significantly easier for users with limited technical expertise to interact with and analyze complex datasets. 🚀

Types of Contributions

Discussions, bug reports, issues, and pull requests are all welcome. If you're interested in contributing through pull requests, please follow the guidelines below.

Pull Request Guidelines

  • Review Issues and Pull Requests before submitting your own.
  • Fork the repository and create your branch from the master branch.
  • Make sure your code is well-documented, easy to understand, and readable.
  • Provide a clear and concise description of the changes made in the pull request.
  • Ensure that your pull request has a descriptive title and a reference to the relevant issue(s).
  • Be responsive and open to feedback and suggestions from the community.
  • Please be patient, as we have a small team at the moment and only one person reviewing the pull requests.