2019 release notes
本页面包含2019年发布的Streamlit版本的发布说明。有关Streamlit的最新版本,请参阅发布说明。
Version 0.52.0
发布日期:2019年12月20日
亮点:
-
📤 文件上传小部件的预览版发布。要尝试它,只需调用
st.file_uploader!请注意,作为预览版,近期可能会有变化。 我们期待在稳定API之前听到社区的反馈!
-
👋 支持在
st.write和st.markdown中使用 emoji codes!试试看st.write("Hello :wave:")。
重大变更:
- 🧹
st.pyplot现在默认清除图表,因为这是99%的情况下你想要的。这允许你创建两个或更多的Matplotlib图表,而不必每次都调用pyplot.clf。如果你想关闭这个行为,使用st.pyplot(clear_figure=False) - 📣
st.cache不再检查输入变化。这是我们简化缓存系统并为 Streamlit 推出其他缓存原语(如会话状态)所做的第一项更改!
Version 0.51.0
发布日期: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
Version 0.50.1
发布日期:2019年11月10日
亮点:
- 👩🎓 支持SymPy并能使用LaTeX绘制数学表达式!参见
st.latex,st.markdown, 和st.write. - 🌄 您现在可以使用环境变量来设置配置选项。例如,
export STREAMLIT_SERVER_PORT=9876。 - 🐱 能够直接使用Github和Gist URL调用
streamlit run。无需先获取“原始”URL! - 📃 更清晰的异常堆栈跟踪。我们现在从用户应用程序产生的堆栈跟踪中移除了所有与Streamlit相关的代码。
Version 0.49.0
发布日期:2019年10月23日
亮点:
- 💯 新的输入小部件,用于通过键盘输入数字:
st.number_input() - 📺 音频/视频改进:能够从URL加载,嵌入YouTube视频,并设置开始位置。
- 🤝 你现在可以(再次)将应用程序的静态快照分享到S3!请查看
streamlit config show的S3部分进行设置。然后从右上角菜单分享。 - ⚙️ 使用
server.baseUrlPath配置选项将 Streamlit 的 URL 设置为类似http://domain.com/customPath的内容。
显著的错误修复:
Version 0.48.0
发布日期:2019年10月12日
亮点:
- 🔧 能够将配置选项设置为命令行标志或在本地配置文件中。
- ↕️ 您现在可以最大化图表和图像!
- ⚡ 当快速连续地向您的应用程序写入数据时,Streamlit 现在速度更快。
- ✳️ 能够从“保存时运行”和
@st.cache哈希中排除文件夹通配符。 - 🎛️ 当Python文件被修改时,改进了小部件状态的处理。
- 🙈 改进了
st.write和st.markdown中的HTML支持。不过,HTML仍然是不安全的!
显著的错误修复:
- 修复了与当前工作目录中的Python环境相关的
@st.cache错误。Issue #242 - 修复了在Windows上加载根URL
/的问题。Issue #244
Version 0.47.0
发布日期:2019年10月1日
亮点:
- 🌄 新的 hello.py 展示了4个精彩的 Streamlit 应用程序。试试看吧!
- 🔄 当8501端口已被使用时,Streamlit现在会自动选择一个未使用的端口。
- 🎁 侧边栏支持现已结束测试阶段!只需使用
st.sidebar.而不是st.开始任何命令。 - ⚡ 性能改进:我们在WebSocket层添加了缓存,因此在运行之间数据未更改时,我们不再重新向浏览器发送数据
- 📈 我们的“原生”图表
st.line_chart、st.area_chart和st.bar_chart现在在后台使用 Altair - 🔫 改进的小部件:自定义 st.slider 标签;多选中的默认值
- 🕵️♀️ 文件系统监视器现在忽略隐藏文件夹和虚拟环境
- 💅 在缓存和小部件状态管理方面进行了大量优化
重大变更:
- 🛡️ 我们暂时禁用了分享Streamlit应用的静态“快照”功能。现在我们不再处于有限访问的测试阶段,我们需要确保分享功能经过深思熟虑,并遵守像DMCA这样的法律。但我们正在努力寻找解决方案!
Version 0.46.0
发布日期:2019年9月19日
亮点:
- ✨ 魔法命令!使用
st.write而无需输入st.write。查看 https://docs.streamlit.io/en/latest/api.html#magic-commands - 🎛️ 新的
st.multiselect小部件。 - 🐍 修复了许多安装问题,现在即使在 Conda 中也可以使用
pip install streamlit!因此,我们已停用我们的 Conda 仓库。 - 🐞 多个错误修复和额外的优化,为我们的发布做准备!
重大变更:
- 🛡️ 默认情况下,HTML标签现在在
st.write/st.markdown中被列入黑名单。更多信息和临时解决方法请访问: https://github.com/streamlit/streamlit/issues/152
Version 0.45.0
发布日期:2019年8月28日
亮点:
- 😱 实验性支持 侧边栏!如果您想成为测试版测试者,请告诉我们。
- 🎁 完全重新设计的
st.cache!性能更佳,API 更简洁, 支持缓存由@st.cached函数调用的函数, 用户友好的错误信息,以及更多功能! - 🖼️ 极速的
st.image,能够在JPEG和PNG压缩之间选择,以及在RGB和BGR(用于OpenCV)之间选择。 - 💡 更智能的API用于
st.slider,st.selectbox, 和st.radio. - 🤖 自动修复 Matplotlib 后端 -- 无需编辑 .matplotlibrc
Version 0.44.0
发布日期:2019年7月28日
亮点:
- ⚡ 当你在Streamlit代码上执行ctrl-c/重新运行时,闪电般的快速重连
- 📣 连接失败时提供有用的错误信息
- 💎 修复了多个错误并改进了我们新发布的交互式小部件的抛光效果
Version 0.43.0
发布日期:2019年7月9日
亮点:
- ⚡ 支持交互式小部件!🎈🎉
Version 0.42.0
发布日期:2019年7月1日
亮点:
- 💾 能够将Vega-Lite和Altair图表保存为SVG或PNG
- 🐇 我们现在在您的浏览器中缓存JS文件以加快加载速度
- ⛔ 改进Streamlit应用程序内部的错误处理
Version 0.41.0
发布日期:2019年6月24日
亮点:
- 📈 极大地改进了我们对Vega-Lite和Altair中命名数据集的支持
- 🙄 添加了在监视文件更改时忽略某些文件夹的功能。请参阅
server.folderWatchBlacklist配置选项。 - ☔ 对用户脚本和导入模块的语法错误更具鲁棒性
Version 0.40.0
发布日期: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.isRemote server.headless proxy.liveSave server.liveSave proxy.runOnSave server.runOnSave proxy.watchFileSystem server.runOnSave proxy.enableCORS server.enableCORS proxy.port server.port browser.proxyAddress browser.serverAddress browser.proxyPort browser.serverPort client.waitForProxySecs n/a client.throttleSecs n/a client.tryToOutliveProxy n/a client.proxyAddress n/a client.proxyPort n/a proxy.autoCloseDelaySecs n/a proxy.reportExpirationSecs n/a
如果出现问题怎么办?
如果新的Streamlit无法正常工作,请通过Slack或电子邮件告知我们。您可以随时使用以下命令降级:
pip install --upgrade streamlit==0.37
conda install streamlit=0.37
接下来是什么?
感谢您与我们一同走过这段旅程!这个版本的Streamlit为交互式小部件奠定了基础,这是我们非常兴奋地将在未来几个月与您分享的Streamlit新功能。
Version 0.36.0
发布日期:2019年5月3日
亮点
- 🚣♀️
st.progress()现在也接受 0.0–1.0 的浮点数 - 🤯 改进了DataFrames中长标题的渲染效果
- 🔐 共享应用现在默认使用 HTTPS
Version 0.35.0
发布日期:2019年4月26日
亮点
- 📷 支持Bokeh!查看
st.bokeh_chart的文档 - ⚡️ 改进了保存应用的大小和加载时间
- ⚾️ 在整个代码库中实现了更好的错误捕获
还有问题吗?
我们的 论坛 充满了有用的信息和Streamlit专家。