Python 版 Shiny
Shiny for Python 是使用 Python 构建快速、美观 Web 应用的最佳方式。你可以使用 Shiny 快速构建,并在一个下午内创建简单的交互式可视化和原型应用。但与面向数据科学家的其他框架不同,Shiny 不会限制你应用的增长。Shiny 保持了足够的可扩展性,足以支撑大型、关键任务应用。
要了解有关 Shiny 的更多信息,请参阅 Shiny for Python 网站。如果你是该框架的新手,我们推荐以下资源:
-
响应式编程如何帮助你构建更好的应用。
-
如何使用模块高效开发大型应用。
-
在 Connect Cloud、shinyapps.io、Hugging Face 或 Shinylive 上免费托管应用。
加入讨论
如果你有关于 Shiny for Python 的问题,或者想帮助我们决定接下来要做什么,加入我们的 Discord。
入门
要开始使用 shiny,请遵循安装说明,或者直接使用 uv 进行安装。
uv pip install shiny
要安装最新的开发版本:
uv pip install git+https://github.com/posit-dev/py-shiny.git
你可以使用 shiny create 创建并运行你的第一个应用程序,CLI 会询问你想使用哪个模板。你可以选择使用 Shiny 扩展来运行应用程序,或者调用 shiny run app.py --reload --launch-browser。
Agent Skills
shiny 包附带了捆绑的 Agent Skills — 参考文档,用于指导编码代理(Claude Code、Cursor 等)如何使用 shiny 的公共 API 来构建、样式化、测试和调试 Shiny for Python 应用程序。这些技能随包一起安装,因此一旦 shiny 成为你项目的依赖项,你就可以通过 library-skills 将技能提供给你的代理:
# Claude Code (installs into .claude/skills):
uvx library-skills --claude
# Standard .agents/skills location (add --copy on Windows):
uvx library-skills
library-skills 将打包的技能符号链接到你的项目中,以便在升级 shiny 时保持同步。有关更多详细信息,请参阅 shiny skills --help。
Development
- 从
main分支构建的 Shinylive:https://posit-dev.github.io/py-shiny/shinylive/py/examples/ main分支的 API 文档:
如果你正在从 fork 进行开发,可能没有原始仓库的 git 标签。 Git 标签是安装成功所必需的。要将标签添加到你自己的 fork:
git remote add upstream https://github.com/posit-dev/py-shiny.git
git fetch --tags upstream
然后安装:
uv pip install -e ".[dev,test,doc]"
此外,您可以安装 pre-commit 钩子,在提交代码时自动重新格式化并检查代码:
pre-commit install
# To disable:
# pre-commit uninstall
测试现在应该通过:
make check
# To apply formatting fixes instead of erroring:
# make check-fix
或者仅使用以下命令即可获取完整的辅助函数列表:
make
通常,在为 Shiny 开发新功能时,你希望在一个应用程序中尝试它们。
在一个独立的应用程序目录中,你可以使用 -e 来引用你本地的 py-shiny 检出:
# Rather than
# uv pip install shiny
# run:
uv pip install -e ../py-shiny --config-settings editable_mode=compat
请参阅 docs README 以获取在本地构建文档的说明。