feat(dl_manager): add support for ftp downloads
MEMBER
We only support http by default for downloading.
If you really need to use ftp, then feel free to use a library that allows to download through ftp in your dataset script (I see that you've started working on #722 , that's awesome !). The users will get a message to install the extra library when they load the dataset.

To make the download_manager work with a custom downloader, you can call `download_manager.download_custom` instead of `download_manager.download_and_extract`. The expected arguments are the following:
```
url_or_urls: url or `list`/`dict` of urls to download and extract. Each
        url is a `str`.
custom_download: Callable with signature (src_url: str, dst_path: str) -> Any
        as for example `tf.io.gfile.copy`, that lets you download from google storage
```

2020-10-12T09:29:05Z
https://github.com/huggingface/datasets/issues/721#issuecomment-707001770
https://api.github.com/repos/huggingface/datasets/issues/721
MDEyOklzc3VlQ29tbWVudDcwNzAwMTc3MA==
https://api.github.com/repos/huggingface/datasets/issues/comments/707001770/reactions
2020-10-12T09:29:05Z
https://api.github.com/repos/huggingface/datasets/issues/comments/707001770
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
Also maybe it coud be interesting to have a direct support of ftp inside the `datasets` library. Do you know any good libraries that we might consider adding as a (optional ?) dependency ?
2020-10-12T09:33:29Z
https://github.com/huggingface/datasets/issues/721#issuecomment-707004209
https://api.github.com/repos/huggingface/datasets/issues/721
MDEyOklzc3VlQ29tbWVudDcwNzAwNDIwOQ==
https://api.github.com/repos/huggingface/datasets/issues/comments/707004209/reactions
2020-10-12T09:33:29Z
https://api.github.com/repos/huggingface/datasets/issues/comments/707004209
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
CONTRIBUTOR
Downloading an `ftp` file is as simple as:
```python
import urllib 
urllib.urlretrieve('ftp://server/path/to/file', 'file')
```

I believe this should be supported by the library, as its not using any dependency and is trivial amount of code.
2020-10-12T13:50:29Z
https://github.com/huggingface/datasets/issues/721#issuecomment-707132604
https://api.github.com/repos/huggingface/datasets/issues/721
MDEyOklzc3VlQ29tbWVudDcwNzEzMjYwNA==
https://api.github.com/repos/huggingface/datasets/issues/comments/707132604/reactions
2020-10-12T13:50:29Z
https://api.github.com/repos/huggingface/datasets/issues/comments/707132604
https://avatars.githubusercontent.com/u/5757359?v=4
https://api.github.com/users/AmitMY/events{/privacy}
https://api.github.com/users/AmitMY/followers
https://api.github.com/users/AmitMY/following{/other_user}
https://api.github.com/users/AmitMY/gists{/gist_id}
https://github.com/AmitMY
AmitMY
MDQ6VXNlcjU3NTczNTk=
https://api.github.com/users/AmitMY/orgs
https://api.github.com/users/AmitMY/received_events
https://api.github.com/users/AmitMY/repos
https://api.github.com/users/AmitMY/starred{/owner}{/repo}
https://api.github.com/users/AmitMY/subscriptions
User
https://api.github.com/users/AmitMY
public
CONTRIBUTOR
I know its unorthodox, but I added `ftp` download support to `file_utils` in the same PR https://github.com/huggingface/datasets/pull/722
So its possible to understand the interaction of the download component with the ftp download ability
2020-10-12T14:29:33Z
https://github.com/huggingface/datasets/issues/721#issuecomment-707155810
https://api.github.com/repos/huggingface/datasets/issues/721
MDEyOklzc3VlQ29tbWVudDcwNzE1NTgxMA==
https://api.github.com/repos/huggingface/datasets/issues/comments/707155810/reactions
2020-10-12T14:29:33Z
https://api.github.com/repos/huggingface/datasets/issues/comments/707155810
https://avatars.githubusercontent.com/u/5757359?v=4
https://api.github.com/users/AmitMY/events{/privacy}
https://api.github.com/users/AmitMY/followers
https://api.github.com/users/AmitMY/following{/other_user}
https://api.github.com/users/AmitMY/gists{/gist_id}
https://github.com/AmitMY
AmitMY
MDQ6VXNlcjU3NTczNTk=
https://api.github.com/users/AmitMY/orgs
https://api.github.com/users/AmitMY/received_events
https://api.github.com/users/AmitMY/repos
https://api.github.com/users/AmitMY/starred{/owner}{/repo}
https://api.github.com/users/AmitMY/subscriptions
User
https://api.github.com/users/AmitMY
public
MEMBER
Awesome ! I'll take a look :)
2020-10-12T14:33:46Z
https://github.com/huggingface/datasets/issues/721#issuecomment-707158113
https://api.github.com/repos/huggingface/datasets/issues/721
MDEyOklzc3VlQ29tbWVudDcwNzE1ODExMw==
https://api.github.com/repos/huggingface/datasets/issues/comments/707158113/reactions
2020-10-12T14:33:46Z
https://api.github.com/repos/huggingface/datasets/issues/comments/707158113
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
NONE
@AmitMY Can you now download the Phoenix2014 Dataset?
2020-10-24T02:36:39Z
https://github.com/huggingface/datasets/issues/721#issuecomment-715659995
https://api.github.com/repos/huggingface/datasets/issues/721
MDEyOklzc3VlQ29tbWVudDcxNTY1OTk5NQ==
https://api.github.com/repos/huggingface/datasets/issues/comments/715659995/reactions
2020-10-24T02:36:39Z
https://api.github.com/repos/huggingface/datasets/issues/comments/715659995
https://avatars.githubusercontent.com/u/28898844?v=4
https://api.github.com/users/hoanganhpham1006/events{/privacy}
https://api.github.com/users/hoanganhpham1006/followers
https://api.github.com/users/hoanganhpham1006/following{/other_user}
https://api.github.com/users/hoanganhpham1006/gists{/gist_id}
https://github.com/hoanganhpham1006
hoanganhpham1006
MDQ6VXNlcjI4ODk4ODQ0
https://api.github.com/users/hoanganhpham1006/orgs
https://api.github.com/users/hoanganhpham1006/received_events
https://api.github.com/users/hoanganhpham1006/repos
https://api.github.com/users/hoanganhpham1006/starred{/owner}{/repo}
https://api.github.com/users/hoanganhpham1006/subscriptions
User
https://api.github.com/users/hoanganhpham1006
public
CONTRIBUTOR
@hoanganhpham1006 yes.
See pull request https://github.com/huggingface/datasets/pull/722 , it has a loader for this dataset, mostly ready.
There's one issue that delays it being merged - https://github.com/huggingface/datasets/issues/741 - regarding memory consumption.
2020-10-24T05:16:23Z
https://github.com/huggingface/datasets/issues/721#issuecomment-715710971
https://api.github.com/repos/huggingface/datasets/issues/721
MDEyOklzc3VlQ29tbWVudDcxNTcxMDk3MQ==
https://api.github.com/repos/huggingface/datasets/issues/comments/715710971/reactions
2020-10-24T05:16:23Z
https://api.github.com/repos/huggingface/datasets/issues/comments/715710971
https://avatars.githubusercontent.com/u/5757359?v=4
https://api.github.com/users/AmitMY/events{/privacy}
https://api.github.com/users/AmitMY/followers
https://api.github.com/users/AmitMY/following{/other_user}
https://api.github.com/users/AmitMY/gists{/gist_id}
https://github.com/AmitMY
AmitMY
MDQ6VXNlcjU3NTczNTk=
https://api.github.com/users/AmitMY/orgs
https://api.github.com/users/AmitMY/received_events
https://api.github.com/users/AmitMY/repos
https://api.github.com/users/AmitMY/starred{/owner}{/repo}
https://api.github.com/users/AmitMY/subscriptions
User
https://api.github.com/users/AmitMY
public
NONE
The problem which I have now is that this dataset seems does not allow to download? Can you share it with me pls
2020-10-24T06:07:16Z
https://github.com/huggingface/datasets/issues/721#issuecomment-715760398
https://api.github.com/repos/huggingface/datasets/issues/721
MDEyOklzc3VlQ29tbWVudDcxNTc2MDM5OA==
https://api.github.com/repos/huggingface/datasets/issues/comments/715760398/reactions
2020-10-24T06:07:16Z
https://api.github.com/repos/huggingface/datasets/issues/comments/715760398
https://avatars.githubusercontent.com/u/28898844?v=4
https://api.github.com/users/hoanganhpham1006/events{/privacy}
https://api.github.com/users/hoanganhpham1006/followers
https://api.github.com/users/hoanganhpham1006/following{/other_user}
https://api.github.com/users/hoanganhpham1006/gists{/gist_id}
https://github.com/hoanganhpham1006
hoanganhpham1006
MDQ6VXNlcjI4ODk4ODQ0
https://api.github.com/users/hoanganhpham1006/orgs
https://api.github.com/users/hoanganhpham1006/received_events
https://api.github.com/users/hoanganhpham1006/repos
https://api.github.com/users/hoanganhpham1006/starred{/owner}{/repo}
https://api.github.com/users/hoanganhpham1006/subscriptions
User
https://api.github.com/users/hoanganhpham1006
public
CONTRIBUTOR
The dataset loader is not yet ready, because of that issue.
If you want to just download the dataset the old-fashioned way, just go to: https://www-i6.informatik.rwth-aachen.de/ftp/pub/rwth-phoenix/2016/phoenix-2014-T.v3.tar.gz (the ftp link is now broken, and its available over https)
2020-10-24T07:26:10Z
https://github.com/huggingface/datasets/issues/721#issuecomment-715855149
https://api.github.com/repos/huggingface/datasets/issues/721
MDEyOklzc3VlQ29tbWVudDcxNTg1NTE0OQ==
https://api.github.com/repos/huggingface/datasets/issues/comments/715855149/reactions
2020-10-24T07:26:10Z
https://api.github.com/repos/huggingface/datasets/issues/comments/715855149
https://avatars.githubusercontent.com/u/5757359?v=4
https://api.github.com/users/AmitMY/events{/privacy}
https://api.github.com/users/AmitMY/followers
https://api.github.com/users/AmitMY/following{/other_user}
https://api.github.com/users/AmitMY/gists{/gist_id}
https://github.com/AmitMY
AmitMY
MDQ6VXNlcjU3NTczNTk=
https://api.github.com/users/AmitMY/orgs
https://api.github.com/users/AmitMY/received_events
https://api.github.com/users/AmitMY/repos
https://api.github.com/users/AmitMY/starred{/owner}{/repo}
https://api.github.com/users/AmitMY/subscriptions
User
https://api.github.com/users/AmitMY
public
NONE
Got it, thank you so much!
2020-10-24T09:24:33Z
https://github.com/huggingface/datasets/issues/721#issuecomment-715887190
https://api.github.com/repos/huggingface/datasets/issues/721
MDEyOklzc3VlQ29tbWVudDcxNTg4NzE5MA==
https://api.github.com/repos/huggingface/datasets/issues/comments/715887190/reactions
2020-10-24T09:24:33Z
https://api.github.com/repos/huggingface/datasets/issues/comments/715887190
https://avatars.githubusercontent.com/u/28898844?v=4
https://api.github.com/users/hoanganhpham1006/events{/privacy}
https://api.github.com/users/hoanganhpham1006/followers
https://api.github.com/users/hoanganhpham1006/following{/other_user}
https://api.github.com/users/hoanganhpham1006/gists{/gist_id}
https://github.com/hoanganhpham1006
hoanganhpham1006
MDQ6VXNlcjI4ODk4ODQ0
https://api.github.com/users/hoanganhpham1006/orgs
https://api.github.com/users/hoanganhpham1006/received_events
https://api.github.com/users/hoanganhpham1006/repos
https://api.github.com/users/hoanganhpham1006/starred{/owner}{/repo}
https://api.github.com/users/hoanganhpham1006/subscriptions
User
https://api.github.com/users/hoanganhpham1006
public
MEMBER
FTP downloads are supported.
2022-02-15T10:44:43Z
https://github.com/huggingface/datasets/issues/721#issuecomment-1040121691
https://api.github.com/repos/huggingface/datasets/issues/721
IC_kwDODunzps49_v9b
https://api.github.com/repos/huggingface/datasets/issues/comments/1040121691/reactions
2022-02-15T10:44:43Z
https://api.github.com/repos/huggingface/datasets/issues/comments/1040121691
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
I am working on a new dataset (#302) and encounter a problem downloading it.

```python
# This is the official download link from https://www-i6.informatik.rwth-aachen.de/~koller/RWTH-PHOENIX-2014-T/
_URL = "ftp://wasserstoff.informatik.rwth-aachen.de/pub/rwth-phoenix/2016/phoenix-2014-T.v3.tar.gz"

dl_manager.download_and_extract(_URL)
```

I get an error:

> ValueError: unable to parse ftp://wasserstoff.informatik.rwth-aachen.de/pub/rwth-phoenix/2016/phoenix-2014-T.v3.tar.gz as a URL or as a local path

I checked, and indeed you don't consider `ftp` as a remote file.
https://github.com/huggingface/datasets/blob/4c2af707a6955cf4b45f83ac67990395327c5725/src/datasets/utils/file_utils.py#L188

Adding `ftp` to that list does not immediately solve the issue, so there probably needs to be some extra work.



