Readme for Notebook gRPC API
This is a Notebook gRPC API implemented in Python. It allows users to create, read, update, and delete notebooks, as well as create, read, update, and delete cells within the notebooks. It uses the Notebook protobuf messages and gRPC services to communicate between client and server.
This project uses poetry for dependency management.
- Clone the repository
- Make a directory called
notebooks
inside the project. This will be used to store your (serialized) notebooks. - Install dependencies with
poetry install
- Set up the database URL in
config/db_env.py
- Run the server with
python server.py
Once the server is running, you can use the Notebook gRPC API to interact with notebooks and cells. You can use the Notebook gRPC client to interact with the server or use any gRPC client of your choice.
A sample client is given in client.py
. Run the client with this command python client.py
.
Create a new notebook.
Get an existing notebook by ID.
Update an existing notebook.
Delete an existing notebook.
List all existing notebooks.
Create a new cell in a notebook.
Get an existing cell by ID.
Update an existing cell.
Delete an existing cell.
Execute the source code in a cell and return the output.
This project is licensed under the MIT License.