thiserror v2.0.0 发布
thiserror 2.0.0版本,主要变更包括:
在格式字符串中引用字段时,不再允许使用原始标识符{r#type},改为直接使用无修饰名称{type}。
对元组结构体和元组变体,当同时使用数字索引和额外位置参数时,会产生歧义,因此不再允许这种用法。
不论错误数据结构内容如何,派生Error特性时都必须直接依赖thiserror crate。
支持禁用默认对标准库的依赖。
支持使用r#source作为字段名来避免与Error::source()冲突。
如果Display派生实现存在无限递归,现在会产生unconditional_recursion警告。
新增#[error(fmt=path::to::myfmt)]属性,允许在其他地方定义格式化逻辑。
对于有枚举级格式消息的枚举,现在可以使用#[error(transparent)]让某些变体直接透传底层错误。
此版本引入了一些破坏性变更以增强一致性和可用性,同时添加了一些新功能。
https://github.com/dtolnay/thiserror/releases/tag/2.0.0
Plotlars - Plotly库的包装器
Plotlars是一个功能强大的Rust库,它作为Plotly库的包装器,弥补了Polars数据分析库和Plotly之间的差距。它简化了从数据框创建可视化的过程,使开发人员能够专注于数据洞见而不是绘图的细节。
Plotlars的创建是为了简化在Rust中创建复杂图表的过程,特别是在使用强大的Polars数据操作库时。生成可视化通常需要大量样板代码和对绘图库(Plotly)和数据结构的深入了解。这种复杂性可能是一个重大障碍,特别是对于需要专注于分析和解释数据而不是wrestle复杂的绘图逻辑的用户。
与不使用Plotlars创建散点图相比,使用Plotlars可以大大减少代码量。Plotlars抽象了处理单个绘图组件的复杂性,允许用户指定高级绘图特性。这种简化方法不仅节省时间,而且减少了出错的可能性,并使代码更易读和可维护。
Plotlars可以无缝集成到Jupyter笔记本中,允许您在笔记本环境中利用交互式数据可视化的强大功能。这种集成是通过使用evcxr项目实现的,evcxr项目为Rust编程语言提供了Jupyter内核。通过Polars、evcxr和Plotlars,Rust中的数据科学跃升到了新的高度,使强大的数据分析和可视化比以往任何时候都更加易于访问和高效。
https://github.com/alceal/plotlars
private-jets - 分析私人飞机航班数据的命令行应用程序
private-jets 是一个分析私人飞机航班数据的命令行应用程序。它使用 S3 存储来缓存数据,从而减少对 https://adsbexchange.com/ 的影响。这项工作产生了一篇发表在《地球与环境通讯》的科学论文,并受到了多家新闻媒体的报道。
该库提供了一个 SQL 分析的示例,以及详细的方法学说明和不同层次聚合数据的获取方式。它强调应谨慎使用该代码,避免对 adsbexchange.com 造成过大影响。所有缓存数据都存储在一个公开可读取的 S3 blob 存储端点上。
该项目提供了一些 Rust 二进制文件,用于从头开始构建数据库快照、计算飞机位置和航班航段数据。这些数据最终也会存储在 S3 存储上。二进制文件的使用示例和访问凭证的说明都包含在README中。
https://github.com/jorgecardleitao/private-jets
--
From 日报小组 Mike
社区学习交流平台订阅:
Rustcc论坛: 支持rss 微信公众号:Rust语言中文社区