<p>I have deployed Jupyterhub on Kubernetes following this guide <a href="https://zero-to-jupyterhub.readthedocs.io/en/latest/" rel="nofollow noreferrer">link</a>, I have setup nbgrader and ngshare on jupyterhub using this guide <a href="https://nbgrader.readthedocs.io/en/stable/configuration/jupyterhub_config.html" rel="nofollow noreferrer">link</a>, I have a Learning management system(LMS) similar to moodle, I want to view the list of assignments both for instructors and students I can do that by using the rest API of Jupyternotebook like this</p>
<pre><code>import requests
import json

api_url = 'http://xx.xxx.xxx.xx/user/kevin/api/contents/release'
payload = {'token': 'XXXXXXXXXXXXXXXXXXXXXXXXXX'}
r = requests.get(api_url,params = payload)

r.raise_for_status()
users = r.json()
print(json.dumps(users, indent = 1))
</code></pre>
<p>now I want to grade all submitted assignments using the nbgrader command <code>nbgrader autograde &quot;Assignment1&quot;</code>, I can do that by logging into instructor notebook server and going to terminal and running the same command but I want to run this command on the notebook server terminal using Jupyter Notebook server rest API, so that instructor clicks on grade button on the LMS frontend which sends a request to LMS backend and which sends a rest API request(which has the above command) to jupyter notebook , which runs the command on terminal and returns the response to LMS backend. I cannot find anything similar on the Jupyter Notebook API <a href="https://jupyter-server.readthedocs.io/en/latest/developers/rest-api.html" rel="nofollow noreferrer"> documentation</a> there is endpoint to start a terminal but not how to run commands on it.</p>

<p>An easier way to invoke terminal using jupyter-notebooks is to use magic function %%bash and use the jupyter cell as a terminal:</p>
<pre><code>%%bash
head xyz.txt
pip install keras
git add model.h5.dvc data.dvc metrics.json
git commit -m &quot;Second model, trained with 2000 images&quot;
</code></pre>
<p>For more information refer to this <a href="https://www.dominodatalab.com/blog/lesser-known-ways-of-using-notebooks" rel="nofollow noreferrer">Advance Jupyter notebook Tricks.</a></p>
<p><strong>Check this <a href="https://stackoverflow.com/questions/54475896/interact-with-jupyter-notebooks-via-api">Link</a> to Interact with Jupyter Notebooks via AP</strong></p>
