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

build(python): avoid using requirements.in (#266) #266

Merged
merged 1 commit into from
Aug 13, 2024

Conversation

mdonadoni
Copy link
Member

Pass the correct extras to pip-compile instead of duplicating
requirements in requirements.in.

@mdonadoni
Copy link
Member Author

As far as I can tell, these extras were created in the past to avoid installing some libraries when building the docs, as they were not compatible with Python/system packages available on ReadTheDocs.

See for example:

Note that with ReadTheDocs v2 it's now possible to choose the version of the Python interpreter and to install APT packages, see: https://docs.readthedocs.io/en/stable/config-file/v2.html#build-apt-packages

mdonadoni added a commit to mdonadoni/reana-workflow-engine-yadage that referenced this pull request Aug 9, 2024
Pass the correct extras to `pip-compile` instead of duplicating
requirements in `requirements.in`.
Copy link

codecov bot commented Aug 9, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 47.89%. Comparing base (b6c0503) to head (b9deced).
Report is 1 commits behind head on master.

Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##           master     #266   +/-   ##
=======================================
  Coverage   47.89%   47.89%           
=======================================
  Files           6        6           
  Lines         261      261           
=======================================
  Hits          125      125           
  Misses        136      136           

@tiborsimko
Copy link
Member

As far as I can tell, these extras were created in the past to avoid installing some libraries when building the docs

Also for the app functionality, to have the basic libraries in, because naked pip-compile call wouldn't bring them in.

And having unique requirements.in across packages seemed advantageous because one could then use the very same CLI command in all repositories regardless of whether this or that repository need this or that extra. (That knowledge is remembered in the in file, so the CLI call could be the same across the ecysystem)

However, we are not using this feature much, only three components or so, hence we could indeed remove these in files for simplicity, at the price of having to be strict to always pass the proper extra arguments in each concrete repository when we are running pip-compile by hand. (And at the gain of not having to specify jq version in two places.)

Pass the correct extras to `pip-compile` instead of duplicating
requirements in `requirements.in`.
@tiborsimko tiborsimko merged commit b9deced into reanahub:master Aug 13, 2024
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

2 participants