Message 309972 - Python tracker (original) (raw)

I think, there is no single nice and clean solution with time-based .pyc files, but to get a whole distribution to build reproducibly, there are two other ways:

  1. if the SOURCE_DATE_EPOCH environment variable is set, make hash-based .pyc files the default.

  2. instead of storing .py mtime in the .pyc header, use the .pyc's filesystem mtime value - also making it more available to users. Not sure if this would have side-effects or cause regressions.

on the side-issue: IMHO checking exact mtimes is the right thing to do, because sometimes users will copy back old .py files and expect mismatching .pyc files to not be used.