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

Weekly Digest (26 July, 2020 - 2 August, 2020) #4315

Closed
weekly-digest bot opened this issue Aug 2, 2020 · 0 comments
Closed

Weekly Digest (26 July, 2020 - 2 August, 2020) #4315

weekly-digest bot opened this issue Aug 2, 2020 · 0 comments

Comments

@weekly-digest
Copy link

weekly-digest bot commented Aug 2, 2020

Here's the Weekly Digest for iterative/dvc:


ISSUES

Last week 28 issues were created.
Of these, 16 issues have been closed and 12 issues are still open.

OPEN ISSUES

💚 #4313 dvc diff --show-hash --show-md <commit> shows only file paths, doesn't show md5 hash, by PuneethaPai
💚 #4312 Support multiple external cache locations, by maxme1
💚 #4307 unexpected error - invalid literal for int() with base 10: '\dvc_repo', by shawnlee103
💚 #4301 ssh: speed up open(), by mathias3
💚 #4299 [WIP] Dynamic subrepo collection, by skshetry
💚 #4298 [WIP] dvc: introduce merge-driver, by efiop
💚 #4297 Ambiguous error when commiting output instead of stage, by pared
💚 #4295 force YAML 1.1 syntax when dumping yaml files with ruamel, by dtrifiro
💚 #4293 repro: better handling for dvc.yaml files in tracked directories [qa], by jorgeorpinel
💚 #4292 repro: enforce targets (and update desc?) when -R is present? [qa], by jorgeorpinel
💚 #4289 experiments: core.experiments config setting overridden in certain situations, by pmrowla
💚 #4288 http: do not ignore HTTP statuses when working with HTTP(S) remotes, by Suor

CLOSED ISSUES

❤️ #4314 tree: don't save hash twice, by efiop
❤️ #4311 Fix typo in dvc remote modify output, by arthurcgusmao
❤️ #4310 tree: get rid of explicit tree arguments, by efiop
❤️ #4309 remote: allow local options for repo remotes, by efiop
❤️ #4308 Update pytest to >=6.0.1, by skshetry
❤️ #4306 ERROR: unexpected error - cannot import name 'BaseRemoteTree', by shawnlee103
❤️ #4305 commit: make sure deps/outs exist, by efiop
❤️ #4304 dvc: fix --quiet mode, by efiop
❤️ #4303 For a large dataset dvc add creates symlinks to wrong files in the cache , by maxme1
❤️ #4300 Exclude pylint==6.0 , by skshetry
❤️ #4296 daemon: use Popen on Mac, by efiop
❤️ #4294 macOS: analytics daemon crashes due to fork related error, by pmrowla
❤️ #4291 Add argument --user -u for specifying a user credential, by davebulaval
❤️ #4290 experiments: temporarily disable styling in show table, by pmrowla
❤️ #4287 gdrive: add workaround for downloading empty files, by efiop
❤️ #4286 gdrive: failed to pull empty file, by efiop

LIKED ISSUE

👍 #4288 http: do not ignore HTTP statuses when working with HTTP(S) remotes, by Suor
It received 👍 x2, 😄 x0, 🎉 x0 and ❤️ x0.

NOISY ISSUE

🔈 #4291 Add argument --user -u for specifying a user credential, by davebulaval
It received 10 comments.


PULL REQUESTS

Last week, 21 pull requests were created, updated or merged.

UPDATED PULL REQUEST

Last week, 6 pull requests were updated.
💛 #4299 [WIP] Dynamic subrepo collection, by skshetry
💛 #4298 [WIP] dvc: introduce merge-driver, by efiop
💛 #4295 force YAML 1.1 syntax when dumping yaml files with ruamel, by dtrifiro
💛 #4282 dvc check-ignore command, by karajan1001
💛 #4247 get/list/import/api: subrepo support, by skshetry
💛 #4229 Special dir warning #3436, by aerubanov

MERGED PULL REQUEST

Last week, 15 pull requests were merged.
💜 #4314 tree: don't save hash twice, by efiop
💜 #4311 Fix typo in dvc remote modify output, by arthurcgusmao
💜 #4310 tree: get rid of explicit tree arguments, by efiop
💜 #4309 remote: allow local options for repo remotes, by efiop
💜 #4308 Update pytest to >=6.0.1, by skshetry
💜 #4305 commit: make sure deps/outs exist, by efiop
💜 #4304 dvc: fix --quiet mode, by efiop
💜 #4300 Exclude pylint==6.0 , by skshetry
💜 #4296 daemon: use Popen on Mac, by efiop
💜 #4290 experiments: temporarily disable styling in show table, by pmrowla
💜 #4287 gdrive: add workaround for downloading empty files, by efiop
💜 #4284 ignore: dynamically collect dvcignore, by efiop
💜 #4257 experiments: support local parallel execution in temp directories, by pmrowla
💜 #4256 tree,remote: add support for WebDAV, by iksnagreb
💜 #4114 version: redesign output format for the dvc version command #3499, by sahilbhosale63


COMMITS

Last week there were 22 commits.
🛠️ tests: fix version check on tags by efiop
🛠️ dvc: bump to 1.3.1 by efiop
🛠️ tree: don't save hash twice (#4314) We already do this in
https://github.com/iterative/dvc/blob/00de04c82d844b3bdf5162b2c78560f1b5656488/dvc/tree/base.py#L271
for both files and directories.
by efiop
🛠️ Fix typo in dvc remote modify output (#4311) by arthurcgusmao
🛠️ [remote: allow local options for repo remotes (#4309) * remote: allow local options for repo remotes

Fixes #4276

  • Update tests/func/test_remote.py

Co-authored-by: Saugat Pachhai suagatchhetri@outlook.com

  • add more tests

Co-authored-by: Saugat Pachhai suagatchhetri@outlook.com](ed1c3a7) by efiop
🛠️ [tree: get rid of explicit tree arguments (#4310) * cache: don't make save() compute the hash

This is incorrect and leads to weird bugs like #4305

Kudos to @karajan1001 for finding this bug while working on #4282](815444f) by efiop
🛠️ [tree,remote: add support for WebDAV (#4256) * tree,remote: add support for webdav

Webdav support is based on https://pypi.org/project/webdavclient3/ and
supports basic download/upload operation, directory creation as well as
existence, file hash and isdir query. Copy, move and remove are also
implemented, though probably not used yet.

WebdavURLInfo is taken from https://github.com/shizacat/dvc/tree/remote-webdav

Fixes #1153

  • tree,remote: add further webdavclient3 options

Webdav token auth, certificate and key path and connection timeout are
configurable. Webdav username might be specified or extracted from URL.

Refs #1153

  • tree,remote: validate webdav client configuration

Refs #1153

  • tree,remote: WebDAV is written with capitalized 'DAV'...

Refs #1153

  • tree,remote: terminate WebDAV makedirs at self.path_info.path

This enables the WebDAV api location (e.g. '/public.php/webdav') to be
part of the remote 'url' configuration instead of beeing specified
separately via the 'root' option. The 'root' option may then be used to
specify real directories at the WebDAV storage, although using it to
set the api location is still possible.

Refs #1153

  • tree,remote: use >=3.14.5 for WebDAV dependency webdavclient3

Context: #4256 (comment)

Refs #1153

  • tree,remote: get rid of WebDAV 'root' option and add connection check

The WebDAV 'root' option was rather confusing and should be handled by
the initial 'path_info' from the config 'url' option.

Context: #4256 (comment)

While stripping the path/root from the hostname the port got lost, which
is fixed now by simply using the URLInfo 'replace' method as suggested.

Context: #4256 (comment)

The WebDAV client connection is tested by probing the existence of the
root (self.path_info.path).

Refs #1153

  • tree,remote: implement walk_files for WebDAV

Context: #4256 (comment)

Refs: #1153

  • tree,remote: let WebDAV client list query file info in walk_files

Context: #4256 (comment)

Refs #1153

  • tree,remote: add some unit tests for WebDAVTree

Refs #1153

  • tree,remote: use ConfigError for WebDAVTree and move Error to webdav.py

Context: #4256 (comment)

Refs #1153

  • tree,remote: remove/change some (unnecessary) comments

Context: #4256 (comment)

  • tree,remote: uploading to WebDAV only create directories if not exist

  • tree,remote: add BaseTree parameter use_dvcignore to WebDAVTree exists

Refs iterative/#1153

  • tree,remote: remove WebDAVTree copy method as proposed

Context: #4256 (comment)

Refs #1153

  • tree,remote: add progress bar to WebDAV _download and _upload method

Context: #4256 (comment)

Refs #1153

Co-authored-by: Christoph Berganski christoph.berganski@uni-bielefeld.de](2f48bb4) by iksnagreb
🛠️ [experiments: support local parallel execution in temp directories (#4257) * experiments: add initial local tmpdir executor

  • fix detached head pull

  • experiments: include unchanged (unrepro'd) stages in experiment hash

  • experiments: repro single experiment using tmpdir executor by default

  • stage experiments as stash commits before running

  • include repro args/kwargs in stashed experiments

  • support running arbitrary experiment commits (including stash commits)

  • experiments: use ProcessPoolExecutor

  • experiments: add dvc exp alias for dvc experiments

  • experiments: add dvc repro --experiment --queue

  • --queue can be used to stage an experiment for future execution

  • experiments: show queued (unexecuted) experiments in dvc exp show

  • revert ProcessPoolExecutor change

  • experiments: add dvc repro --run-all [--jobs]

  • --run-all can be used to run all queued experiments in parallel

  • cleanup output

  • experiments: use ProcessPoolExecutor

  • fix returning unpicklable objects error

  • update tests

  • fix windows cleanup issue

  • on windows tempdir cannot be removed if we are chdir'd into that
    directory](c8d2f4f) by pmrowla
    🛠️ [Exclude pylint==6.0 (Exclude pylint==6.0  #4300) https://github.com/pytest 6: pylint still shows not-callable error for builtin pytest marks even after #7473 and #7476 pytest-dev/pytest#7558
    pylint throws error for pytest.mark.* functions in pytest6.

tests/unit/repo/test_repo.py:15:1: E1102: pytest.mark.parametrize is not callable (not-callable)
tests/unit/repo/test_repo.py:33:1: E1102: pytest.mark.parametrize is not callable (not-callable)
************* Module tests.unit.remote.ssh.test_connection
tests/unit/remote/ssh/test_connection.py:87:1: E1102: pytest.mark.skipif is not callable (not-callable)
tests/unit/remote/ssh/test_connection.py:100:1: E1102: pytest.mark.skipif is not callable (not-callable)

https://github.com/iterative/dvc/pull/4257#issuecomment-665474467](https://github.com/iterative/dvc/commit/9ca3c05f6dc8d53d11af80c1f2b965e93fb28cdf) by skshetry
🛠️ dvc: bump to 1.2.3 by efiop
🛠️ [gdrive: add workaround for downloading empty files (#4287) * [WIP] gdrive: add workaround for downloading empty files

Better to solve it on PyDrive's side:
#4286

Fixes #4286

  • deps: limit flatten_json
pylint...................................................................Failed
- hook id: pylint
- exit code: 2

Registered custom plugin. Some checks will be disabled for tests.
************* Module dvc.command.experiments
dvc/command/experiments.py:14:4: E0401: Unable to import 'flatten_json'
(import-error)
dvc/command/experiments.py:39:4: E0401: Unable to import 'flatten_json'
(import-error)

-----------------------------------
Your code has been rated at 9.99/10

Registered custom plugin. Some checks will be disabled for tests.
************* Module dvc.utils.diff
dvc/utils/diff.py:38:8: E0401: Unable to import 'flatten_json'
(import-error)
************* Module dvc.command.metrics
dvc/command/metrics.py:17:4: E0401: Unable to import 'flatten_json'
(import-error)

-----------------------------------
```](https://github.com/iterative/dvc/commit/5d1c1c418c75677379108980970c6546fba8fe18) by [efiop](https://github.com/efiop)
:hammer_and_wrench: [version: redesign output format for the dvc version command #3499 (#4114)  * Version: Redesign output format #3499

Redesigned the output format for the command: dvc version

* version: reformat output format #3499

Done some suggested fixes in code for the dvc command output format issue.

* version: redesign output format #3499

* version: redesign output format for dvc command #3499

* version: redesign output format #3499

* version: redesign output format #3499

* Redesign output format for the dvc version command #3499

* Redesign output format for the dvc version command #3499

* Update dvc/command/version.py

Co-authored-by: Saugat Pachhai <suagatchhetri@outlook.com>

Co-authored-by: Ruslan Kuprieiev <kupruser@gmail.com>
Co-authored-by: Saugat Pachhai <suagatchhetri@outlook.com>](https://github.com/iterative/dvc/commit/f4595a02b20be9f0ed7f391f9fd485071b3ab17d) by [sahilbhosale63](https://github.com/sahilbhosale63)
:hammer_and_wrench: [dvc: bump to 1.2.2](https://github.com/iterative/dvc/commit/f4b820aa4c6e47ea50be291acb3e75b3fd2ef915) by [efiop](https://github.com/efiop)
:hammer_and_wrench: [daemon: use Popen on Mac (#4296)  Turns out macs are not happy with double-forks without exec.

Fixes #4294](https://github.com/iterative/dvc/commit/0b111d2a1052cdffcd3ddbc117097ae7148519f7) by [efiop](https://github.com/efiop)
:hammer_and_wrench: [dvc: bump to 1.2.1](https://github.com/iterative/dvc/commit/b14ad4f8ccd38a8c80fa61c75d14f2afa12d7d69) by [efiop](https://github.com/efiop)
:hammer_and_wrench: [experiments: temporarily disable styling in `show` table (#4290)](https://github.com/iterative/dvc/commit/864bc999d1b538ee6972fba5ffb13cdbc8555357) by [pmrowla](https://github.com/pmrowla)
:hammer_and_wrench: [deps: limit flatten_json  ```
pylint...................................................................Failed
- hook id: pylint
- exit code: 2

Registered custom plugin. Some checks will be disabled for tests.
************* Module dvc.command.experiments
dvc/command/experiments.py:14:4: E0401: Unable to import 'flatten_json'
(import-error)
dvc/command/experiments.py:39:4: E0401: Unable to import 'flatten_json'
(import-error)

-----------------------------------
Your code has been rated at 9.99/10

Registered custom plugin. Some checks will be disabled for tests.
************* Module dvc.utils.diff
dvc/utils/diff.py:38:8: E0401: Unable to import 'flatten_json'
(import-error)
************* Module dvc.command.metrics
dvc/command/metrics.py:17:4: E0401: Unable to import 'flatten_json'
(import-error)

-----------------------------------
```](https://github.com/iterative/dvc/commit/2bf6eef53b06c720c1b96db7879517e2525187ee) by [efiop](https://github.com/efiop)
:hammer_and_wrench: [ignore: dynamically collect dvcignore (#4284)  This allows us avoid collecting dvcignore for the whole repo if we only
care about particular paths. As a result, in a repo with 2 datasets
(2M + 0.5M files), creating a defunct stage takes ~4sec on 1.2.0, but
~1sec(most of it is actually dvc module initialization) with this PR.

This is also a pre-requisite for dynamic dvcignore and subrepo
collection (https://github.com/iterative/dvc/pull/4247) while walking
the tree.

Also, it is important to clarify that regular `dvc status`(without
arguments) has the same performance after this PR, because when we check
dataset for changes, we call things like `tree.exists()`, which call
dvcignore and make it collect dvcignore in the dataset itself, so we
still endup collecting dvcignore for the whole repo (including walking
into the datasets). This should be solved soon by telling dvcignore that
it shouldn't walk into the datasets searching for `.dvcignore`s.](https://github.com/iterative/dvc/commit/fe9ae2c5d1ab94e54ef5620fd2cb1ead16e2d082) by [efiop](https://github.com/efiop)

- - - 
# CONTRIBUTORS
Last week there were 6 contributors.
:bust_in_silhouette: [efiop](https://github.com/efiop)
:bust_in_silhouette: [arthurcgusmao](https://github.com/arthurcgusmao)
:bust_in_silhouette: [skshetry](https://github.com/skshetry)
:bust_in_silhouette: [iksnagreb](https://github.com/iksnagreb)
:bust_in_silhouette: [pmrowla](https://github.com/pmrowla)
:bust_in_silhouette: [sahilbhosale63](https://github.com/sahilbhosale63)

- - - 
# STARGAZERS
Last week there were 102 stagazers.
:star: [dafinley](https://github.com/dafinley)
:star: [petrbela](https://github.com/petrbela)
:star: [skillachie](https://github.com/skillachie)
:star: [Dovyski](https://github.com/Dovyski)
:star: [monoidcat](https://github.com/monoidcat)
:star: [alxbrd](https://github.com/alxbrd)
:star: [zmiftah](https://github.com/zmiftah)
:star: [bear0330](https://github.com/bear0330)
:star: [lcbasu](https://github.com/lcbasu)
:star: [MHM5000](https://github.com/MHM5000)
:star: [elsbrock](https://github.com/elsbrock)
:star: [andreistirb](https://github.com/andreistirb)
:star: [mohammadnaraghi](https://github.com/mohammadnaraghi)
:star: [mediovia](https://github.com/mediovia)
:star: [deenadayalancs](https://github.com/deenadayalancs)
:star: [1e100](https://github.com/1e100)
:star: [Ahacad](https://github.com/Ahacad)
:star: [omarryhan](https://github.com/omarryhan)
:star: [TalhaKarabiyik](https://github.com/TalhaKarabiyik)
:star: [gmenegatti](https://github.com/gmenegatti)
:star: [AleksaC](https://github.com/AleksaC)
:star: [honood](https://github.com/honood)
:star: [ankane](https://github.com/ankane)
:star: [ahmgeek](https://github.com/ahmgeek)
:star: [jayaramcloud](https://github.com/jayaramcloud)
:star: [Sija](https://github.com/Sija)
:star: [Azatik1000](https://github.com/Azatik1000)
:star: [jawwad3](https://github.com/jawwad3)
:star: [4oo4](https://github.com/4oo4)
:star: [phillbaker](https://github.com/phillbaker)
:star: [Emiller88](https://github.com/Emiller88)
:star: [bdittmer](https://github.com/bdittmer)
:star: [harshavamsi](https://github.com/harshavamsi)
:star: [simonlin20](https://github.com/simonlin20)
:star: [bobzhen](https://github.com/bobzhen)
:star: [gEndelf](https://github.com/gEndelf)
:star: [peeush-agarwal](https://github.com/peeush-agarwal)
:star: [berniechiu](https://github.com/berniechiu)
:star: [greenspray9](https://github.com/greenspray9)
:star: [admariner](https://github.com/admariner)
:star: [ferencberes](https://github.com/ferencberes)
:star: [LilJoshua](https://github.com/LilJoshua)
:star: [lipovsek](https://github.com/lipovsek)
:star: [JoaoVasques](https://github.com/JoaoVasques)
:star: [kasimkobakci](https://github.com/kasimkobakci)
:star: [AlmogBaku](https://github.com/AlmogBaku)
:star: [endymion64](https://github.com/endymion64)
:star: [bnel1201](https://github.com/bnel1201)
:star: [dnakov](https://github.com/dnakov)
:star: [melkiga](https://github.com/melkiga)
:star: [jeffreyguenther](https://github.com/jeffreyguenther)
:star: [vai](https://github.com/vai)
:star: [cyrillay](https://github.com/cyrillay)
:star: [ssami](https://github.com/ssami)
:star: [qdriven](https://github.com/qdriven)
:star: [slaughtering](https://github.com/slaughtering)
:star: [ThomasK33](https://github.com/ThomasK33)
:star: [yoziru](https://github.com/yoziru)
:star: [AhmedAzzu25](https://github.com/AhmedAzzu25)
:star: [izurietajr](https://github.com/izurietajr)
:star: [tzvsi](https://github.com/tzvsi)
:star: [JessicaSousa](https://github.com/JessicaSousa)
:star: [aninoy](https://github.com/aninoy)
:star: [martinbjeldbak](https://github.com/martinbjeldbak)
:star: [Kogam22](https://github.com/Kogam22)
:star: [Prev](https://github.com/Prev)
:star: [blawok](https://github.com/blawok)
:star: [naihetxi](https://github.com/naihetxi)
:star: [pasqualesalza](https://github.com/pasqualesalza)
:star: [ari-hacks](https://github.com/ari-hacks)
:star: [adamaliang](https://github.com/adamaliang)
:star: [singal95](https://github.com/singal95)
:star: [equ1n0x93](https://github.com/equ1n0x93)
:star: [lrq3000](https://github.com/lrq3000)
:star: [h3ndrk](https://github.com/h3ndrk)
:star: [apoorv4wadhwani](https://github.com/apoorv4wadhwani)
:star: [abunuwas](https://github.com/abunuwas)
:star: [Jeket](https://github.com/Jeket)
:star: [shibuiwilliam](https://github.com/shibuiwilliam)
:star: [ericvoorhis](https://github.com/ericvoorhis)
:star: [vikramkalabi](https://github.com/vikramkalabi)
:star: [leon90dm](https://github.com/leon90dm)
:star: [lianaing](https://github.com/lianaing)
:star: [avinashkoyyana](https://github.com/avinashkoyyana)
:star: [rsnitsch](https://github.com/rsnitsch)
:star: [noorvir](https://github.com/noorvir)
:star: [aoelvp94](https://github.com/aoelvp94)
:star: [duffrind](https://github.com/duffrind)
:star: [md5](https://github.com/md5)
:star: [deuxtres](https://github.com/deuxtres)
:star: [yxxhero](https://github.com/yxxhero)
:star: [dvbvr](https://github.com/dvbvr)
:star: [FerdiHr](https://github.com/FerdiHr)
:star: [sootlasten](https://github.com/sootlasten)
:star: [nicohlr](https://github.com/nicohlr)
:star: [johnowennixon](https://github.com/johnowennixon)
:star: [syfreed](https://github.com/syfreed)
:star: [amandujano](https://github.com/amandujano)
:star: [yihengli](https://github.com/yihengli)
:star: [leepeterson](https://github.com/leepeterson)
:star: [AntoineToubhans](https://github.com/AntoineToubhans)
:star: [eyaltrabelsi](https://github.com/eyaltrabelsi)
You all are the stars! :star2:

- - - 
# RELEASES
Last week there were 5 releases.
:rocket: [1.3.1 1.3.1](https://github.com/iterative/dvc/releases/tag/1.3.1)
:rocket: [1.3.0 1.3.0](https://github.com/iterative/dvc/releases/tag/1.3.0)
:rocket: [1.2.3 1.2.3](https://github.com/iterative/dvc/releases/tag/1.2.3)
:rocket: [1.2.2 1.2.2](https://github.com/iterative/dvc/releases/tag/1.2.2)
:rocket: [1.2.1 1.2.1](https://github.com/iterative/dvc/releases/tag/1.2.1)

- - - 

That's all for last week, please <kbd>:eyes: **Watch**</kbd> and <kbd>:star: **Star**</kbd> the repository [*iterative/dvc*](https://github.com/iterative/dvc) to receive next weekly updates. :smiley:

*You can also [view all Weekly Digests by clicking here](https://github.com/iterative/dvc/issues?q=is:open+is:issue+label:weekly-digest).* 

> Your [**Weekly Digest**](https://github.com/apps/weekly-digest) bot. :calendar:
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

No branches or pull requests

1 participant