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

josevalim
Hi everyone, We would like to announce that Plataformatec is working on a new MySQL driver called MyXQL. Our goal is to eventually integ...
New
dbern
I’m excited to announce that TaxJar has developed and open-sourced DateTimeParser. We developed it because we found a need to parse user ...
New
mplatts
With HEEX released we decided to start a components library using Tailwind CSS - check it out here: Petal Components. We also have a boi...
New
mikehostetler
I’m excited to announce Jido, a framework providing foundational primitives for building autonomous agent systems in Elixir. While develo...
New
Qqwy
Today I realized that it would be possible to implement currying-capability in Elixir, using some clever anonymous function creation. (‘c...
New
grych
Hi folks, Few months ago I have announced the proof-of-concept of the library to manipulate the browsers DOM objects directly from Elixi...
639 52341 488
New
Qqwy
Hello everyone, I wrote a small library today called MapDiff. It returns a map listing the (smallest amount of) changes to get from map...
New
Flo0807
Hello everyone! I am excited to share our heart project Backpex with you. After building several Phoenix applications, we realized that...
New
OvermindDL1
Been making an MLElixir thing (not released yet…) for fun in spare time in the past day. I’m just trying to see how much I can get an ML...
132 13966 106
New
kevinlang
Hey all, We have made an Ecto3 Adapter for SQLite3, ecto_sqlite3! We have successfully on-boarded the full suite of integration tests (...
New

Other popular topics Top

TunkShif
This post is an instruction guide to help you setup your Neovim for Elixir development from scratch. It includes general information on h...
274 41539 114
New
JorisKok
I have a server on AWS, and was running a load test using artillery. When looking at the Phoenix dashboard I see the Ports going to 100% ...
New
lessless
I believe there are people here who are dealing with CSV files import on the daily basis, and since Excel is a really popular tool there ...
New
ovidiubadita
Hey all, I discovered Elixir and I love it. I always wanted to learn a functional programming and I intended to go for Haskell, but afte...
New
stefanluptak
Hello everybody, usually, I use a 29" ultra-wide monitor for VSCode which can easily accomodate explorer (files panel) + file with code ...
New
jay1
Why is it that the mnesia database isn’t the most preferred database for use in Elixir/Phoenix?
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
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
Qqwy
Update: How to use the Blogs & Podcasts section You can post links to your blog posts or podcasts either in one of the Official Blog...
3271 126479 1222
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