Skip to content

Maximize coverage #542

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

Merged
merged 2 commits into from
Mar 8, 2020
Merged

Maximize coverage #542

merged 2 commits into from
Mar 8, 2020

Conversation

jakirkham
Copy link
Member

@jakirkham jakirkham commented Mar 3, 2020

These were uncovered lines in this Coveralls report. As we already dropped Python 2 in PR ( #470 ), go ahead and drop this no longer need Python 2 code.

Also smooth over differences in unravel_index's signature across NumPy versions.

@jakirkham jakirkham mentioned this pull request Mar 3, 2020
6 tasks
@jakirkham jakirkham changed the title Drop Python 2 only code Maximize coverage Mar 3, 2020
else:
# deal with change dims->shape in arguments as of numpy 1.16
self.chunk_mixs = np.unravel_index(self.chunk_rixs, shape=array._cdata_shape)
self.chunk_mixs = np.unravel_index(self.chunk_rixs, array._cdata_shape)
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you know if the keyword argument was needed for some reason @alimanfoo? Noticed this change came from here. Hence the question 🙂

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In general, I think using kwargs is better when it's defined as a kwarg rather than relying on the order of positional args. The previous block looked like it was here to deal with numpy <1.16 and numpy >1.16 but in our setup.py we specify numpy>=1.17, so I think it's safe to drop handling old numpy versions and use shape= but not fussed too much either way.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IIUC our setup.py has NumPy 1.7 as the minimum supported version

zarr-python/setup.py

Lines 12 to 17 in 3ae9439

dependencies = [
'asciitree',
'numpy>=1.7',
'fasteners',
'numcodecs>=0.6.4',
]

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yep. :)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So I guess we do need to consider older versions of NumPy where the signature keywords may have been different

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, I kept reading 1.7 as 1.17... 🤦‍♂

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems to be largely unchanged over time. 🙂 Here are the docs from NumPy 1.7.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cool, cool. Happy for this to be merged on my side :)

Copy link
Member

@jrbourbeau jrbourbeau left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks for working on this. Should be good to merge after hearing back about the np.unravel_index signature

Copy link
Member

@mzjp2 mzjp2 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me, thank you for doing this! 😀 Back to 100% 🚀

Just one comment:

else:
# deal with change dims->shape in arguments as of numpy 1.16
self.chunk_mixs = np.unravel_index(self.chunk_rixs, shape=array._cdata_shape)
self.chunk_mixs = np.unravel_index(self.chunk_rixs, array._cdata_shape)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In general, I think using kwargs is better when it's defined as a kwarg rather than relying on the order of positional args. The previous block looked like it was here to deal with numpy <1.16 and numpy >1.16 but in our setup.py we specify numpy>=1.17, so I think it's safe to drop handling old numpy versions and use shape= but not fussed too much either way.

@jakirkham
Copy link
Member Author

Going to go ahead and merge. Guessing Alistair is busy with other things and the risk here is low. Though if that's not true, please raise an issue and we can work to address it. Thanks all! 😄

@jakirkham jakirkham merged commit 692f8e6 into zarr-developers:master Mar 8, 2020
@jakirkham jakirkham deleted the drop_py2_code branch March 8, 2020 22:21
@Carreau Carreau added this to the v2.5 milestone Sep 9, 2020
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.

4 participants