-
Notifications
You must be signed in to change notification settings - Fork 149
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
Resolve dependencies refresh #2710
Conversation
Check out this pull request on See visual diffs & provide feedback on Jupyter Notebooks. Powered by ReviewNB |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should be trageted onto branch rc/2.16.0.
all_tried = False | ||
while not all_tried: | ||
|
||
matches_combination = np.ones((num_sweeps,),dtype=np.bool) | ||
matches_combination = np.ones((num_sweeps,),dtype=bool) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You seem to input types besides bool
as a string to dtype
. Is there are a reason for this?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
float/int sizes (eg, float32 vs float64) can be automatically managed by defining it as a string. Bool does not have any variations.
setup.py
Outdated
@@ -90,6 +90,8 @@ def prepend_find_packages(*roots): | |||
"Programming Language :: Python :: 3.7", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You need to drop 3.7 correct?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I do not see adoption of poetry fully fleshed out in this PR.
I see that you've made changes so that allensdk is compatible with python 3.11. That's good, but that could have been done without poetry.
We do not want to pin versions because this is used as a library, not an application. That was the original issue. You say that you've upinned dependencies but I don't see that in the PR. Looks like you've pinned dependencies to exact versions in requirements.txt
I do not understand why there are requirements defined in 3 files now. It should be defined only in pyproject.toml if we're going to use that
I am not going to adopt poetry right now for development and I don't see this automated in this PR or connected to the build process. I also don't really understand what problem poetry solves so it's hard for me to accept adoption of poetry into allensdk until I understand the benefits of it better.
I intended to consolidate the dependencies in pyproject.toml and remove the requirements.txt after I understood it better when reading about it more and discussing it with the rest of the team. I renamed this PR from "Poetry dependency manager" to "Resolve dependencies refresh" since the Poetry aspect was a tool used to build the pyproject.toml but is not a requirement for this package. I believe it would be up to each developer to use Poetry if they believe it adds value to the way they manage dependencies. You can still manually edit the versions in the pyproject.toml file and use pip if you don't want Poetry to define them for you. |
I am not going to adopt poetry right now. That leaves Chris. @morriscb will you be adopting poetry for development? If the majority of developers are not going to adopt it, then let's remove pyproject.toml, poetry.lock, etc from this PR. |
I do not plan to adopt poetry at this time, no. |
64cf2b8
to
c1915de
Compare
I recall agreeing that it should be targeted to main to expedite this so that users of SWDB would have these changes. |
The fix for SWDB has already been deployed and is working. That was the tickets we were referring to, not tihs one. |
I recall it was also for this one since it would reduce the compatibility issues users might run into during that workshop. |
4072574
to
86b8c57
Compare
Include Python 3.11 compatibility, unpeg all dependencies and fix breaking changes from updated packages or downgrade packages.
Steps
python = ">=3.8,<3.12"
poetry_py38-311.txt
poetry.lock
file stores the actual installed versions for reproducibilityFinal explicitly defined requirements
Fixes for compatibility
Int64Index
deprecated DEPR: Remove Int64Index, UInt64Index, Float64Index and Index._is_backward_compat_public_numeric_index pandas-dev/pandas#42717pd.Series.str.replace
must specifyregex=True
if regex is used.pd.Series.reindex
with aMultiIndex
can no longer take in single integer Index as an inputcheck_less_precise
is a deprecated parameter inpd.testing.assert_series_equal
. This is replaced withr_tol
anda_tol
Reverting versions instead of fixing
VisualBehaviorProjectCache.get_ophys_session_table( index_column="ophys_experiment_id").index
is type'object'
, expectedint64
All the values in this index are int64 so I'm not sure why it was loaded as an object type.