Spaces:
Running
on
CPU Upgrade
Running
on
CPU Upgrade
working version with some TODOs
Browse files- app.py +7 -3
- requirements.txt +1 -0
app.py
CHANGED
|
@@ -10,7 +10,7 @@ from starlette.requests import Request
|
|
| 10 |
from starlette.routing import Route
|
| 11 |
|
| 12 |
client = httpx.AsyncClient()
|
| 13 |
-
html_exporter = HTMLExporter(template_name="
|
| 14 |
|
| 15 |
|
| 16 |
async def homepage(_):
|
|
@@ -25,6 +25,7 @@ async def convert(req: Request):
|
|
| 25 |
url = req.query_params.get("url")
|
| 26 |
if not url:
|
| 27 |
raise HTTPException(400, "Param url is missing")
|
|
|
|
| 28 |
r = await client.get(
|
| 29 |
url,
|
| 30 |
headers={"Authorization": f"Bearer {os.environ.get('HF_TOKEN')}"},
|
|
@@ -40,7 +41,7 @@ async def convert(req: Request):
|
|
| 40 |
try:
|
| 41 |
notebook_node: NotebookNode = nbformat.reads(
|
| 42 |
r.text,
|
| 43 |
-
as_version=
|
| 44 |
)
|
| 45 |
except nbformat.reader.NotJSONError:
|
| 46 |
print(400, f"Notebook is not JSON ({url})")
|
|
@@ -56,7 +57,10 @@ async def convert(req: Request):
|
|
| 56 |
)
|
| 57 |
|
| 58 |
print(f"Input: nbformat v{notebook_node.nbformat}.{notebook_node.nbformat_minor}")
|
| 59 |
-
|
|
|
|
|
|
|
|
|
|
| 60 |
|
| 61 |
|
| 62 |
app = Starlette(
|
|
|
|
| 10 |
from starlette.routing import Route
|
| 11 |
|
| 12 |
client = httpx.AsyncClient()
|
| 13 |
+
html_exporter = HTMLExporter(template_name="lab")
|
| 14 |
|
| 15 |
|
| 16 |
async def homepage(_):
|
|
|
|
| 25 |
url = req.query_params.get("url")
|
| 26 |
if not url:
|
| 27 |
raise HTTPException(400, "Param url is missing")
|
| 28 |
+
print("\n===", url)
|
| 29 |
r = await client.get(
|
| 30 |
url,
|
| 31 |
headers={"Authorization": f"Bearer {os.environ.get('HF_TOKEN')}"},
|
|
|
|
| 41 |
try:
|
| 42 |
notebook_node: NotebookNode = nbformat.reads(
|
| 43 |
r.text,
|
| 44 |
+
as_version=nbformat.current_nbformat,
|
| 45 |
)
|
| 46 |
except nbformat.reader.NotJSONError:
|
| 47 |
print(400, f"Notebook is not JSON ({url})")
|
|
|
|
| 57 |
)
|
| 58 |
|
| 59 |
print(f"Input: nbformat v{notebook_node.nbformat}.{notebook_node.nbformat_minor}")
|
| 60 |
+
body, _ = html_exporter.from_notebook_node(notebook_node)
|
| 61 |
+
# TODO(customize or simplify template?)
|
| 62 |
+
# TODO(also check source code for jupyter/nbviewer)
|
| 63 |
+
return HTMLResponse(body)
|
| 64 |
|
| 65 |
|
| 66 |
app = Starlette(
|
requirements.txt
CHANGED
|
@@ -1,4 +1,5 @@
|
|
| 1 |
httpx==0.23.3
|
| 2 |
starlette==0.23.1
|
|
|
|
| 3 |
nbconvert==7.2.8
|
| 4 |
uvicorn==0.20.0
|
|
|
|
| 1 |
httpx==0.23.3
|
| 2 |
starlette==0.23.1
|
| 3 |
+
ipython==8.8.0
|
| 4 |
nbconvert==7.2.8
|
| 5 |
uvicorn==0.20.0
|