[Twisted-Python] some competition and hopefully inspiration for conch

There's a new Python-based asynchronous SSH client and server in town: <http://asyncssh.timeheart.net/#> This looks to have a much more straightforward API and way better documentation than Conch, although it's of course python 3.4+ only and lacks many of Conch's sophisticated (if somewhat idiosyncratic) terminal handling features. I hope that this project will spur a little friendly competition from Conch's maintainers, such as we are :-). (Just a thought, it would be great if <https://twistedmatrix.com/documents/current/conch/howto/index.html> looked more like that web page, in terms of how long the examples are, what is demonstrated, and what is documented...) -glyph

Hi, On 17 July 2014 00:40, Glyph Lefkowitz <glyph@twistedmatrix.com> wrote:
How did you found this project? I could not find it on PyPi and I failed to find any information about how to contribute to the project... I did sent an email to the author. I could not find a suite of automated tests. I hope that asyncssh is willing to compete with Twisted Conch SSH and improve on this :) I only looked quickly over the server examples but I am a bit worried about the SSH key auth example and how SSH key validation is done .. or not done. I prefer Conch API. For example I don't know what to say about asyncssh begin_auth() method, which when it returns True, it cause the authentication to be skipped... I would prefer a name like should_ignore_authentication... or something which describes better why and how it should be used. http://asyncssh.timeheart.net/api.html#asyncssh.SSHServer.begin_auth Conch source code is very readable (for it's size and age) and I manage to put it into use just by reading the code and docstrings/API docs. I started to learn Conch with examples from Stack Overflow and I remember that Jean-Paul was very active there.... so mabye conch documentation can be improved by importing some of those examples. Contributing to Twisted is a PITA so I guess that for some people (companies) this is a good reason to start a new (single protocol targeted) project.( ex Tornado). At this stage, asyncssh does not have a better public development process. Cheers, -- Adi Roiban

On Jul 17, 2014, at 2:34 AM, Adi Roiban <adi@roiban.ro> wrote:
The author announced it on the Tulip list. Why do you ask?
I could not find it on PyPi and I failed to find any information about how to contribute to the project... I did sent an email to the author.
It's on Github. There's a link on the author's page.
I could not find a suite of automated tests. I hope that asyncssh is willing to compete with Twisted Conch SSH and improve on this :)
Huh, I hadn't gotten that far :-).
(...) I prefer Conch API. (...)
Glad to hear it :).
Conch source code is very readable (for it's size and age) and I manage to put it into use just by reading the code and docstrings/API docs.
I'm definitely glad that people can figure out how to use Conch, even given the state of its documentation :). But it's definitely more of a struggle than it could be. I think asyncssh's documentation style is one to aspire to: it's very straightforward, and tells you how to do useful things with very minimal examples. I think there are some clunky bits of the Conch API which could be cleaned up, but even totally as-is we could probably asyncssh's their documentation outline, and possibly toss in a few more goodies as well. -glyph

On 16/07/14 22:40, Glyph Lefkowitz wrote:
The client endpoint API is great. It is what Conch should always have been and is a pleasure to work with, so congrats to the authors of that. It'll be even better when #6617 lands! It would be great to have a conch server endpoint API.

Hi, On 17 July 2014 00:40, Glyph Lefkowitz <glyph@twistedmatrix.com> wrote:
How did you found this project? I could not find it on PyPi and I failed to find any information about how to contribute to the project... I did sent an email to the author. I could not find a suite of automated tests. I hope that asyncssh is willing to compete with Twisted Conch SSH and improve on this :) I only looked quickly over the server examples but I am a bit worried about the SSH key auth example and how SSH key validation is done .. or not done. I prefer Conch API. For example I don't know what to say about asyncssh begin_auth() method, which when it returns True, it cause the authentication to be skipped... I would prefer a name like should_ignore_authentication... or something which describes better why and how it should be used. http://asyncssh.timeheart.net/api.html#asyncssh.SSHServer.begin_auth Conch source code is very readable (for it's size and age) and I manage to put it into use just by reading the code and docstrings/API docs. I started to learn Conch with examples from Stack Overflow and I remember that Jean-Paul was very active there.... so mabye conch documentation can be improved by importing some of those examples. Contributing to Twisted is a PITA so I guess that for some people (companies) this is a good reason to start a new (single protocol targeted) project.( ex Tornado). At this stage, asyncssh does not have a better public development process. Cheers, -- Adi Roiban

On Jul 17, 2014, at 2:34 AM, Adi Roiban <adi@roiban.ro> wrote:
The author announced it on the Tulip list. Why do you ask?
I could not find it on PyPi and I failed to find any information about how to contribute to the project... I did sent an email to the author.
It's on Github. There's a link on the author's page.
I could not find a suite of automated tests. I hope that asyncssh is willing to compete with Twisted Conch SSH and improve on this :)
Huh, I hadn't gotten that far :-).
(...) I prefer Conch API. (...)
Glad to hear it :).
Conch source code is very readable (for it's size and age) and I manage to put it into use just by reading the code and docstrings/API docs.
I'm definitely glad that people can figure out how to use Conch, even given the state of its documentation :). But it's definitely more of a struggle than it could be. I think asyncssh's documentation style is one to aspire to: it's very straightforward, and tells you how to do useful things with very minimal examples. I think there are some clunky bits of the Conch API which could be cleaned up, but even totally as-is we could probably asyncssh's their documentation outline, and possibly toss in a few more goodies as well. -glyph

On 16/07/14 22:40, Glyph Lefkowitz wrote:
The client endpoint API is great. It is what Conch should always have been and is a pleasure to work with, so congrats to the authors of that. It'll be even better when #6617 lands! It would be great to have a conch server endpoint API.
participants (4)
-
Adi Roiban
-
Glyph
-
Glyph Lefkowitz
-
Phil Mayers