Skip to main content

RunServer Magic Command

概要

Jypyter(notebook/lab)・VSCodeまたはGoogle ColabでコードセルのPythonコードをサーバーとして起動するマジックコマンドです。

使い方

マジックコマンドの追加

コードセルに以下のコードを貼り付けて実行しマジックコマンドを登録してください。カーネルやランタイムを再起動する度に再実行する必要があります。

%pip install -q runservermagic
from runserver import register_run_server
register_run_server()

マジックコマンドの使い方

コードセルの冒頭に%%runservマジックコマンドを記述してください。実行するとコードセルのコードがサーバーとして実行されます。
以下はFlaskでHello Worldを表示するサーバーの例です。

実行するとサーバーを起動し、IFrameでサーバーにアクセスし出力されたwebページを表示します。

%%runserv 8000

from flask import Flask

app = Flask(__name__)


@app.route("/")
def hello():
    return "Hello World!"


app.run(port={{server_port}})

{{server_port}} はマジックコマンドの引数で指定したポート番号に置き換えられます。

起動したサーバーを停止するには%endservマジックコマンドを別のコードセルから実行してください。
同じポート番号でサーバーを起動した場合は、自動的に古いサーバーを停止してから新しいサーバーを起動します。

別のセルからIPython.display.IFrameを使用してwebページを表示することもできます。server_urlには直前に%%runservで起動したサーバーのURLが格納されています。

import IPython

IPython.display.IFrame(src=f"{server_url}/", width="100%", height=500)  # type: ignore

マジックコマンド

%%runserv

セル内のPythonコードをサーバーとして起動します。

%%runserv [port] [show_iframe] [width] [height]
  • port: サーバーのポート番号を指定します。デフォルトは 8000 です。
  • show_iframe: 起動したサーバーにアクセスするIFrameを表示するかどうかを指定します。デフォルトは False です。
  • width: IFrameの幅を指定します。デフォルトは 500 です。
  • height: IFrameの高さを指定します。デフォルトは 500 です。

%endserv

起動したサーバーを停止します。

%endserv [port]
  • port: 停止するサーバーのポート番号を指定します。デフォルトは 8000 です。

グローバル変数

run_serverマジックコマンドがあるセルを実行した後には以下のグローバル変数が登録されています

  • server_url: 直前に起動したサーバーのURLが格納されています。
  • server_url_{port番号}: 指定のポート番号で起動したサーバーのURLが格納されています。

Release files for runservermagic 3.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for runservermagic 3.0.1
File Size Uploaded
runservermagic-3.0.1.tar.gz 4.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for runservermagic 3.0.1
File Interpreter ABI Platform
runservermagic-3.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 9.6 kB

Release files / runservermagic-3.0.1.tar.gz

Download URL runservermagic-3.0.1.tar.gz
Size 4.5 kB
Tags Source
SHA-256 checksum
How to use checksums
73c946fbc2a737e1f6ddaaf255787cfdabee6a453ea4560f5d3ca8f61cca452c
BLAKE2b-256 checksum
How to use checksums
2e8ef94f77100730b5332506dd31c1fb5c5e334868cd64232456c731cd828a94
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.13.0

Release files / runservermagic-3.0.1-py3-none-any.whl

Download URL runservermagic-3.0.1-py3-none-any.whl
Size 5.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
65a5333d94da2572fc27dfde4b0fa6f77b3be6162b212fdafbb990b3715966fe
BLAKE2b-256 checksum
How to use checksums
0d9d4d334a790aa32dbbb0aef3ebb2741d518b5d79122bb3d0da121c10dfbecb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.13.0

Release history Release notifications | RSS feed

This release

3.0.1 This release

2 release files

3.0.0

2 release files

2.0.0

2 release files

1.1.0

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page