question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Split out non-ssh-dependent features into separate lib

See original GitHub issue

Things are coming to a head and it’d be good to split out Fabric’s task execution stuff into its own “third party” tool/library so it can be used/referenced independently of our SSH functionality.

Right now, anybody wanting to use Fab-as-runner must still install ssh and PyCrypto, which sucks.

And if we’re splitting it between task running and SSH, having “Fabric” be “SSH + dependency on new runner tool” makes much more sense (both re: backwards compatibility, and overall usefulness) than vice versa.

Speaking of backwards compat, I am marking this 2.0 because it makes more sense to do it at a 2.0 backwards incompat barrier (since at the very least it adds a new install dependency to Fabric), but doing the split in, say, 1.6 or 1.7 should also be quite possible if the timing is better.


To be clear, this new tool would:

  • Maybe, possibly, but probably not just be us glomping onto an existing tool like Paver
    • Paver tries to do too much and I’ve never been a big fan of how its API feels
    • Really not aware of any other tools that are at all well known and fit the use case any better
    • EDIT: Baker actually looks half decent, though it’s obviously not a perfect match (nothing would be, anything would require some tweaks.)
  • Have a distinct identity from Fabric, while probably remaining “affiliated”
    • Name brainstorm incoming.
  • Encompass the “run Python callables as tasks from the CLI with args” functionality that currently exists within Fabric
  • Likely entail some refactoring of how that machinery works, if only just to make post-ripout integration easier
  • Probably get some of the remaining big task-runner “missing features” implemented right off the bat (really just #452)

Issue Analytics

  • State:closed
  • Created 12 years ago
  • Comments:55 (20 by maintainers)

github_iconTop GitHub Comments

3reactions
tebanepcommented, Sep 14, 2015

Any ETA for Fabric 2.0 and Invoke 1.0 as Python 3.5 was released yesterday and will be the default in Ubuntu 16.04 LTS?

0reactions
dmrcommented, Aug 13, 2015

I started switching to invoke in combination with shell commands and some Paramiko because fabric is the last package without python3 support in my project

Read more comments on GitHub >

github_iconTop Results From Across the Web

The 100% correct way to split your chunks with Webpack
With the Webpack config from the bundle splitting section, my polyfills will be automatically split into four different files since there's four npm...
Read more >
6. Split the review site into separate libraries - YouTube
This course introduces you to the essential features of https://nx.dev, created by https://nrwl.io. Get the Advanced NX Workspaces Course at ...
Read more >
Code Splitting - webpack
This feature allows you to split your code into various bundles which can then be loaded on demand or in parallel. It can...
Read more >
Code-splitting for libraries—bundling for npm with Rollup 1.0
Imagine one module imports the upper function from "fancy-case" while another imports it from "fancy-case/src/upper" . Even though it is ...
Read more >
How to split code in library for spring boot starter
Declare both libraries as dependencies (Maven/Gradle) in your ... can use @Profile to decide for different Spring Beans based on the given ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found