ityonemo

ityonemo

Librarian (streaming ssh client library)

Just wanted to inform everyone that I have a ssh client that I’m pretty happy about - it’s called librarian, and it improves on sshex in a few ways

1 - the functions are fairly well-typed
2 - it provides fetch/3 and send/4 which are implementations of the SCP protocol.
3 - uses elixir streams and collectible under the hood so it’s composable
4 - it provides ability to defer configuration settings to ~/.ssh/config
5 - there’s an identity: connect option which lets you use a pem file.

https://github.com/ityonemo/librarian

It’s still early so there are probably some bugs that need to be worked out, and since I’m working on a linux box, not having a mac or windows to test on is tough, so as usual extra eyes and suggestions are greatly welcome

Most Liked

ityonemo

ityonemo

version 0.1.5 Update:

Lets you use tty: true (it’s pretty fun to log into an iex> shell and do SSH.run(conn, "cmatrix", tty: true)

tentative environment variable support (but unfortunately erlang’s SSH client library is broken!)

ityonemo

ityonemo

updated, reflecting API changes in the :ssh app provided by OTP/23. Should continue to be compatible with OTP/20ish-22.

ityonemo

ityonemo

Librarian updated to 0.2.0, with support for sending File.Stream (and streams of file streams) to a librarian SCP stream. This means you can do a streaming SCP file send without loading the entire binary into memory (useful for VERY large files, like > 1GB)

Where Next?

Popular in Announcing Top

mathieuprog
Hello :waving_hand: Allow me to introduce you to Tz, an alternative time zone database support to Tzdata. Why another library? First a...
New
restlessronin
The repo is at GitHub - cyberchitta/openai_ex: Community maintained Elixir library for OpenAI API · GitHub. Docs are at OpenaiEx User Gu...
152 10167 134
New
kelvinst
Hey everyone! Well, we made this lib a while ago and now we decided to finally go out and public with it! It’s a tool for creating and m...
New
KronicDeth
Elixir plugin for JetBrain’s IntelliJ Platform (including Rubymine) This is a plugin that adds support for Elixir to JetBrains IntelliJ...
289 36128 110
New
michalmuskala
Another small library today. PersistentEts Hex: persistent_ets | Hex GitHub: GitHub - michalmuskala/persistent_ets · GitHub Ets table ...
New
josevalim
Hello everyone, We have just released NimbleCSV which is a small and fast CSV parsing library for Elixir. It allows developers to define...
New
michalmuskala
Hello everybody. I have just released Jason - a new JSON library. You might be wondering, why do we need a new library? The primary foc...
New
markmark206
simple_feature_flags is a tiny package that lets you turn features on or off based on which environment (e.g. localhost, staging, product...
New
scohen
Lexical Lexical is a next-generation language server for the Elixir programming language. Features Context aware code completion As-you...
New
woylie
Flop is an Elixir library that applies filtering, ordering and pagination parameters to your Ecto queries. offset-based pagination with...
New

Other popular topics Top

Harrisonl
We have an ECS cluster with 4 services, where each task joins a single cluster, via discovery ECS discovery service. Currently when I de...
New
Nvim
Anybody knows a comprehensive comparison of Django and Phoenix, thanks for the help. Where are they similar? Where do they differ the m...
New
greenz1
I have a phoenix application from which a user can download multiple(5-6) files of size 1MB. I couldn’t find anything related to sending ...
New
Lily
In templates/appointment/index.html.eex: <%= for appointment <- @appointments do %> <tr> <td><%= appoi...
New
alice
Hey, Just curious what are the main benefits of Elixir compared to Clojure? When is Elixir more useful than Clojure and vice versa? Th...
New
aalberti333
As the title describes, I’m trying to run Enum.map() over a list of key/value pairs, where the value is a map. My data looks like this: ...
New
saif
Hello everyone, Long time lurker first time poster here. I’ve recently begun working on Elixir full-time again! :raised_hands: It’s been...
New
klo
Got a question about when to concat vs. prepending items to list then reversing to achieve appending. So i know lists boil down to [1 | ...
New
joaquinalcerro
Hi there, I am working with Ecto-Postgresql and I need to call all of the records from a specific table but the table has 40,000 records...
New
dogweather
I wrote this comment on r/haskell, and it’s not popular there. :wink: But I think I’m on to something… Haskell reminds me of Java, and e...
New

We're in Beta

About us Mission Statement