README.md

# SftpEx

An Elixir wrapper around the Erlang SFTP application. This allows for the use of Elixir Streams to 
transfer files via SFTP. 
 
Example usage: 

An example of writing a file to a server is the following.
    
    stream = File.stream!("filename.txt")
        |> Stream.into(SftpEx.stream!(connection,"/home/path/filename.txt"))
        |> Stream.run
        
This follows the same pattern as Elixir IO streams so a file can be transferred
from one server to another via SFTP as follows.

    stream = SftpEx.stream!(connection,"/home/path/filename.txt")
    |> Stream.into(SftpEx.stream!(connection2,"/home/path/filename.txt"))
    |> Stream.run
    
    
SftpEx.stream!(connection,"test2.csv") |> Stream.into(File.stream!("filename.txt")) |> Stream.run
    
## Installation

If [available in Hex](https://hex.pm/docs/publish), the package can be installed as:

  1. Add `sftp_ex` to your list of dependencies in `mix.exs`:

    ```elixir
    def deps do
      [{:sftp_ex, "~> 0.2.0"}]
    end
    ```

  2. Ensure `sftp_ex` is started before your application:

    ```elixir
    def application do
      [applications: [:sftp_ex]]
    end
    ```