Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【Rust日报】2021-11-29 Python中调用 Rust

【Rust日报】2021-11-29 Python中调用 Rust

作者头像
MikeLoveRust
发布于 2021-12-01 13:23:39
发布于 2021-12-01 13:23:39
1.1K00
代码可运行
举报
运行总次数:0
代码可运行

Python中调用 Rust

PyO3 使从 Python 调用Rust 代码变得很容易。您可以编写一个Rust库,并依赖PyO3和 maturin (PyO3生态系统的一个支持工具)的组合来编译Rust库,并将其直接作为Python模块安装。除此之外,PyO3可以在Python和Rust之间转换类型,还可以通过一组宏方便地将Rust函数导出到Python。

原文链接: http://saidvandeklundert.net/learn/2021-11-18-calling-rust-from-python-using-pyo3/

Rust for linux: 编写安全的抽象和驱动

Rust有一个关键属性,使其成为内核中的第二语言变得非常有趣:它保证不会发生未定义的行为(只要不安全的代码是合理的)。这包括没有 内存释放后内存使用, double free, 数据竞争等等。

原文链接: https://linuxfoundation.org/webinars/rust-for-linux-writing-abstractions-and-drivers/

Poem-openapi 1.0 发布

Poem OpenAPI是一个基于 Poem 的 OpenAPI 服务器端框架。如果你用过FastAPI,它们在使用上是非常相似的。

1.0版简化了一些宏属性,使用起来更加方便。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
use poem::{listener::TcpListener, Route, Server};
use poem_openapi::{param::Query, payload::PlainText, OpenApi, OpenApiService};

struct Api;

#[OpenApi]
impl Api {
  #[oai(path = "/hello", method = "get")]
  async fn index(
    &self,
    #[oai(validator(max_length = 32))] name: Query<Option<String>>,
  ) -> PlainText<String> {
    match name.0 {
      Some(name) => PlainText(format!("hello, {}!", name)),
      None => PlainText("hello!".to_string()),
    }
  }
}

#[tokio::main]
async fn main() -> Result<(), std::io::Error> {
  let api_service = OpenApiService::new(Api, "Hello World", "1.0")
      .server("http://localhost:3000/api");
  let ui = api_service.swagger_ui();

  Server::new(TcpListener::bind("127.0.0.1:3000"))
    .run(Route::new().nest("/api", api_service).nest("/", ui))
    .await
}

原文链接: https://crates.io/crates/poem-openapi

Life Simulation

Life simulation, 一个 Rust 编写的 模拟器.

生物可以通过突变和自然选择进化。生物有一个简单的基因组,赋予它们独特的特征.

demo地址: https://joelthelion.github.io/life_web/demo/

github地址: https://github.com/joelthelion/life_web

lib.rs: 一个 crates.io的替代品

lib.rs 索引了 Rust的 72,419 个应用。快速,轻量级,可以作为 crates.io 的一个替代品.

lib.rs: https://lib.rs/

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-11-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Rust语言学习交流 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【Rust日报】2021-10-04 RillRate 大型 Yew 应用揭晓
RillRate 周一发布了前端的所有资源(由Yew制作)!并将许可完全改为Apache-2.0:前端和后端。
MikeLoveRust
2021/10/19
6750
【Rust日报】2021-10-04 RillRate 大型 Yew 应用揭晓
【Rust日报】2021-09-07 Relm4 v0.1 发布
在第一个测试版发布大约一个月后,经过无数个小时的工作,作者高兴地宣布Relm4的第一个稳定版本正式发布!
MikeLoveRust
2021/09/10
6530
Rust 欧洲之声|Rust 和 Cpp 互操作
Slint[1] 曾经的名字叫 SixtyFPS ,是 QtQml 引擎核心开发者和维护者出来创业的项目。Slint 可以有效地为任何显示器开发流畅的图形用户界面:嵌入式设备和桌面应用程序。我们支持多种编程语言,例如 Rust、C++ 和 JavaScript。Slint 也许是 Qt 的替代品。
张汉东
2022/12/08
3.8K0
Rust crate与模块
假设你正在编写一个程序,用来模拟蕨类植物从单个细胞开始的生长过程。你的程序,也像蕨类植物一样,一开始会非常简单,所有的代码也许都在一个文件中——这只是想法的萌芽。随着成长,它将开始分化出内部结构,不同的部分会有不同的用途。然后它将分化成多个文件,可能遍布在各个目录中。随着时间的推移,它可能会成为整个软件生态系统的重要组成部分。对于任何超出几个数据结构或几百行代码的程序,进行适当的组织都是很有必要的。
草帽lufei
2024/05/08
3340
Rust crate与模块
将 Python 和 Rust 融合在一起,为 pyQuil® 4.0 带来和谐
pyQuil 一直是在 Rigetti 量子处理单元(QPUs)上构建和运行量子程序的基石,通过我们的 Quantum Cloud Services(QCS™)平台提供服务。它是我们的一个重要客户端库。然而,随着 QCS 平台的发展,我们越来越倾向于使用 Rust,因为它具有出色的性能、类型系统和强调正确性。为了支持Rigetti 不断增长的 Rust 工具和服务生态系统,pyQuil 中的许多功能已被我们的 Rust 库取代。幸运的是,Rust 很适合用作外部函数接口(FFI)。这对我们来说是 Rust 的另一个重要优势,因为它是在我们的服务和高级语言(如 Python)或低级语言(如 C)之间架设桥梁的理想选择。
网罗开发
2023/12/28
4820
将 Python 和 Rust 融合在一起,为 pyQuil® 4.0 带来和谐
你应该知晓的Rust Web 框架
在之前的用 Rust 搭建 React Server Components 的 Web 服务器我们利用了Axum构建了RSC的服务器。也算是用Rust在构建Web服务上的小试牛刀。
前端柒八九
2023/11/17
3.1K0
你应该知晓的Rust Web 框架
Rust 开发命令行工具(中)
在上一篇Rust 开发命令行工具(上)中我们从项目配置/参数获取/解析文件内容/处理错误信息/信息输出处理等方面。一步一步写出来可以构建出在本地,兼容错误提示,并且有很好的输出形式的本地搜索工具。
前端柒八九
2023/09/24
4420
Rust 开发命令行工具(中)
【Rust日报】 2019-06-16:用 Rust, Haskell, C++ 等实现同一个工程的比较
刚出来,仅供了解,这里的“交易”是指业务的原子性,常见于数据库中。与区块链或密码学中的交易,是不同的概念。类似于 STM。
MikeLoveRust
2019/07/09
8740
【Rust日报】 2019-06-16:用 Rust, Haskell, C++ 等实现同一个工程的比较
听GPT 讲Rust Cargo源代码(1)
在Rust Cargo的源代码中,cargo/build.rs这个文件是一个常见的Cargo Build脚本,用于在构建过程中自定义构建行为。该文件的作用是在运行cargo build命令时自动执行一些额外的任务。
fliter
2024/04/26
2790
听GPT 讲Rust Cargo源代码(1)
【Rust日报】2020-06-08 - Rust/WinRT快速入门
Apache Benchmark style http bench tool written in async rust.
MikeLoveRust
2020/06/11
7740
2021 年 Rust 生态版图调研报告 | 星辰大海(下篇)
半年前,我写了一篇《三万言| 2021 年 Rust 行业调研报告》[1] ,内容主要围绕 Rust 语言介绍 和 行业领域开源应用盘点 两大部分内容。时隔半年,我觉得有必要再写一篇年终的 Rust 生态调研报告。因为我想给大家提供一个比较全面的视角,通过挖掘互联网上的各种散落且隐藏的信息,最终绘制出一张 Rust 的“生态地图”,让大家尽量客观公正地去认识 Rust 语言。
张汉东
2022/01/23
1.9K0
【Rust 日报】2021-03-25 linux-next的rust-next分支被合并了!
Github: https://github.com/zesterer/flume
MikeLoveRust
2021/04/22
6910
【Rust日报】 2019-05-16:在Rust中创建C/C++ API
这个清单如果继续写下去会很长,Rust已经在众多领域陆续开花了。Rust社区感谢有你!
MikeLoveRust
2019/07/09
1K0
【Rust日报】2020-07-16 j4rs,一个在 Rust 中调用 Java 代码的 Crate
关于 Rust 和 Go 的一些 gRPC 库的基准测试,reddit上有不少评论,讨论了大家关心的一些地方,有兴趣可以看一下。,详情可看原文
MikeLoveRust
2020/07/21
1.4K0
大模型时代的系统语言:Rust vs Mojo
这十七年我虽然没有什么光彩履历,但却很幸运,我还能在这个行业坚守,并能不断成长。同样很幸运,我经历了桌面软件没落, Web 2.0 崛起,以及移动互联网的兴盛,当下基础设施系统软件开始复兴的诸多历程。
张汉东
2023/09/13
2.6K0
大模型时代的系统语言:Rust vs Mojo
听GPT 讲Rust源代码--src/tools(18)
在Rust源代码中的from_comment.rs文件位于Rust分析器(rust-analyzer)工具的ide-ssr库中,它的作用是将注释转换为Rust代码。
fliter
2024/01/09
2240
【Rust日报】2021-09-05 perseus:完全支持 SSR 和 SSG 的 Rust 高端前端开发框架
GitHub:orhun/rust-tui-template: A template for bootstrapping a Rust TUI application with tui-rs & crossterm
MikeLoveRust
2021/09/09
1.3K0
【Rust日报】2021-09-05 perseus:完全支持 SSR 和 SSG 的 Rust 高端前端开发框架
【五万言】Rust 2022 生态版图调研报告(下)
去年我写了 2021 年 Rust 生态版图调研报告 | 星辰大海(上)[1] 和 (下)[2] ,大家能看到 Rust 在各个行业领域中开始暂露头角。2022 年,在政治动荡、经济下行和疫情肆虐的世界大环境下,Rust 却迎来了高质量的发展。2022 年,我愿称之为 Rust 发展元年。
张汉东
2023/03/06
3.2K0
【五万言】Rust 2022 生态版图调研报告(下)
Rust实现MD5加密并打包成WebAssembly调用
我初识 WebAssembly 是当初想要分析某个网站的加密算法,最终定位到了一个 .wasm 文件,没错,这个就是 WebAssembly 的构建产物,能够直接运行在浏览器中。在我当时看来这门技术很先进,不过如今看来绝大多数的 web 应用貌似都没使用上,迄今为止我也只在这个网站中看到使用 WebAssembly 的(也许有很多,只是没实质分析过)。
愧怍
2023/01/05
3K0
Rust实现MD5加密并打包成WebAssembly调用
Rust中的过程宏
Rust 吉祥物是只螃蟹,Ferris,这可以理解,但是它为什么被煮了啊?都变红了。
杨永贞
2022/06/27
2.7K0
Rust中的过程宏
推荐阅读
相关推荐
【Rust日报】2021-10-04 RillRate 大型 Yew 应用揭晓
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验