2019 release notes

本页面包含2019年发布的Streamlit版本的发布说明。有关Streamlit的最新版本,请参阅发布说明

发布日期:2019年12月20日

亮点:

  • 📤 文件上传小部件的预览版发布。要尝试它,只需调用 st.file_uploader

    请注意,作为预览版,近期可能会有变化。 我们期待在稳定API之前听到社区的反馈!

  • 👋 支持在 st.writest.markdown 中使用 emoji codes!试试看 st.write("Hello :wave:")

重大变更:

  • 🧹 st.pyplot 现在默认清除图表,因为这是99%的情况下你想要的。这允许你创建两个或更多的Matplotlib图表,而不必每次都调用 pyplot.clf 。如果你想关闭这个行为,使用 st.pyplot(clear_figure=False)
  • 📣 st.cache 不再检查输入变化。这是我们简化缓存系统并为 Streamlit 推出其他缓存原语(如会话状态)所做的第一项更改!

发布日期:2019年11月30日

亮点:

  • 🐕 您现在可以通过配置选项 server.fileWatcherType 来调整文件监视器的行为。使用它可以在以下选项之间切换:
    • auto(默认):Streamlit 将尝试使用 watchdog 模块,如果 watchdog 不可用,则回退到轮询。
    • watchdog:强制 Streamlit 使用 watchdog 模块。
    • poll:强制 Streamlit 始终使用轮询。
    • none:Streamlit 将不会监视文件。

显著的错误修复:

  • 修复静态报告共享中的“keyPrefix”选项 #724
  • 为DeckGL图表添加对getColorX和getTargetColorX的支持 #718
  • 修复Windows + Python 3.8上的Tornado #682
  • 如果Linux上没有安装xdg-open,则回退到webbrowser #701
  • 修复Firefox中数字输入旋转按钮的问题 #683
  • 修复Windows上的CTRL+ENTER #699
  • 在无头模式下不要自动创建凭证文件 #467

发布日期:2019年11月10日

亮点:

  • 👩‍🎓 支持SymPy并能使用LaTeX绘制数学表达式!参见 st.latex, st.markdown, 和 st.write.
  • 🌄 您现在可以使用环境变量来设置配置选项。例如, export STREAMLIT_SERVER_PORT=9876
  • 🐱 能够直接使用Github和Gist URL调用streamlit run。无需先获取“原始”URL!
  • 📃 更清晰的异常堆栈跟踪。我们现在从用户应用程序产生的堆栈跟踪中移除了所有与Streamlit相关的代码。

发布日期:2019年10月23日

亮点:

  • 💯 新的输入小部件,用于通过键盘输入数字:st.number_input()
  • 📺 音频/视频改进:能够从URL加载,嵌入YouTube视频,并设置开始位置。
  • 🤝 你现在可以(再次)将应用程序的静态快照分享到S3!请查看streamlit config show的S3部分进行设置。然后从右上角菜单分享。
  • ⚙️ 使用 server.baseUrlPath 配置选项将 Streamlit 的 URL 设置为类似 http://domain.com/customPath 的内容。

显著的错误修复:

发布日期:2019年10月12日

亮点:

  • 🔧 能够将配置选项设置为命令行标志或在本地配置文件中。
  • ↕️ 您现在可以最大化图表和图像!
  • ⚡ 当快速连续地向您的应用程序写入数据时,Streamlit 现在速度更快。
  • ✳️ 能够从“保存时运行”和@st.cache哈希中排除文件夹通配符。
  • 🎛️ 当Python文件被修改时,改进了小部件状态的处理。
  • 🙈 改进了st.writest.markdown中的HTML支持。不过,HTML仍然是不安全的!

显著的错误修复:

  • 修复了与当前工作目录中的Python环境相关的@st.cache错误。Issue #242
  • 修复了在Windows上加载根URL /的问题。Issue #244

发布日期:2019年10月1日

亮点:

  • 🌄 新的 hello.py 展示了4个精彩的 Streamlit 应用程序。试试看吧!
  • 🔄 当8501端口已被使用时,Streamlit现在会自动选择一个未使用的端口。
  • 🎁 侧边栏支持现已结束测试阶段!只需使用 st.sidebar. 而不是 st. 开始任何命令。
  • ⚡ 性能改进:我们在WebSocket层添加了缓存,因此在运行之间数据未更改时,我们不再重新向浏览器发送数据
  • 📈 我们的“原生”图表 st.line_chartst.area_chartst.bar_chart 现在在后台使用 Altair
  • 🔫 改进的小部件:自定义 st.slider 标签;多选中的默认值
  • 🕵️‍♀️ 文件系统监视器现在忽略隐藏文件夹和虚拟环境
  • 💅 在缓存和小部件状态管理方面进行了大量优化

重大变更:

  • 🛡️ 我们暂时禁用了分享Streamlit应用的静态“快照”功能。现在我们不再处于有限访问的测试阶段,我们需要确保分享功能经过深思熟虑,并遵守像DMCA这样的法律。但我们正在努力寻找解决方案!

发布日期:2019年9月19日

亮点:

  • ✨ 魔法命令!使用 st.write 而无需输入 st.write。查看 https://docs.streamlit.io/en/latest/api.html#magic-commands
  • 🎛️ 新的 st.multiselect 小部件。
  • 🐍 修复了许多安装问题,现在即使在 Conda 中也可以使用 pip install streamlit!因此,我们已停用我们的 Conda 仓库。
  • 🐞 多个错误修复和额外的优化,为我们的发布做准备!

重大变更:

发布日期:2019年8月28日

亮点:

  • 😱 实验性支持 侧边栏!如果您想成为测试版测试者,请告诉我们。
  • 🎁 完全重新设计的 st.cache!性能更佳,API 更简洁, 支持缓存由 @st.cached 函数调用的函数, 用户友好的错误信息,以及更多功能!
  • 🖼️ 极速的 st.image,能够在JPEG和PNG压缩之间选择,以及在RGB和BGR(用于OpenCV)之间选择。
  • 💡 更智能的API用于 st.slider, st.selectbox, 和 st.radio.
  • 🤖 自动修复 Matplotlib 后端 -- 无需编辑 .matplotlibrc

发布日期:2019年7月28日

亮点:

  • ⚡ 当你在Streamlit代码上执行ctrl-c/重新运行时,闪电般的快速重连
  • 📣 连接失败时提供有用的错误信息
  • 💎 修复了多个错误并改进了我们新发布的交互式小部件的抛光效果

发布日期:2019年7月9日

亮点:

  • ⚡ 支持交互式小部件!🎈🎉

发布日期:2019年7月1日

亮点:

  • 💾 能够将Vega-Lite和Altair图表保存为SVG或PNG
  • 🐇 我们现在在您的浏览器中缓存JS文件以加快加载速度
  • ⛔ 改进Streamlit应用程序内部的错误处理

发布日期:2019年6月24日

亮点:

  • 📈 极大地改进了我们对Vega-Lite和Altair中命名数据集的支持
  • 🙄 添加了在监视文件更改时忽略某些文件夹的功能。请参阅 server.folderWatchBlacklist 配置选项。
  • ☔ 对用户脚本和导入模块的语法错误更具鲁棒性

发布日期:2019年6月10日

亮点:

  • Streamlit 的速度快了10倍以上。只需保存并立即查看您的分析更新。
  • 我们改变了你运行Streamlit应用的方式: $ streamlit run your_script.py [script args]
  • 与之前的Streamlit版本不同,streamlit run [script] [script args] 会创建一个服务器(现在你不需要担心代理是否启动)。要关闭服务器,你只需要按下 Ctrl+c

为什么这快这么多?

现在,Streamlit 保持一个 Python 会话运行,直到你关闭服务器。这意味着 Streamlit 可以在不启动新进程的情况下重新运行你的代码;导入的库会被缓存到内存中。一个额外的好处是 st.cache 现在将缓存到内存而不是磁盘。

如果我以旧方式运行Streamlit会发生什么?

如果你运行 $ python your_script.py 脚本将从顶部到底部执行,但不会生成一个 Streamlit 应用。

新架构有哪些限制?

  • 要切换Streamlit应用程序,首先您需要使用Ctrl-c终止Streamlit服务器。然后,您可以使用streamlit run来生成下一个应用程序。
  • Streamlit 只能在 Python 文件中使用,不能从 Python REPL 交互式使用。

我还需要知道什么?

  • liveSave开启时,我们打印到命令行的字符串已被清理。您可能需要调整依赖这些字符串的任何正则表达式。

  • 许多配置选项已被重命名:

    旧配置新配置
    proxy.isRemoteserver.headless
    proxy.liveSaveserver.liveSave
    proxy.runOnSaveserver.runOnSave
    proxy.watchFileSystemserver.runOnSave
    proxy.enableCORSserver.enableCORS
    proxy.portserver.port
    browser.proxyAddressbrowser.serverAddress
    browser.proxyPortbrowser.serverPort
    client.waitForProxySecsn/a
    client.throttleSecsn/a
    client.tryToOutliveProxyn/a
    client.proxyAddressn/a
    client.proxyPortn/a
    proxy.autoCloseDelaySecsn/a
    proxy.reportExpirationSecsn/a

如果出现问题怎么办?

如果新的Streamlit无法正常工作,请通过Slack或电子邮件告知我们。您可以随时使用以下命令降级:

pip install --upgrade streamlit==0.37
conda install streamlit=0.37

接下来是什么?

感谢您与我们一同走过这段旅程!这个版本的Streamlit为交互式小部件奠定了基础,这是我们非常兴奋地将在未来几个月与您分享的Streamlit新功能。

发布日期:2019年5月3日

亮点

  • 🚣‍♀️ st.progress() 现在也接受 0.0–1.0 的浮点数
  • 🤯 改进了DataFrames中长标题的渲染效果
  • 🔐 共享应用现在默认使用 HTTPS

发布日期:2019年4月26日

亮点

  • 📷 支持Bokeh!查看st.bokeh_chart的文档
  • ⚡️ 改进了保存应用的大小和加载时间
  • ⚾️ 在整个代码库中实现了更好的错误捕获
forum

还有问题吗?

我们的 论坛 充满了有用的信息和Streamlit专家。