PyO3/pyo3

`pyo3-build-config` cleanups

Aberta

#4.761 aberto em 3 de dez. de 2024

 (2 comentários) (0 reação) (0 responsável)Rust (668 forks)batch import
Good First Issuerefactoring

Métricas do repositório

Stars
 (10.152 estrelas)
Métricas de merge de PR
 (Mesclagem média 9d 18h) (51 fundiu PRs em 30d)

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 .

Guia do colaborador