PyO3/pyo3

`pyo3-build-config` cleanups

Open

#4,761 opened on Dec 3, 2024

View on GitHub
 (2 comments) (0 reactions) (0 assignees)Rust (10,152 stars) (668 forks)batch import
Good First Issuerefactoring

Description

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 .

Contributor guide

`pyo3-build-config` cleanups · PyO3/pyo3#4761 | Good First Issue