捕蛇者说

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


Listen Later

嘉宾

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
        View all episodesView all episodes
        Download on the App Store

        捕蛇者说By pythonhunter

        • 4.3
        • 4.3
        • 4.3
        • 4.3
        • 4.3

        4.3

        29 ratings


        More shows like 捕蛇者说

        View all
        枫言枫语 by 枫影JustinYan、自力hzlzh

        枫言枫语

        24 Listeners

        津津乐道 by DAO

        津津乐道

        119 Listeners

        疯投圈 by 黄海、Rio

        疯投圈

        109 Listeners

        声东击西 by ETW Studio

        声东击西

        320 Listeners

        三五环 by 刘飞Lufy

        三五环

        43 Listeners

        科技乱炖 by DAO

        科技乱炖

        24 Listeners

        忽左忽右 by JustPod

        忽左忽右

        456 Listeners

        What's Next|科技早知道 by 声动活泼

        What's Next|科技早知道

        176 Listeners

        硅谷101 by 硅谷101

        硅谷101

        184 Listeners

        硅谷101|中国版 by 泓君Jane

        硅谷101|中国版

        53 Listeners

        乱翻书 by 潘乱

        乱翻书

        27 Listeners

        起朱楼宴宾客 by 大卫翁

        起朱楼宴宾客

        51 Listeners

        边角聊 by Leftover Talk

        边角聊

        42 Listeners

        脑放电波 by 托马斯白

        脑放电波

        10 Listeners

        42章经 by KaiQu

        42章经

        9 Listeners