
A New Way to Write & Learn SQL
Report Bug
·
Request Feature
Table of Contents
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:
- Save the queries and their results.
- Share notebooks so that others can view them.
- 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:
- Python
- FastAPI
- Planetscale
- React.js
To get a local copy up and running follow these simple steps.
- npm
npm install npm@latest -g
- 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
- Clone the repo
git clone https://github.com/outoflaksh/grasp-notebooks.git
- Install the Python dependencies using Pipenv or the
requirements.txt
file.Then, run the FastAPI server with Uvicorn.pip3 install -r requirements.txt OR pip3 install pipenv pipenv install pipenv shell
uvicorn api.main:app
- Install dependencies for the React frontend.
cd frontend && npm install
- Run the React server.
npm install
- Data visualisation
- Export notebooks as PDF files
- Collaborative notebooks
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!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request