Skip to content

Make fawkes builds and dependencies reproducible and easy to maintain#190

Open
PulfordJ wants to merge 2 commits intoShawn-Shan:masterfrom
PulfordJ:patch-1
Open

Make fawkes builds and dependencies reproducible and easy to maintain#190
PulfordJ wants to merge 2 commits intoShawn-Shan:masterfrom
PulfordJ:patch-1

Conversation

@PulfordJ
Copy link
Copy Markdown

@PulfordJ PulfordJ commented Feb 8, 2025

Situation: Fawkes is a brilliant research project. I personally enjoyed reading the research paper. However, numerous issues and pull requests have resulted from how difficult it is to run after initially downloading it due to poorly documented python version requirements and compatibility collapse with numerous dependencies following ~4 years of drift. Example links in the last paragraph for brevity.

Action: I rewrote the setup code to depend on pyenv and poetry allowing us to explicitly require the use of python 3.9.0 rather than having users guess at how best to execute the code. I've used stricter dependency requirements (lots of ~= in pyproject.toml dependencies) as the project is unlikely to be maintained regularly and reviving the code required a lot of dependency incompatibility navigation we should avoid for future users.

Result: A new user can build this great research project with ~10 lines! A big win in my opinion.

Some relevant pull requests and issues.
#168
#158
#186
#178

…ed reading the research paper. However, numerous issues and pull requests have resulted from how difficult it is to run after initially downloading it due to poorly documented python version requirements and compatibility collapse with numerous dependencies following ~4 years of drift. Example links in the last paragraph for brevity.

Action: I rewrote the setup code to depend on pyenv and poetry allowing us to explicitly require the use of python 3.9.0 rather than having users guess at how best to execute the code. I've used stricter dependency requirements (lots of ~= in pyproject.toml dependencies) as the project is unlikely to be maintained regularly and reviving the code required a lot of dependency incompatibility navigation we should avoid for future users.

Result: A new user can build this great research project with ~10 lines! A big win in my opinion.

Some relevant pull requests and issues.
Shawn-Shan#168
Shawn-Shan#158
Shawn-Shan#186
Shawn-Shan#178
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.

2 participants