PyO3/pyo3

`pyo3-build-config` cleanups

開放

#4,761 建立於 2024年12月3日

 (2 則留言) (0 個反應) (0 位負責人)Rust (668 個分叉)batch import
Good First Issuerefactoring

倉庫指標

星標
 (10,152 顆星)
PR 合併指標
 (PR 指標待抓取)

描述

In https://github.com/PyO3/pyo3/pull/4758 I fixed the urgent bug with PYO3_CONFIG_FILE changes not correctly triggering rebuilds.

I think we can take action to ensure we don't have a similar accident again. I was playing around with various ideas, I've seen two so far which I think make sense:

  • A lot of pyo3-build-config APIs require being run in a build script. I wonder if we should have something like a BuildScriptContext struct which all those APIs take, and it can collect info about environment accesses so that we can both test them and emit to cargo reliably.
  • We can add clippy configuration to ban direct environment variable access, as suggested by @alex .

貢獻者指南