PyO3/pyo3

`pyo3-build-config` cleanups

Open

#4761 aperta il 3 dic 2024

Vedi su GitHub
 (2 commenti) (0 reazioni) (0 assegnatari)Rust (668 fork)batch import
Good First Issuerefactoring

Metriche repository

Star
 (10.152 star)
Metriche merge PR
 (Merge medio 12g 19h) (64 PR mergiate in 30 g)

Descrizione

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 .

Guida contributor