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

Find a standard way to document python dependencies that are out of scope for ODK #1039

Open
matentzn opened this issue Apr 2, 2024 · 2 comments
Labels
minor Label for PRs which should be considered for future minor patches

Comments

@matentzn
Copy link
Contributor

matentzn commented Apr 2, 2024

In many of the repos I work with, I keep having to litter the Makefile with random pip install X commands. I wonder if there would be an easier way to do this, for example having a requirements.txt at the top level of the ODK repo.

This could also help dealing with issues like #1028 (comment), where a GitHub action expects that file to install dependencies during the run of the action.

Not entirely convinced we should do this, but saying it out loud for the record.

@gouttegd
Copy link
Contributor

gouttegd commented Apr 2, 2024

I have said before that in my opinion, the best and most efficient solution for people who need additional software (Python packages or whatever) that is not in the ODK and that would not be suitable for addition to the upstream ODK, is to make their own custom ODK image with whatever they need. I have not changed my mind.

That being said, if we do want to provide a somewhat easy way to install additional Python packages in an ODK instance:

We should avoid doing that by means of a top-level requirements.txt file. I don’t remember the details, but I’ve been bitten before by having a file named requirements.txt in a repository, because there are tools out there that automatically assume that such a file is intended for them and start trying to use it to install Python packages. We should pick another name, one that is not already widely used, and I believe it should not even be directly under the repository’s root – rather somewhere under src/ontology/config or something like that.

@matentzn matentzn added the minor Label for PRs which should be considered for future minor patches label Apr 4, 2024
@matentzn
Copy link
Contributor Author

matentzn commented Apr 4, 2024

Ah yes, actually now that you say it, some actions are looking there by default I think, and that broke stuff in really strange ways!

I marked the issue as minor priority as I dont think that pip install in a make goal is thaaaaat terrible. Just a bit!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
minor Label for PRs which should be considered for future minor patches
Projects
None yet
Development

No branches or pull requests

2 participants