diff --git a/examples/apps/fastApi/main.py b/examples/apps/fastApi/main.py index 025184c45c..3de7c5709d 100644 --- a/examples/apps/fastApi/main.py +++ b/examples/apps/fastApi/main.py @@ -1,40 +1,19 @@ +import panel as pn from bokeh.embed import server_document -from panel.io.server import Server from fastapi import FastAPI, Request from fastapi.templating import Jinja2Templates -from starlette.middleware.cors import CORSMiddleware -from starlette.middleware import Middleware -from threading import Thread -from tornado.ioloop import IOLoop from sliders.pn_app import createApp app = FastAPI() templates = Jinja2Templates(directory="templates") -app.add_middleware( # Middleware to serve panel apps asynchronously via starlette - CORSMiddleware, - allow_origins=['*'], - allow_credentials=True, - allow_methods=["*"], - allow_headers=["*"], -) - - @app.get("/") async def bkapp_page(request: Request): script = server_document('http://127.0.0.1:5000/app') return templates.TemplateResponse("base.html", {"request": request, "script": script}) -def bk_worker(): - server = Server({'/app': createApp}, - port=5000, io_loop=IOLoop(), - allow_websocket_origin=["*"]) - - server.start() - server.io_loop.start() - -th = Thread(target=bk_worker) -th.daemon = True -th.start() \ No newline at end of file +pn.serve({'/app': createApp}, + port=5000, allow_websocket_origin=["127.0.0.1:8000"], + address="127.0.0.1", show=False) \ No newline at end of file diff --git a/examples/apps/fastApi/sliders/pn_app.py b/examples/apps/fastApi/sliders/pn_app.py index 6b0b74391e..fbc742c881 100644 --- a/examples/apps/fastApi/sliders/pn_app.py +++ b/examples/apps/fastApi/sliders/pn_app.py @@ -2,7 +2,6 @@ from .sinewave import SineWave -def createApp(doc): +def createApp(): sw = SineWave() - row = pn.Row(sw.param, sw.plot) - row.server_doc(doc) \ No newline at end of file + return pn.Row(sw.param, sw.plot).servable() \ No newline at end of file diff --git a/examples/apps/fastApi_multi_apps/main.py b/examples/apps/fastApi_multi_apps/main.py index 59e00e7a58..37d26fface 100644 --- a/examples/apps/fastApi_multi_apps/main.py +++ b/examples/apps/fastApi_multi_apps/main.py @@ -1,11 +1,7 @@ +import panel as pn from bokeh.embed import server_document -from panel.io.server import Server from fastapi import FastAPI, Request from fastapi.templating import Jinja2Templates -from starlette.middleware.cors import CORSMiddleware -from starlette.middleware import Middleware -from threading import Thread -from tornado.ioloop import IOLoop from sliders.pn_app import createApp from sliders2.pn_app import createApp2 @@ -13,14 +9,6 @@ app = FastAPI() templates = Jinja2Templates(directory="templates") -app.add_middleware( # Middleware to serve panel apps asynchronously via starlette - CORSMiddleware, - allow_origins=['*'], - allow_credentials=True, - allow_methods=["*"], - allow_headers=["*"], -) - @app.get("/") async def bkapp_page(request: Request): @@ -32,14 +20,6 @@ async def bkapp_page2(request: Request): script = server_document('http://127.0.0.1:5000/app2') return templates.TemplateResponse("app2.html", {"request": request, "script": script}) -def bk_worker(): - server = Server({'/app': createApp, '/app2': createApp2}, - port=5000, io_loop=IOLoop(), - allow_websocket_origin=["*"]) - - server.start() - server.io_loop.start() - -th = Thread(target=bk_worker) -th.daemon = True -th.start() \ No newline at end of file +pn.serve({'/app': createApp, '/app2': createApp2}, + port=5000, allow_websocket_origin=["127.0.0.1:8000"], + address="127.0.0.1", show=False) \ No newline at end of file diff --git a/examples/apps/fastApi_multi_apps/sliders/pn_app.py b/examples/apps/fastApi_multi_apps/sliders/pn_app.py index 6b0b74391e..fbc742c881 100644 --- a/examples/apps/fastApi_multi_apps/sliders/pn_app.py +++ b/examples/apps/fastApi_multi_apps/sliders/pn_app.py @@ -2,7 +2,6 @@ from .sinewave import SineWave -def createApp(doc): +def createApp(): sw = SineWave() - row = pn.Row(sw.param, sw.plot) - row.server_doc(doc) \ No newline at end of file + return pn.Row(sw.param, sw.plot).servable() \ No newline at end of file diff --git a/examples/apps/fastApi_multi_apps/sliders2/pn_app.py b/examples/apps/fastApi_multi_apps/sliders2/pn_app.py index 1c3d79d440..6c9a9339db 100644 --- a/examples/apps/fastApi_multi_apps/sliders2/pn_app.py +++ b/examples/apps/fastApi_multi_apps/sliders2/pn_app.py @@ -2,7 +2,6 @@ from .sinewave import SineWave -def createApp2(doc): +def createApp2(): sw = SineWave() - row = pn.Row(sw.param, sw.plot) - row.server_doc(doc) \ No newline at end of file + return pn.Row(sw.param, sw.plot).servable() \ No newline at end of file diff --git a/examples/apps/fastApi_multi_apps/templates/app2.html b/examples/apps/fastApi_multi_apps/templates/app2.html index 618af12a67..f464353e5d 100644 --- a/examples/apps/fastApi_multi_apps/templates/app2.html +++ b/examples/apps/fastApi_multi_apps/templates/app2.html @@ -4,6 +4,7 @@