-
-
Notifications
You must be signed in to change notification settings - Fork 18.4k
CI check each minimum dependency is enforced in *.yaml and environment.yml files #50207
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
Comments
Notes:
Personally not sure if this is a good first issue as there are a lot of moving parts but happy to be wrong |
Hmm, I believe I understand the ask.
Also can I take this? |
I'd say:
And yes, sure! |
For 2 let's say hypothetically we have a situation where
and in pyproject we have:
Should I check if the dependencies in pyproject are indeed greater than the ones in environment, or if they differ then set the dependencies to pyproject |
take |
If there's already a pin, then as long as the version is greater than the minimum version, you can leave it as it is If there's no pin, then just put |
So should I create a new file for this, or extend validate_min_versions_in_sync.py to be able to update these dependencies as well? |
it's probably fine to extend that file if possible |
Created a branch here to work on the issue: seanjedi-50207 |
@MarcoGorelli I have a question regarding which YAML files to check Also looking at how we were checking the dependencies earlier, it seems that we were only concerned with the optional dependencies, should I only be checking optional dependencies, or if I find any dependency that is both within pyproject.toml and any yaml file, then I should pin it? |
you only need to look at
yup (unless it's pinned already) |
Update (Since I have not updated in a long while): I am still working on this issue, but progress has slowed down a lot since the last commit I made in my branch. Otherwise, I will continue working on this issue when I have the chance. |
cool, thanks - I've removed the assignment so it's clear this is open |
take |
@seanjedi Hi there, I saw you mentioned about working collaboratively, and I'm open to that. I did see the branch you created for this issue. Feel free to let me know if you worked on anything extra or details on how you'd like to collaborate together. I'm going to start working on this issue now. Edit: Here is the WIP scripts/validate_min_versions_in_sync.py Also, I have a question. What types of characters are allowed for the version portion of the YAML dependency files? I ask this because the only dependency file in ci/deps/ which breaks the script is: ci/deps/actions-pypy-38.yaml - line 8 - contains:
Because it contains 2 "=" signs. I am wondering if I should write code to accommodate this or if this is out of place and only digits and decimals should be accommodated for the version portion? |
@MarcoGorelli Could you please review my script? I linked it above. I'm wondering if it will run too slow or be too risky since it would create a new file and delete the old one. I'm still working on it, but wanted to know if I'm headed in the right direction. |
nice! taking a look 👀 |
hey @kathleenhang, looks like you're on the right path - the script doesn't run at the moment though: if you have a list, then
And
should probably have been
? If you can get it to run without errors, then I'll take a closer look |
@MarcoGorelli Got it working! I commented out line 8 from ci/deps/actions-pypy-38.yaml which shows What should be done for these edge cases?
Also the script does mess up on a line in environment.yml: I'm not sure if it will work for you since I am using the imported os python module. I'm not sure if that may be different on Windows due to differing paths, etc. Let me know what you think, thanks. |
thanks for updating! so:
|
xref #50205 (comment)
If any dependency has a minimum version specified in
pandas/pyproject.toml
Lines 57 to 119 in 16b9c98
then if that dependency appears in
environment.yml
or any of the*.yaml
files, then it should either be pinned to that minimum version, or be marked as>=
that minimum versionLet's add a script to automate checking this!
https://github.com/pandas-dev/pandas/blob/main/scripts/validate_min_versions_in_sync.py is kind of related
Feel free to tag me for review if you take this on
The text was updated successfully, but these errors were encountered: