Skip to content

Conversation

@rxxg
Copy link
Contributor

@rxxg rxxg commented Jan 14, 2020

  • ❗ Have you followed the guidelines in the Contributing to DVC list?

  • πŸ“– Check this box if this PR does not require documentation updates, or if it does and you have created a separate PR in dvc.org with such updates (or at least opened an issue about it in that repo). Please link below to your PR (or issue) in the dvc.org repo.

  • ❌ Have you checked DeepSource, CodeClimate, and other sanity checks below? We consider their findings recommendatory and don't expect everything to be addressed. Please review them carefully and fix those that actually improve code or fix bugs.

Thank you for the contribution - we'll try to review it as soon as possible. πŸ™

@rxxg
Copy link
Contributor Author

rxxg commented Jan 14, 2020

Fixes #3084. Replaces #3095. Should be revisited and perf characteristics checked on various systems when Python 3.8 compatibility arrives (#3033).

Probably should not merge until upstream project (speedcopy) produces official release.

@rxxg rxxg mentioned this pull request Jan 14, 2020
3 tasks
dvc/system.py Outdated
import speedcopy

return speedcopy.copyfile(src, dest)
else:
Copy link
Contributor

Choose a reason for hiding this comment

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

This else is not needed since there is a return above.

Comment on lines +78 to +79
"speedcopy>=2.0.1",
"pyfastcopy>=1.0.3",
Copy link
Contributor

Choose a reason for hiding this comment

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

Both packages are not available in conda, so this PR will break our conda package πŸ™Would you be willing to submit and maintain those packages in conda? Another simpler option is to make these packages optional, so that our System.copy can work with or without those packages. So pypi would be faster than conda package.

Copy link
Contributor

Choose a reason for hiding this comment

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

It is not a dealbreaker, as we could help out with those packages too, we have quite some experience with conda-forge already. Just asking. πŸ™‚

Copy link
Contributor

Choose a reason for hiding this comment

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

Also, these deps should be conditional, i.e. none are needed in Python 3.8/Linux

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Hi @efiop, I won't have enough time to maintain conda packages as well, I will let you guys make the call as to whether that is worthwhile - not forgetting that this code will potentially be deleted under Python 3.8.

I have updated the patch to fall back to standard code if packages are missing.

Copy link
Contributor

Choose a reason for hiding this comment

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

@rxxg No worries. Thanks for the PR! We'll try to create and maintain those conda packages ourselves.

@efiop efiop merged commit 74bbc3b into treeverse:master Jan 16, 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.

3 participants