Artwork

内容由pythonhunter提供。所有播客内容(包括剧集、图形和播客描述)均由 pythonhunter 或其播客平台合作伙伴直接上传和提供。如果您认为有人在未经您许可的情况下使用您的受版权保护的作品,您可以按照此处概述的流程进行操作https://zh.player.fm/legal
Player FM -播客应用
使用Player FM应用程序离线!

Ep 40. Rust 和 PyO3:让 Python 再次伟大 🦀 ❤️ 🐍

1:17:27
 
分享
 

Fetch error

Hmmm there seems to be a problem fetching this series right now. Last successful fetch was on September 05, 2025 15:35 (3M ago)

What now? This series will be checked again in the next day. If you believe it should be working, please verify the publisher's feed link below is valid and includes actual episode links. You can contact support to request the feed be immediately fetched.

Manage episode 363209078 series 2513527
内容由pythonhunter提供。所有播客内容(包括剧集、图形和播客描述)均由 pythonhunter 或其播客平台合作伙伴直接上传和提供。如果您认为有人在未经您许可的情况下使用您的受版权保护的作品,您可以按照此处概述的流程进行操作https://zh.player.fm/legal

嘉宾

Messense

主播

链接

  • 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 浏览器


爱发电上赞助

  continue reading

97集单集

Artwork
icon分享
 

Fetch error

Hmmm there seems to be a problem fetching this series right now. Last successful fetch was on September 05, 2025 15:35 (3M ago)

What now? This series will be checked again in the next day. If you believe it should be working, please verify the publisher's feed link below is valid and includes actual episode links. You can contact support to request the feed be immediately fetched.

Manage episode 363209078 series 2513527
内容由pythonhunter提供。所有播客内容(包括剧集、图形和播客描述)均由 pythonhunter 或其播客平台合作伙伴直接上传和提供。如果您认为有人在未经您许可的情况下使用您的受版权保护的作品,您可以按照此处概述的流程进行操作https://zh.player.fm/legal

嘉宾

Messense

主播

链接

  • 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 浏览器


爱发电上赞助

  continue reading

97集单集

所有剧集

×
 
Loading …

欢迎使用Player FM

Player FM正在网上搜索高质量的播客,以便您现在享受。它是最好的播客应用程序,适用于安卓、iPhone和网络。注册以跨设备同步订阅。

 

快速参考指南

版权2025 | 隐私政策 | 服务条款 | | 版权
边探索边听这个节目
播放