Skip to main content

Universal Python-first UI framework — one Screen-Stage-Sprite paradigm compiles to Web, desktop, mobile, TUI, and GUI, with a universal escape layer guaranteeing capability parity with any framework.

Project description

EchoUI — Universal Python-first UI framework

One Screen–Stage–Sprite paradigm compiles to Web, desktop, mobile, TUI, and GUI.

Version: 1.0.0 · License: MIT · PyPI: pip install echoui · GitHub: nichengfuben/echoui

像 npm 一样用

npm EchoUI
npm install -g vite pip install echoui[web]
npm create vite@latest my-app echoui new my-app
npm run build echoui build --target web
npm run dev echoui dev --port 8765
pip install echoui[web]
echoui new my-app
cd my-app
pip install -e .          # 安装项目依赖(含 echoui)
echoui build --target web
echoui dev --port 8765

PyPI 尚未发布 1.0.0 时,可从 GitHub 安装:

pip install "echoui[web] @ git+https://github.com/nichengfuben/echoui.git"

Quick Start(已有 main.py)

from echoui import App, Screen, Store, col, text, button

class CounterStore(Store):
    count: int = 0

store = CounterStore()

class Counter(Screen):
    def build(self):
        return col(
            text(lambda: f"Count: {store.count}"),
            button("+1", on_click=lambda: setattr(store, "count", store.count + 1)),
        )

app = App(screens=[Counter], initial="Counter")
echoui build --target web
echoui dev --port 8765

CLI

Command Description
echoui new [name] 脚手架(main.py + pyproject.toml)
echoui dev 开发服务器(watch + 静态服务)
echoui build --target web|static|tui|desktop|gui|android|ios 编译
echoui preview 预览已 build 的 dist
echoui check 校验项目
echoui version 版本

示例

examples/ 含 hello、counter、跑酷 06_runner、全功能 dashboard 07_full_web 等。

License

MIT — see LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

echoui-1.2.8.tar.gz (120.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

echoui-1.2.8-py3-none-any.whl (105.2 kB view details)

Uploaded Python 3

File details

Details for the file echoui-1.2.8.tar.gz.

File metadata

  • Download URL: echoui-1.2.8.tar.gz
  • Upload date:
  • Size: 120.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.6

File hashes

Hashes for echoui-1.2.8.tar.gz
Algorithm Hash digest
SHA256 da610cc786717918b753a74f75d29c14cfea923711315f2e6e40df4ea90e1dde
MD5 4f25c8162343a215f06dc76ba3410523
BLAKE2b-256 c9282d35e431bf507a1f93ff42c1d973980e3311a918a12e9de2e21cf4a6c6ec

See more details on using hashes here.

File details

Details for the file echoui-1.2.8-py3-none-any.whl.

File metadata

  • Download URL: echoui-1.2.8-py3-none-any.whl
  • Upload date:
  • Size: 105.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.6

File hashes

Hashes for echoui-1.2.8-py3-none-any.whl
Algorithm Hash digest
SHA256 248f1b57b52e9c9c56a51f135816188f31e38b7bce9d4f6d0e6d41549e2c443d
MD5 a6fa58b8440eaec28478f5911bf93798
BLAKE2b-256 2b6ad643ecd8d9e6d8813d1f4f0bc8af1c0a27533e0a7c919dd62b1d5ba8f7b7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page