Skip to content

MySQL meets Jupyter notebooks. Grasp provides a new way to learn and write SQL, by providing a coding-notebook style with runnable blocks, markdown documentation, and shareable notebooks. ✨

outoflaksh/grasp-notebooks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

82 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


A New Way to Write & Learn SQL

Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Roadmap
  4. Contributing

About The Project

Grasp provides a unique and easier way to write and learn SQL. It's like Jupyter notebooks except that you can run SQL queries as code blocks. With Grasp, we wanted to create a coding notebook-like experience but for executing SQL. The main goal was to make it easy for people to learn SQL, by providing the ability to:

  1. Save the queries and their results.
  2. Share notebooks so that others can view them.
  3. Add Markdown documentation in between code blocks to provide context.

Grasp provides ways to accomplish all that! Here's what a typical Grasp notebook looks like:

Grasp Notebook Screen Shot

(back to top)

Built With

  • Python
  • FastAPI
  • Planetscale
  • React.js

(back to top)

Getting Started

To get a local copy up and running follow these simple steps.

Prerequisites

  • npm
    npm install npm@latest -g

Installation

  1. Set up your Planetscale database and add DATABASE_URL in a .env file in the root directory. Also generate a SECRET_KEY for JWT auth. You can use the following command:
    openssl rand -hex 32
  2. Clone the repo
    git clone https://github.com/outoflaksh/grasp-notebooks.git
  3. Install the Python dependencies using Pipenv or the requirements.txt file.
    pip3 install -r requirements.txt
    OR
    pip3 install pipenv
    pipenv install
    pipenv shell
    Then, run the FastAPI server with Uvicorn.
    uvicorn api.main:app
  4. Install dependencies for the React frontend.
    cd frontend && npm install
  5. Run the React server.
    npm install

(back to top)

Roadmap

  • Data visualisation
  • Export notebooks as PDF files
  • Collaborative notebooks

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

About

MySQL meets Jupyter notebooks. Grasp provides a new way to learn and write SQL, by providing a coding-notebook style with runnable blocks, markdown documentation, and shareable notebooks. ✨

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published