コード例 #1
0
ファイル: 13.misc.py プロジェクト: wutang-financial/PyWebIO
def start_test_server():
    pywebio.enable_debug()
    start_server([corobased, partial(threadbased)],
                 port=8080,
                 host='127.0.0.1',
                 debug=True,
                 cdn=False)
コード例 #2
0
ファイル: 1.basic.py プロジェクト: wutang-financial/PyWebIO
def start_test_server():
    pywebio.enable_debug()
    start_server(target,
                 port=8080,
                 host='127.0.0.1',
                 auto_open_webbrowser=False,
                 cdn=False)
コード例 #3
0
def start_test_server():
    pywebio.enable_debug()
    start_server({
        'coro': corobased,
        'thread': threadbased
    },
                 port=8080,
                 host='127.0.0.1',
                 debug=True)
コード例 #4
0
        if new == 0:
            data = df
        else:
            data = df.rolling('{0}D'.format(new)).mean()
        source.data = ColumnDataSource.from_df(data)

    slider = Slider(start=0, end=30, value=0, step=1, title="Smoothing by N Days")
    slider.on_change('value', callback)

    doc.add_root(column([slider, plot], sizing_mode='stretch_width'))


def main():
    output_notebook(verbose=False, notebook_type='pywebio')

    put_markdown("""# Bokeh Applications in PyWebIO
    
    [Bokeh Applications](https://docs.bokeh.org/en/latest/docs/user_guide/server.html) 支持向图表的添加按钮、输入框等交互组件,并向组件添加Python回调,从而创建可以与Python代码交互的可视化图表。
    
    在PyWebIO中,你也可以使用 `bokeh.io.show()` 来显示一个Bokeh App,和输出普通图表一样,只需要在会话开始时调用 `bokeh.io.output_notebook(notebook_type='pywebio')` 来设置PyWebIO输出环境。
    
    以下为一个 Bokeh App demo:
    
    """, lstrip=True)

    show(bkapp)


if __name__ == '__main__':
    start_server(main, port=8080, debug=True)
コード例 #5
0
from pywebio import start_server
from utils import IMAGE_TO_LINK


def create_text():
    put_markdown("# Can Dinosaur and Circle Have the Same Statistics?")
    put_text(
        "Two datasets with the same mean, standard deviation, and correlation "
        "could be very different.\n\n"
        "To test this idea, choose a starting shape and a target shape. The starting shape"
        " will transform into the target shape while keeping the same statistics."
    )


def app():
    create_text()
    start_shapes = ['dino', 'big_slant']
    target_shapes = [
        'x', 'h_lines', 'v_lines', 'wide_lines', 'high_lines', 'slant_up',
        'slant_down', 'center', 'star', 'down_parab', 'circle', 'bullseye',
        'dots'
    ]

    start_shape = select(label='start_shape', options=start_shapes)
    target = select(label='target', options=target_shapes)
    put_image(IMAGE_TO_LINK[f'{start_shape}_{target}.gif'], width='100%')


if __name__ == '__main__':
    start_server(app, debug=True, port='44315')
コード例 #6
0
from pywebio import start_server

from . import cutecharts

if __name__ == '__main__':
    start_server(cutecharts, debug=True, port=8080)
コード例 #7
0
			# Text Output
		put_text(" ~~~~~~~~~~~~~~~~~~~  Check related questions above for query no", count ,"~~~~~~~~~~~~~~~~~~~~~~~~")


		flag2 = radio("You wanna give feedback :", options=['yes', 'no'])
		print("flag2 :",flag2)
		if (flag2=="yes"):
			#flag2=1

			# Multi-line text input
			text = textarea('Feedback on our output if any', rows=3, placeholder='Some text')
			print("some text :",text)
		flag = radio("You wanna continue again :", options=['yes', 'no'])
		print("flag :", flag)

		
		if (flag=="yes"):
			flag = 1
		else:
			flag = 0
			clear()
			put_markdown(""" # ~~~~~~  Thanks for using our WEB APP ~~~~~~~""", strip_indent=10)
			exit(0)
			
			
if __name__=="__main__":
	server = start_server(app, port = 3000, debug = True)
	print("server:", server)
	
				
コード例 #8
0
    if q2 == "The value of the gradient at extrema of a function is always zero":
        c += 1

    if q3 == "Decision trees are prone to be overfit":
        c += 1

    if q4 == "Normalize the data -> PCA -> training":
        c += 1

    if q5 == "Stop Word Removal":
        c += 1

    if c > 3:
        put_markdown("""# you are passed""")

    if c <= 3:
        put_markdown("""# you are failed""")


app.add_url_rule('/tool',
                 'webio_view',
                 webio_view(main),
                 methods=['GET', 'POST', 'OPTIONS'])

if __name__ == '__main__':
    parser = argparse.ArgumentParser()
    parser.add_argument("-p", "--port", type=int, default=8080)
    args = parser.parse_args()

    start_server(main, port=args.port)
コード例 #9
0
ファイル: server.py プロジェクト: warm-2233/py-script
from pywebio import hold, go_app, start_server
from pywebio.output import put_text, put_buttons, put_link


def task_1():
    put_text('task_1')
    put_buttons(['Go task 2'], [lambda: go_app('task_2')])
    hold()


def task_2():
    put_text('task_2')
    put_buttons(['Go task 1'], [lambda: go_app('task_1')])
    hold()


def index():
    put_link('Go task 1', app='task_1')  # 使用app参数指定任务名
    put_link('Go task 2', app='task_2')


start_server([
    index, task_1, task_2
])  # 或 start_server({'index': index, 'task_1': task_1, 'task_2': task_2})
コード例 #10
0
ファイル: main.py プロジェクト: StoneMoe/wolf
        # Canceled
        if data is None:
            current_user.skip()
            continue

        # Host logic
        if data.get('host_op') == '开始游戏':
            await room.start_game()
        if data.get('host_vote_op'):
            await room.vote_kill(data.get('host_vote_op'))
        # Wolf logic
        if data.get('wolf_team_op'):
            current_user.wolf_kill_player(nick=data.get('wolf_team_op'))
        # Detective logic
        if data.get('detective_team_op'):
            current_user.detective_identify_player(nick=data.get('detective_team_op'))
        # Witch logic
        if data.get('witch_team_op'):
            if data.get('witch_mode') == '解药':
                current_user.witch_heal_player(nick=data.get('witch_team_op'))
            elif data.get('witch_mode') == '毒药':
                current_user.witch_kill_player(nick=data.get('witch_team_op'))
        # Guard logic
        if data.get('guard_team_op'):
            current_user.guard_protect_player(nick=data.get('guard_team_op'))


if __name__ == '__main__':
    logger.info(f"狼人杀服务器启动成功!可以通过在浏览器内输入 http://{get_interface_ip()} 来加入游戏")
    start_server(main, debug=False, host='0.0.0.0', port=80, cdn=False)
コード例 #11
0
ファイル: web.py プロジェクト: herryliu/configure
 def start(self):
     start_server(self.appList, port=self.port, debug=True, cdn=False)
コード例 #12
0
from pywebio import start_server, hold
from pywebio.output import put_text, output, put_scrollable
from pywebio.input import input, input_group


def outp(out, il):
    print("output")


    out.append("1234567")

    out.append("1234567yhgv")

    out.append(il["aaa"])


def index():
    print("run")
    put_text("12345")
    out = output()
    put_scrollable(out, keep_bottom=True)

    while True:
        il = input_group("233", [input(name="aaa", value="23456")])
        outp(out, il)



start_server(index, port=8899)
コード例 #13
0
ファイル: app.py プロジェクト: wang0618/RaftChatRoom
        
    注意:集群至少含有两个节点才可以正常工作
    
    示例:
        # 初始化两个节点的Raft集群 
        python3 app.py 127.0.0.1:8101 127.0.0.1:8100
        python3 app.py 127.0.0.1:8100 127.0.0.1:8101
    
    2. 加入现有的Raft集群:
        
        python3 app.py  # 在弹出的浏览器中设置本节点和集群节点地址
    
    支持的环境变量
    WEB_PORT 聊天室界面的端口
    """
    import sys

    cluster = sys.argv[1:]

    if cluster:
        raft_addr = cluster[0]
        cluster = cluster[1:]
    else:
        raft_addr = None
        cluster = None

    start_server(partial(main, raft_addr=raft_addr, cluster=cluster),
                 debug=False,
                 auto_open_webbrowser=True,
                 port=int(os.environ.get("WEB_PORT", 0)))
コード例 #14
0
from pywebio import start_server

from . import bokehs

if __name__ == '__main__':
    start_server(bokehs, debug=True, port=8080, cdn=False)
コード例 #15
0
ファイル: app.py プロジェクト: niktanya/pyexplorer
        return pd.DataFrame(data[1:], columns=data[0])
    else:
        return pd.DataFrame(data)


def t(eng, rus):
    return rus if 'ru' in session_info.user_language else eng


def create_profile(df: pd.DataFrame = None, title: Optional[str] = 'Title'):
    profile = None
    with put_loading(shape='grow'):
        report = sv.analyze(df)
        # NOTE: Line below will take some time to complete...
        profile = report.show_html(layout='vertical')
    if profile:
        print(session_info.user_language)
        put_html(profile)
    else:
        put_markdown(t(
            r"""
                ## <p align="middle">_Errors occured analyzing the \"csv\" file._</p>
                """, r"""
                ## <p align="middle">_При анализе загруженного \"csv\" файла возникли ошибки._</p>
                """),
                     strip_indent=4)


if __name__ == '__main__':
    start_server(app, port=37791, debug=False, cdn=False)
コード例 #16
0
        hold()


def dead(name):
    with use_scope('dead', if_exist='remove'):
        clear_scope('dead')
        put_text('HELLO %s, WELCOME TO CHILD MODE' % name)
        put_text('今天吃大餐,明天領藥單')
        put_buttons(['重新搜尋'], onclick=[whoAreYou])
        food = search_food('dead')
        hold()


def whoAreYou():
    with use_scope('whoAreYou', if_exist='remove'):
        global name
        img = open('eatago_logo.jpg', 'rb').read()
        style(put_image(img, width='300px'), 'display: flex'
              'justify-content: center')
        if name == '':
            name = input("What is your name?",
                         type=TEXT,
                         placeholder='Annie',
                         required=True)
        choose_eat_type(name)
        #hold()
        # put_image()


start_server(whoAreYou, auto_open_webbrowser=True)
コード例 #17
0
            data = df
        else:
            data = df.rolling('{0}D'.format(new)).mean()
        source.data = ColumnDataSource.from_df(data)

    slider = Slider(start=0,
                    end=30,
                    value=0,
                    step=1,
                    title="Smoothing by N Days")
    slider.on_change('value', callback)

    doc.add_root(column([slider, plot], sizing_mode='stretch_width'))


def bk_app():
    output_notebook(verbose=False, notebook_type='pywebio')

    put_markdown("""# Bokeh Applications in PyWebIO
    [Bokeh Applications](https://docs.bokeh.org/en/latest/docs/user_guide/server.html) can be built by starting the Bokeh server. The purpose of the Bokeh server is to make it easy for Python users to create interactive web applications that can connect front-end UI events to real, running Python code.
    In PyWebIO, you can also use bokeh.io.show() to display a Bokeh App.
    You can use `bokeh.io.output_notebook(notebook_type='pywebio')` in the PyWebIO session to setup Bokeh environment. Then you can use `bokeh.io.show()` to output a boken application.
    This is a demo of Bokeh App: 
    """)

    show(bkapp)


if __name__ == '__main__':
    start_server(bk_app, port=8080, debug=True)
コード例 #18
0
ファイル: doc_demo.py プロジェクト: yokonsan/PyWebIO
            ])

        put_markdown('----')

    hold()


def get_app():
    """PyWebIO demos from document

    Run the demos from the document online.
    """
    app = {}
    try:
        demos = listdir(path.join(here_dir, 'doc_demos'))
    except Exception:
        demos = []

    for name in demos:
        code = open(path.join(here_dir, 'doc_demos', name)).read()
        title, code = code.split('\n\n', 1)
        app[name] = partial(handle_code, code=code, title=title)
        app[name] = seo('', title, app[name])

    return app


if __name__ == '__main__':
    a = get_app()
    start_server(get_app(), debug=True, port=8080, cdn=False)
コード例 #19
0
        #Prediction: "+str(result)
        img = open('output_img.jpg', 'rb').read()
        style(put_text('Middle frame from Video'), 'text-align: center')
        style(put_image(img, width='500px'),
              'display: block; margin-left: auto; margin-right: auto')
        fig = go.Figure([go.Bar(x=animals, y=list_final)])
        html = fig.to_html(include_plotlyjs="require", full_html=False)
        put_text('\n')
        style(put_text('Prediction Graph'), 'text-align: center')
        style(put_html(html), 'margin: auto')

        end = time.time()
        print("Time elapsed:", end - start)
        print(list_final)
        # put_text(tesxt)

        style(put_text('Prediction:'), 'text-align: center')
        style(put_text(str(result)), 'font-size: 200%;text-align: center')


app.add_url_rule('/tool',
                 'webio_view',
                 webio_view(predict),
                 methods=['GET', 'POST', 'OPTIONS'])

if __name__ == '__main__':
    parser = argparse.ArgumentParser()
    parser.add_argument("-p", "--port", type=int, default=8080)
    args = parser.parse_args()
    start_server(predict, port=args.port)
コード例 #20
0
        await get_result(
            'tar x{type}vf rootfs/{name}.tar.{ext} -C rootfs/{name}'.format(type='J' if ext == 'xz' else 'gz',
                                                                            name=name, ext=ext))
        popup('正在清理……')
        await get_result('rm -f rootfs/{}.tar.{}'.format(name, ext))
        popup('正在创建配置……')
        conf_template = '''
        if [ -z $1 ]; then
            {command} rootfs/{name}/ /bin/bash
        else
        {command} rootfs/{name}/ /bin/sh -c $1
        fi
        '''
        await get_result(
            'echo {cmd} > cmd/{name} && chmod +x cmd/{name}'.format(
                cmd=conf_template.format(command=command, name=name), name=name))


# Server Port 关于服务器的配置信息
if __name__ == "__main__":
    env = os.getenv('FLYOS')
    if env is None:
        env = '.'
    path = os.path.abspath(env + '/deploylinux')
    if not os.path.exists(os.path.abspath(path + "/rootfs")):
        os.mkdir(os.path.abspath(path + "/rootfs"))
    if not os.path.exists(os.path.abspath(path + "/cmd")):
        os.mkdir(os.path.abspath(path + "/cmd"))
    start_server(main, debug=True, host="0.0.0.0", port=2002)
    pywebio.session.hold()
コード例 #21
0
def start_test_server():
    pywebio.enable_debug()
    start_server(target, port=8080, host='127.0.0.1', cdn=False)
コード例 #22
0
ファイル: overview.py プロジェクト: fx0719/PyWebIO
    for i in range(15, -1, -1):
        put_text('来自主协程的倒计时:%s' % i)
        await asyncio.sleep(1)

    await asyncio.sleep(2)

    put_markdown("""
    <hr/>

    以上大概就是 PyWebIO 的所有特性了,如果觉得还不错的话,可以 Give me a 🌟 in <a href="https://github.com/wang0618/PyWebIO" target="_blank">Github</a>

    PS: <a href="https://github.com/wang0618/PyWebIO/blob/master/pywebio/demos/overview-zh.py" target="_blank">在这里</a>你可以找到生成本页面的脚本
    PPS:开头提到的彩蛋揭晓:"用自己来介绍自己"很具计算机领域风格,对此发挥至极的是<a href="https://en.wikipedia.org/wiki/Quine_(computing)" target="_blank">Quine</a>的概念,"A quine is a program which prints a copy of its own as the only output. "
    """,
                 strip_indent=4)


if __name__ == '__main__':
    parser = argparse.ArgumentParser(description='PyWebIO Overview demo')
    parser.add_argument('--host', default='localhost', help='server bind host')
    parser.add_argument('--port', type=int, default=0, help='server bind port')
    args = parser.parse_args()

    start_server(feature_overview,
                 debug=True,
                 auto_open_webbrowser=True,
                 host=args.host,
                 port=args.port,
                 allowed_origins=['http://localhost:63342'])
コード例 #23
0
    chart.set_options(dot_size=2, y_tick_count=8)
    chart.add_series("series-A",
                     [(z[0], z[1])
                      for z in zip(Faker.values(), Faker.values())])
    chart.add_series("series-B",
                     [(z[0], z[1])
                      for z in zip(Faker.values(), Faker.values())])
    return chart


def scatter_show_line():
    chart = Scatter("Scatter-散点连成线", width="100%")
    chart.set_options(y_tick_count=8, is_show_line=True)
    chart.add_series("series-A",
                     [(z[0], z[1])
                      for z in zip(Faker.values(), Faker.values())])
    chart.add_series("series-B",
                     [(z[0], z[1])
                      for z in zip(Faker.values(), Faker.values())])
    return chart


def main():
    page = Page()
    page.add(scatter_base(), scatter_dotsize_tickcount(), scatter_show_line())
    put_html(page.render_notebook())


if __name__ == '__main__':
    start_server(main, debug=True, port=8080)
コード例 #24
0
ファイル: main.py プロジェクト: saurabhtalele/finitediff
    defff_type = select('diferentiation scheme Type',
                        ['forwrd', 'backwrd', 'central'])
    if (defff_type == 'forwrd'):
        defff_type = forwrd()

    elif (defff_type == 'backwrd'):
        defff_type = backwrd()

    elif (defff_type == 'central'):
        defff_type = central()

    bmi = deff_type


app.add_url_rule('/tool',
                 'webio_view',
                 webio_view(bmi),
                 methods=['GET', 'POST',
                          'OPTIONS'])  # need GET,POST and OPTIONS methods

# app.run(host='localhost', port=500)
if __name__ == '__main__':
    import argparse

    parser = argparse.ArgumentParser()
    parser.add_argument("-p", "--port", type=int, default=800)
    args = parser.parse_args()

    start_server(bmi, port=args.port)
コード例 #25
0
    
    ## BMI指数计算器
    本程序的源代码[链接](https://github.com/wang0618/PyWebIO/blob/dev/demos/bmi.py)
    
    """),
                 strip_indent=4)

    info = input_group(t('BMI calculation', '计算BMI:'), [
        input(t("Your Height(cm)", "请输入你的身高(cm)"), name="height", type=FLOAT),
        input(t("Your Weight(kg)", "请输入你的体重(kg)"), name="weight", type=FLOAT),
    ])

    BMI = info['weight'] / (info['height'] / 100)**2

    top_status = [(14.9, t('Severely underweight', '极瘦')),
                  (18.4, t('Underweight', '偏瘦')), (22.9, t('Normal', '正常')),
                  (27.5, t('Overweight', '过重')),
                  (40.0, t('Moderately obese', '肥胖')),
                  (float('inf'), t('Severely obese', '非常肥胖'))]

    for top, status in top_status:
        if BMI <= top:
            put_markdown(
                t('Your BMI: `%.1f`, Category: `%s`',
                  '你的 BMI 值: `%.1f`,身体状态: `%s`') % (BMI, status))
            break


if __name__ == '__main__':
    start_server(main)
コード例 #26
0
import pywebio
from pywebio.input import input, FLOAT
from pywebio.output import put_text, put_html, put_markdown, put_table

def bmi():
    height = input("Input your height(cm):", type=FLOAT)
    weight = input("Input your weight(kg):", type=FLOAT)

    BMI = weight / (height / 100) ** 2

    top_status = [(16, 'Severely underweight'), (18.5, 'Underweight'),
                  (25, 'Normal'), (30, 'Overweight'),
                  (35, 'Moderately obese'), (float('inf'), 'Severely obese')]

    for top, status in top_status:
        if BMI <= top:
            put_markdown('# **Results**')
            put_html('<br><br>')
            put_markdown('Your BMI: `%.1f`. Category: `%s`' % (BMI, status))
            put_html('<hr>')
            put_table([
                ['Your BMI', 'Category'],
                [BMI, status],
            ])

            break

if __name__ == '__main__':
    pywebio.start_server(bmi, port=55)
コード例 #27
0
ファイル: bmi.py プロジェクト: hivandu/practise
    
    ## BMI指数计算器
    本程序的源代码[链接](https://github.com/wang0618/PyWebIO/blob/dev/demos/bmi.py)
    
    """),
                 strip_indent=4)

    info = input_group(t('BMI calculation', '计算BMI:'), [
        input(t("Your Height(cm)", "请输入你的身高(cm)"), name="height", type=FLOAT),
        input(t("Your Weight(kg)", "请输入你的体重(kg)"), name="weight", type=FLOAT),
    ])

    BMI = info['weight'] / (info['height'] / 100)**2

    top_status = [(14.9, t('Severely underweight', '极瘦')),
                  (18.4, t('Underweight', '偏瘦')), (22.9, t('Normal', '正常')),
                  (27.5, t('Overweight', '过重')),
                  (40.0, t('Moderately obese', '肥胖')),
                  (float('inf'), t('Severely obese', '非常肥胖'))]

    for top, status in top_status:
        if BMI <= top:
            put_markdown(
                t('Your BMI: `%.1f`, Category: `%s`',
                  '你的 BMI 值: `%.1f`,身体状态: `%s`') % (BMI, status))
            break


if __name__ == '__main__':
    start_server(main, debug=True, port=8080, cdn=False)
コード例 #28
0
               options=FONTS,
               value='Arial',
               name='font'),
        input("Select your text size", value='16', type=NUMBER, name='size')
    ])


def create_page(pdf, text: str, font: str, size: int):
    pdf.add_page()
    pdf.set_font(font, '', size)

    lines = text.split('\n')
    for i, sent in enumerate(lines):
        pdf.cell(40, 10, sent, 0, i + 1)


def create_pdf(pages: list,
               font: str,
               size: int,
               save_location: str = "output.pdf"):

    pdf = FPDF()
    for page in pages:
        create_page(pdf, page, font, size)

    pdf.output(save_location, 'F')


if __name__ == '__main__':
    start_server(app, port=36535, debug=True)
コード例 #29
0
ファイル: server.py プロジェクト: ChenYifei21/flyos
    put_text('FlyOS Panel By:XingYuJie', sep=' ')
    popup(
        '欢迎使用FlyOS Panel!', '欢迎使用FlyOS WEB Panel!'
        '如果程序有Bug,'
        '请务必提交到邮箱:[email protected]谢谢!'
        '程序由MicroTech Projects -- FlyOS强力驱动')
    put_link("web终端", url=f'http://{get_host_ip()}:7681')
    put_text('_______________________', sep=' ')
    put_link("VM虚拟机", url=f'http://{get_host_ip()}:8002')
    put_text('_______________________', sep=' ')
    put_link("vscode", url=f'http://{get_host_ip()}:2001')
    put_text('_______________________', sep=' ')
    put_link("Apache主页", url=f'http://{get_host_ip()}:8080')
    put_text('_______________________', sep=' ')
    put_link("Nginx主页", url=f'http://{get_host_ip()}:8088')
    put_text('_______________________', sep=' ')
    put_link("HTTP文件服务器", url=f'http://{get_host_ip()}:8081')
    put_text('_______________________', sep=' ')
    put_link("jupyter notebook", url=f'http://{get_host_ip()}:2000')
    put_text('_______________________', sep=' ')
    put_link("FlyOS桌面环境", url=f'http://{get_host_ip()}:6081/vnc.html')
    put_text('_________系统工具__________', sep=' ')
    put_link("FlyOS AM调用 ", url=f'http://{get_host_ip()}:5000')
    put_text('_______________________', sep=' ')
    put_link("FlyOS Termux:API调用 ", url=f'http://{get_host_ip()}:5002')


if __name__ == '__main__':
    start_server(main, debug=True, host='0.0.0.0', port=8888)
    pywebio.session.hold()
コード例 #30
0
def main():
    start_server(page, port=8080, auto_open_webbrowser=True)