Home
Categories
EXPLORE
True Crime
Comedy
Society & Culture
Business
Sports
Technology
Health & Fitness
About Us
Contact Us
Copyright
© 2024 PodJoint
00:00 / 00:00
Podjoint Logo
US
Sign in

or

Don't have an account?
Sign up
Forgot password
https://is1-ssl.mzstatic.com/image/thumb/Podcasts115/v4/00/5f/7c/005f7cfa-1be8-660c-b44f-02ef9cd1131a/mza_12760751821809124200.png/600x600bb.jpg
捕蛇者说
pythonhunter
64 episodes
1 week ago
《捕蛇者说》是一档以编程为主题的聊天节目。我们会聊聊编程、程序员和 Python。
Show more...
Technology
RSS
All content for 捕蛇者说 is the property of pythonhunter and is served directly from their servers with no modification, redirects, or rehosting. The podcast is not affiliated with or endorsed by Podjoint in any way.
《捕蛇者说》是一档以编程为主题的聊天节目。我们会聊聊编程、程序员和 Python。
Show more...
Technology
https://i.typlog.com/pythonhunter/8316041617_138414.png?x-oss-process=style/sl
Ep 40. Rust 和 PyO3:让 Python 再次伟大 🦀 ❤️ 🐍
捕蛇者说
1 hour 17 minutes 27 seconds
2 years ago
Ep 40. Rust 和 PyO3:让 Python 再次伟大 🦀 ❤️ 🐍

嘉宾

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

捕蛇者说
《捕蛇者说》是一档以编程为主题的聊天节目。我们会聊聊编程、程序员和 Python。