PyO3/pyo3

`pyo3-build-config` cleanups

Open

#4,761 创建于 2024年12月3日

在 GitHub 查看
 (2 评论) (0 反应) (0 负责人)Rust (10,152 star) (668 fork)batch import
Good First Issuerefactoring

描述

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 .

贡献者指南