Load GitHub datasets from Hub
NONE
_The documentation is not available anymore as the PR was closed or merged._
2022-03-30T09:32:15Z
https://github.com/huggingface/datasets/pull/4059#issuecomment-1082842908
https://api.github.com/repos/huggingface/datasets/issues/4059
IC_kwDODunzps5Ait8c
https://api.github.com/repos/huggingface/datasets/issues/comments/1082842908/reactions
2022-09-16T12:43:26Z
https://api.github.com/repos/huggingface/datasets/issues/comments/1082842908
https://avatars.githubusercontent.com/u/99929124?v=4
https://api.github.com/users/HuggingFaceDocBuilderDev/events{/privacy}
https://api.github.com/users/HuggingFaceDocBuilderDev/followers
https://api.github.com/users/HuggingFaceDocBuilderDev/following{/other_user}
https://api.github.com/users/HuggingFaceDocBuilderDev/gists{/gist_id}
https://github.com/HuggingFaceDocBuilderDev
HuggingFaceDocBuilderDev
U_kgDOBfTMJA
https://api.github.com/users/HuggingFaceDocBuilderDev/orgs
https://api.github.com/users/HuggingFaceDocBuilderDev/received_events
https://api.github.com/users/HuggingFaceDocBuilderDev/repos
https://api.github.com/users/HuggingFaceDocBuilderDev/starred{/owner}{/repo}
https://api.github.com/users/HuggingFaceDocBuilderDev/subscriptions
User
https://api.github.com/users/HuggingFaceDocBuilderDev
public
MEMBER
Currently the github datasets versioning is synced with the `datasets` lib versioning: when you load a github dataset using `datasets==x.y.z`, then the version of the dataset will be the one at the git tag `x.y.z`. This is for reproducibility reasons.

We could stop having this behavior and always use the latest version of the dataset, but when we do a breaking change it will break github datasets for previous versions of the library. It could be nice to think about tools that will allow backward compatibility if we ever need to to a breaking change in some datasets. Maybe a way to specify which revision of the dataset to use based on the `datasets` major version.

If we keep this behavior, then maybe add a note in setup.py to push to PyPI only after the `Update Hub repositories` CI job is done. It can take a few minutes to add the version tag to all the dataset repositories on the Hub. If we push to PyPI before the tags are pushed, then some users might get some 404 if at the same time they installed `datasets` and run `load_dataset`.
2022-03-31T14:01:02Z
https://github.com/huggingface/datasets/pull/4059#issuecomment-1084628967
https://api.github.com/repos/huggingface/datasets/issues/4059
IC_kwDODunzps5Aph_n
https://api.github.com/repos/huggingface/datasets/issues/comments/1084628967/reactions
2022-03-31T14:02:11Z
https://api.github.com/repos/huggingface/datasets/issues/comments/1084628967
https://avatars.githubusercontent.com/u/42851186?v=4
https://api.github.com/users/lhoestq/events{/privacy}
https://api.github.com/users/lhoestq/followers
https://api.github.com/users/lhoestq/following{/other_user}
https://api.github.com/users/lhoestq/gists{/gist_id}
https://github.com/lhoestq
lhoestq
MDQ6VXNlcjQyODUxMTg2
https://api.github.com/users/lhoestq/orgs
https://api.github.com/users/lhoestq/received_events
https://api.github.com/users/lhoestq/repos
https://api.github.com/users/lhoestq/starred{/owner}{/repo}
https://api.github.com/users/lhoestq/subscriptions
User
https://api.github.com/users/lhoestq
public
MEMBER
@lhoestq I was going to increase the `max_retries` as done for metrics:
- #4063 

But then I realized that loading from the Hub would work as well. That is why I opened this PR.

Definitely, we should decide which behavior we want:
- We have been working in the direction of eliminating the distinctions between canonical/community datasets
- If we continue to go in that direction, then passing (or not passing) `revision` should have the same behavior for canonical/community
- If we want to continue to tight the library version with the canonical datasets version, that is definitely a difference between canonical and community datasets

Not sure what could be better in the long term...
2022-03-31T14:31:32Z
https://github.com/huggingface/datasets/pull/4059#issuecomment-1084667136
https://api.github.com/repos/huggingface/datasets/issues/4059
IC_kwDODunzps5AprUA
https://api.github.com/repos/huggingface/datasets/issues/comments/1084667136/reactions
2022-03-31T14:32:55Z
https://api.github.com/repos/huggingface/datasets/issues/comments/1084667136
https://avatars.githubusercontent.com/u/8515462?v=4
https://api.github.com/users/albertvillanova/events{/privacy}
https://api.github.com/users/albertvillanova/followers
https://api.github.com/users/albertvillanova/following{/other_user}
https://api.github.com/users/albertvillanova/gists{/gist_id}
https://github.com/albertvillanova
albertvillanova
MDQ6VXNlcjg1MTU0NjI=
https://api.github.com/users/albertvillanova/orgs
https://api.github.com/users/albertvillanova/received_events
https://api.github.com/users/albertvillanova/repos
https://api.github.com/users/albertvillanova/starred{/owner}{/repo}
https://api.github.com/users/albertvillanova/subscriptions
User
https://api.github.com/users/albertvillanova
public
MEMBER
> We could stop having this behavior and always use the latest version of the dataset, but when we do a breaking change it will break github datasets for previous versions of the library. 

Not sure of understanding this. Previous versions of the `datasets` library will continue to download GitHub datasets from GitHub, syncing library/dataset versions... Where is the problem?
2022-03-31T14:35:51Z
https://github.com/huggingface/datasets/pull/4059#issuecomment-1084671985
https://api.github.com/repos/huggingface/datasets/issues/4059
IC_kwDODunzps5Apsfx
https://api.github.com/repos/huggingface/datasets/issues/comments/1084671985/reactions
2022-03-31T14:36:56Z
https://api.github.com/repos/huggingface/datasets/issues/comments/1084671985
https://avatars.githubusercontent.com/u/8515462?v=4
https://api.github.com/users/albertvillanova/events{/privacy}
https://api.github.com/users/albertvillanova/followers
https://api.github.com/users/albertvillanova/following{/other_user}
https://api.github.com/users/albertvillanova/gists{/gist_id}
https://github.com/albertvillanova
albertvillanova
MDQ6VXNlcjg1MTU0NjI=
https://api.github.com/users/albertvillanova/orgs
https://api.github.com/users/albertvillanova/received_events
https://api.github.com/users/albertvillanova/repos
https://api.github.com/users/albertvillanova/starred{/owner}{/repo}
https://api.github.com/users/albertvillanova/subscriptions
User
https://api.github.com/users/albertvillanova
public
MEMBER
Yes you're right, previous versions of `datasets` will still continue to download from github, but not future versions.
If we release `datasets` 2.1 by removing this behavior and if one day we release `datasets` 3.0 with a breaking change in the dataset scripts, then all version >=2.1 will break.
2022-03-31T14:44:44Z
https://github.com/huggingface/datasets/pull/4059#issuecomment-1084683072
https://api.github.com/repos/huggingface/datasets/issues/4059
IC_kwDODunzps5ApvNA
https://api.github.com/repos/huggingface/datasets/issues/comments/1084683072/reactions
2022-03-31T14:44:44Z
https://api.github.com/repos/huggingface/datasets/issues/comments/1084683072
https://avatars.githubusercontent.com/u/42851186?v=4
https://api.github.com/users/lhoestq/events{/privacy}
https://api.github.com/users/lhoestq/followers
https://api.github.com/users/lhoestq/following{/other_user}
https://api.github.com/users/lhoestq/gists{/gist_id}
https://github.com/lhoestq
lhoestq
MDQ6VXNlcjQyODUxMTg2
https://api.github.com/users/lhoestq/orgs
https://api.github.com/users/lhoestq/received_events
https://api.github.com/users/lhoestq/repos
https://api.github.com/users/lhoestq/starred{/owner}{/repo}
https://api.github.com/users/lhoestq/subscriptions
User
https://api.github.com/users/lhoestq
public
MEMBER
Ideally we should drop the differences between github datasets and community datasets, and maybe provide a way to fallback on an older version of a dataset repository if the user's `datasets` version is too old and incompatible with it.
2022-03-31T14:48:08Z
https://github.com/huggingface/datasets/pull/4059#issuecomment-1084687886
https://api.github.com/repos/huggingface/datasets/issues/4059
IC_kwDODunzps5ApwYO
https://api.github.com/repos/huggingface/datasets/issues/comments/1084687886/reactions
2022-03-31T14:48:08Z
https://api.github.com/repos/huggingface/datasets/issues/comments/1084687886
https://avatars.githubusercontent.com/u/42851186?v=4
https://api.github.com/users/lhoestq/events{/privacy}
https://api.github.com/users/lhoestq/followers
https://api.github.com/users/lhoestq/following{/other_user}
https://api.github.com/users/lhoestq/gists{/gist_id}
https://github.com/lhoestq
lhoestq
MDQ6VXNlcjQyODUxMTg2
https://api.github.com/users/lhoestq/orgs
https://api.github.com/users/lhoestq/received_events
https://api.github.com/users/lhoestq/repos
https://api.github.com/users/lhoestq/starred{/owner}{/repo}
https://api.github.com/users/lhoestq/subscriptions
User
https://api.github.com/users/lhoestq
public
MEMBER
I just noticed I literally opened the same PR lol

I'm still convinced that we should do a better version compatibility check but we can see that later IMO
2022-09-13T16:09:49Z
https://github.com/huggingface/datasets/pull/4059#issuecomment-1245631281
https://api.github.com/repos/huggingface/datasets/issues/4059
IC_kwDODunzps5KPtMx
https://api.github.com/repos/huggingface/datasets/issues/comments/1245631281/reactions
2022-09-13T16:10:55Z
https://api.github.com/repos/huggingface/datasets/issues/comments/1245631281
https://avatars.githubusercontent.com/u/42851186?v=4
https://api.github.com/users/lhoestq/events{/privacy}
https://api.github.com/users/lhoestq/followers
https://api.github.com/users/lhoestq/following{/other_user}
https://api.github.com/users/lhoestq/gists{/gist_id}
https://github.com/lhoestq
lhoestq
MDQ6VXNlcjQyODUxMTg2
https://api.github.com/users/lhoestq/orgs
https://api.github.com/users/lhoestq/received_events
https://api.github.com/users/lhoestq/repos
https://api.github.com/users/lhoestq/starred{/owner}{/repo}
https://api.github.com/users/lhoestq/subscriptions
User
https://api.github.com/users/lhoestq
public
MEMBER
Normally in open source projects, when there is a duplicate PR, the latter is tagged as "duplicate" and closed. :stuck_out_tongue_winking_eye: 

Let me make things clear in my mind: so you say that the blocking point that was preventing this PR from merging, now is no longer a blocking point and could be addresses in a subsequent PR?
2022-09-15T05:29:00Z
https://github.com/huggingface/datasets/pull/4059#issuecomment-1247600562
https://api.github.com/repos/huggingface/datasets/issues/4059
IC_kwDODunzps5KXN-y
https://api.github.com/repos/huggingface/datasets/issues/comments/1247600562/reactions
2022-09-16T08:17:56Z
https://api.github.com/repos/huggingface/datasets/issues/comments/1247600562
https://avatars.githubusercontent.com/u/8515462?v=4
https://api.github.com/users/albertvillanova/events{/privacy}
https://api.github.com/users/albertvillanova/followers
https://api.github.com/users/albertvillanova/following{/other_user}
https://api.github.com/users/albertvillanova/gists{/gist_id}
https://github.com/albertvillanova
albertvillanova
MDQ6VXNlcjg1MTU0NjI=
https://api.github.com/users/albertvillanova/orgs
https://api.github.com/users/albertvillanova/received_events
https://api.github.com/users/albertvillanova/repos
https://api.github.com/users/albertvillanova/starred{/owner}{/repo}
https://api.github.com/users/albertvillanova/subscriptions
User
https://api.github.com/users/albertvillanova
public
MEMBER
Let me close the duplicate one, sorry

> Let me make things clear my mind: so you say that the blocking point that was preventing this PR from merging now is no longer a blocking point and could be addresses in a subsequent PR?

Yes 🙈
2022-09-15T15:24:12Z
https://github.com/huggingface/datasets/pull/4059#issuecomment-1248257164
https://api.github.com/repos/huggingface/datasets/issues/4059
IC_kwDODunzps5KZuSM
https://api.github.com/repos/huggingface/datasets/issues/comments/1248257164/reactions
2022-09-15T15:36:19Z
https://api.github.com/repos/huggingface/datasets/issues/comments/1248257164
https://avatars.githubusercontent.com/u/42851186?v=4
https://api.github.com/users/lhoestq/events{/privacy}
https://api.github.com/users/lhoestq/followers
https://api.github.com/users/lhoestq/following{/other_user}
https://api.github.com/users/lhoestq/gists{/gist_id}
https://github.com/lhoestq
lhoestq
MDQ6VXNlcjQyODUxMTg2
https://api.github.com/users/lhoestq/orgs
https://api.github.com/users/lhoestq/received_events
https://api.github.com/users/lhoestq/repos
https://api.github.com/users/lhoestq/starred{/owner}{/repo}
https://api.github.com/users/lhoestq/subscriptions
User
https://api.github.com/users/lhoestq
public
MEMBER
> Note that after this PR, all the changes made to a dataset will affect all the datasets version from now on

Yes, we have aligned this behavior with Hub datasets, as this is already the case for Hub datasets.
2022-09-16T12:39:30Z
https://github.com/huggingface/datasets/pull/4059#issuecomment-1249313111
https://api.github.com/repos/huggingface/datasets/issues/4059
IC_kwDODunzps5KdwFX
https://api.github.com/repos/huggingface/datasets/issues/comments/1249313111/reactions
2022-09-16T12:39:39Z
https://api.github.com/repos/huggingface/datasets/issues/comments/1249313111
https://avatars.githubusercontent.com/u/8515462?v=4
https://api.github.com/users/albertvillanova/events{/privacy}
https://api.github.com/users/albertvillanova/followers
https://api.github.com/users/albertvillanova/following{/other_user}
https://api.github.com/users/albertvillanova/gists{/gist_id}
https://github.com/albertvillanova
albertvillanova
MDQ6VXNlcjg1MTU0NjI=
https://api.github.com/users/albertvillanova/orgs
https://api.github.com/users/albertvillanova/received_events
https://api.github.com/users/albertvillanova/repos
https://api.github.com/users/albertvillanova/starred{/owner}{/repo}
https://api.github.com/users/albertvillanova/subscriptions
User
https://api.github.com/users/albertvillanova
public
We have recurrently had connection errors when requesting GitHub because sometimes the site is not available.

This PR requests the Hub instead, once all GitHub datasets are mirrored on the Hub.

Fix #2048

Related to:
- #4051 
- #3210
- #2787 
- #2075
- #2036