Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make the output reproducible #82

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

lamby
Copy link

@lamby lamby commented Aug 16, 2022

Whilst working on the Reproducible Builds effort I noticed that sphinx-panels does not create reproducible output.

This is because it uses Python's uuid.uuid4 to generate unique identifiers, but those numbers are random/nondeterminstic by design. This patch will seed these random numbers from SOURCE_DATE_EPOCH if it exists, otherwise it will revert back to random numbers.

(I originally filed this in Debian as bug #1017475.)

Whilst working on the Reproducible Builds effort [0] I noticed that
sphinx-panels does not create reproducible output.

This is because it uses Python's uuid.uuid4 to generate unique identifiers, but
those numbers are random/nondeterminstic by design. This patch will seed these
random numbers from SOURCE_DATE_EPOCH if it exists, otherwise it will revert
back to random numbers.

I originally filed this in Debian as bug #1017475 [1].

 [0] https://reproducible-builds.org/
 [1] https://bugs.debian.org/1017475
@welcome
Copy link

welcome bot commented Aug 16, 2022

Thanks for submitting your first pull request! You are awesome! 🤗

If you haven't done so already, check out EBP's Code of Conduct and our Contributing Guide, as this will greatly help the review process.

Welcome to the EBP community! 🎉

@chrisjsewell
Copy link
Member

Heya, I'm afraid sphinx-panels is now deprecated for sphinx-design: https://sphinx-design.readthedocs.io/en/furo-theme/get_started.html#migrating-from-sphinx-panels
Your welcome to check out that package, and see if the same can be applied

@sandrotosi
Copy link

Heya, I'm afraid sphinx-panels is now deprecated for sphinx-design: https://sphinx-design.readthedocs.io/en/furo-theme/get_started.html#migrating-from-sphinx-panels Your welcome to check out that package, and see if the same can be applied

thanks! in debian we have a handful of packages using sphinx-panels, with the 2 most prominent being matplotlib and scipy; are you aware of any plans from those projects to migrate / were they told to migrate over to sphinx-design? thanks!

lamby added a commit to lamby/sphinx-design that referenced this pull request Aug 16, 2022
Whilst working on the Reproducible Builds effort [0] I noticed that
sphinx-panels and sphinx-design do not create reproducible output.

This is because it uses Python's uuid.uuid4 to generate unique identifiers, but
those numbers are random/nondeterminstic by design. This patch will seed these
random numbers from SOURCE_DATE_EPOCH if it exists, otherwise it will revert
back to random numbers.

I originally filed this in Debian as bug #1017475 [1], as well as within
sphinx-panels [2]

 [0] https://reproducible-builds.org/
 [1] https://bugs.debian.org/1017475
 [2] executablebooks/sphinx-panels#82
@lamby
Copy link
Author

lamby commented Aug 16, 2022

Sure thing. Have also filed this over in sphinx-design: executablebooks/sphinx-design#90

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants