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

Add FTP backend #26

Open
pjbull opened this issue Aug 18, 2020 · 4 comments
Open

Add FTP backend #26

pjbull opened this issue Aug 18, 2020 · 4 comments
Labels
enhancement New feature or request

Comments

@pjbull
Copy link
Member

pjbull commented Aug 18, 2020

Should support both ftp and sftp (ftp over ssh).

There's some code that will help with this in the zamba-web project

@pjbull pjbull added the enhancement New feature or request label Oct 2, 2020
@MattOates
Copy link

MattOates commented Sep 18, 2024

@pjbull are you interested in a Paramiko based SFTP implementation? I need this right now and would prefer to add it to cloudpathlib than use cloudpathlib plus my own code on the side.

@pjbull
Copy link
Member Author

pjbull commented Sep 19, 2024

@MattOates yeah, would definitely be interested. It may be helpful to look at the WIP http version here:
#468

We likely want the same scenario where to run tests we spin up a server in a separate thread. We also suspect we will need to expose a bit more of the internals like we do for HTTP so people can customize how things are handled for their FTP server, since in my experience it can be idiosyncratic.

Thanks!

@MattOates
Copy link

@pjbull already got your branch out, thanks. This will be SFTP specifically though, not FTPS so the SSH protocol not FTP over SSL. There should ultimately be almost zero idiosyncrasies other than the auth method being password or keys etc. I have a feeling key based auth might be a bit of a challenge given there is nothing in a URL to specify it. I'll at least implement user-password via URLs "sftp://user:password@host:port/path" to get going.

@pjbull
Copy link
Member Author

pjbull commented Sep 25, 2024

Great, glad to hear it.

key based auth might be a bit of a challenge given there is nothing in a URL to specify it.

I think that folks will generally need to do this by either (1) instantiating a client and setting that to the default or using it explicitly (see examples in the docs). Or, I think we should probably also support setting environment variables for the paths to they key files that get used.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants