Ep 40. Rust 和 PyO3:让 Python 再次伟大 🦀 ❤️ 🐍
Listen now
Description
嘉宾 Messense 主播 laixintao 小白 Adam Wen laike9m 链接 PyO3 PyO3 有哪些应用? polars: Fast multi-threaded DataFrame library in Rust | Python | Node.js. pydantic-core: Core validation logic for pydantic written in Rust. cryptography: Python cryptography library with some functionality in Rust. orjson: Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy PyO3 前身:rust-cpython Maturin: Build and publish crates with pyo3, rust-cpython and cffi bindings as well as rust binaries as python packages What Are Python Wheels and Why Should You Care? PEP 517 – A build-system independent format for source trees Ruff: An extremely fast Python linter, written in Rust. typos: Source code spell checker ChatGPT 写的 Rust 调用 Python C-API 的例子 use std::os::raw::{c_char, c_int}; use std::ffi::CString; use libc::{c_double, c_void}; #[link(name = "python3.8")] extern "C" { fn Py_Initialize(); fn Py_Finalize(); fn Py_BuildValue(format: *const c_char, ...) -> *mut c_void; } fn main() { unsafe { // 初始化 Python 解释器 Py_Initialize(); // 构建一个 Python 元组对象,并打印它 let x = 1.23 as c_double; let y = 4.56 as c_double; let format = CString::new("dd").unwrap().as_ptr(); let result = Py_BuildValue(format, x, y); let s = CString::from_raw(result as *mut c_char).into_string().unwrap(); println!("{}", s); // 关闭 Python 解释器 Py_Finalize(); } } pyo3-ffi: Python-API bindings for the PyO3 ecosystem 在 PyO3 里通过 allow_threads 关掉 Python GIL pybind11 — Seamless operability between C++11 and Python Cython CFFI: C Foreign Function Interface for Python. Interact with almost any C code from Python, based on C-like declarations that you can often copy-paste from header files or documentation. zig cc: a Powerful Drop-In Replacement for GCC/Clang wechatpy: 微信公众平台第三方 Python SDK OrbStack: Fast, light, simple Docker & Linux on macOS FancyWM - a dynamic tiling window manager for Windows 10/11 CSAPP: Computer Systems: A Programmer's Perspective APUE: Advanced Programming in the UNIX® Environment 提到的读书撕书的灵感来自于:李敖先生 吴恩达 prompt engineering 课程: ChatGPT Prompt Engineering for Developers Kiwi 浏览器
More Episodes
laike9m 来到了新加坡!我们和 二分电台 的 2BAB 和 代码之外 的勾股在现场录制了一起节目,和 laike9m 畅聊了有关新加坡和加州的方方面面。 音频处理:西市独柳工作室 https://xishiduliu.com/ 如果喜欢我们的节目,欢迎通过爱发电打赏支持:https://afdian.net/@pythonhunter 时间线: 00:25 自我介绍 03:00 天气开场 06:57 新加坡简单轻松的感觉 11:36 新加坡和加州基础教育 21:56 新加坡和加州政府网站和公共服务 32:59 新加坡和加州的饮食 47:04...
Published 04/15/24
Published 04/15/24
本期节目中,图拉鼎讲述了最近几年做独立开发的经历,良渚文化村吸引独立开发者聚集的原因,以及疯狂星期四的起源和发展。我们着重聊了聊为什么他会想到注册一个美国公司,以及所需的资质和流程。还聊到了微软/Google 对开发者的支持,以及独立创造者在产品开发中的作用和优势。 嘉宾 图拉鼎 主播 laixintao Adam Wen laike9m 章节 00:15 近况 04:50 良渚文化村和玉鸟集 12:26 疯狂星期四的开始 26:08 为什么会想到注册美国公司,以及探索苹果生态之外的可能性 43:40 微软对开发者的支持 52:35 如何合法合规地接受用户付款 59:58...
Published 01/10/24