A bunch of notes about Paramiko, Fabric and Invoke, such as their websites, their Python 3 support, and more! With copious exclamation points!


This will be one of the last posts on this specific topic: many of the ideas outlined in my previous post about project websites have been put into practice! Specifically, paramiko.org and docs.paramiko.org are live: a “primary” site holding project info, married to a typical Read The Docs multi-version API docs site. They’re visually unified via the Alabaster extension/theme, and the WWW site leverages a newish RTD feature (single-version builds) plus the Releases changelog library.

The remaining missing chunk is a Sphinx-friendly blog, which will let me publish news on each project’s own website. A basic version is hidden in Paramiko’s WWW site code, so a short term priority is to clean it up & rip it out into a standalone project.

Once that’s done, Fabric/Invoke/etc will grow similar setups.

Major Paramiko updates!

Paramiko (1.13+) now supports Python 2.6 through 3.3. This should make Python 3 support possible for the plethora of tools using Paramiko, and paves the way for Fabric 2 (which will support Python 2 and 3 from the get-go.)

In addition, the API documentation for Paramiko 1.10+ switched from Epydoc to Sphinx (primarily to support the website changes above) which was itself no small effort.

With these initiatives behind us, Paramiko will iterate on bugfixes, with most near-term feature work coming out of Fabric 2 development as we push appropriate medium-level concerns down into Paramiko.

Did I mention Fabric 2 yet?!

A couple times, because I plan to actually start it soon, so I can show an alpha at PyCon next month in Montréal.

I’ve been resisting major changes to Fabric 1 (large features, Python 3 etc) because it will be much easier to support them in a fully test driven, re-architected v2. Now that Paramiko supports Python 3, no excuses remain.

That aside, I’m still releasing Fabric 1 bugfixes periodically, mostly on an interrupt basis (the tracker is, sadly, still deluged :().

The same is true for Invoke (which forms the task-runner half of Fabric 2 as per the roadmap) - bugfixes and features release periodically, and this will ramp up with Fabric 2 work as the two are intertwined.