Thanks Peter - your patience is greatly appreciated! 😂 Depending on what you were waiting on this for & how you deploy Fabric, feel free to give the branch I linked a spin and let us know how it goes. I'm personally not using Fab 1 in a serious form any longer (everything the last couple jobs has been 2.x), so testing it myself wouldn't kick the whole tire.
On Mon, Apr 4, 2022 at 3:11 PM Peter Sanchez <petersanc...@gmail.com> wrote: > > Jeff, > > I can't tell you how many times I typed an "Any update here?" email to this > thread and then discarded it. I didn't want to be "that guy" but also had no > time to contribute to this merge so I chose to wait patiently. Looks like > it's paying off. > > Just wanted to say thank you for this! > > Peter > > On Sun, Apr 3, 2022 at 7:45 PM Jeff Forcier <j...@bitprophet.org> wrote: >> >> Pushed a few more updates to that branch this evening (eg metadata >> updates so it doesn't think of itself as 'fabric3' or submit Mathias >> to emails from folks slavishly adhering to setup.py fields!). >> >> Consider this a standing note to check the actual recent commits for >> what is changing, and not to treat my list in the previous email as >> canonical :) >> >> On Sun, Apr 3, 2022 at 9:06 PM Jeff Forcier <j...@bitprophet.org> wrote: >> > >> > Hello friends! It's been a couple years since the below chat, but I'm >> > finally at the point where pulling 'fabric3' back into Fabric's 1.x >> > branch is blocking my other plans (namely dropping Python 2 support >> > everywhere else). As I didn't find any actual PR filed about this, I >> > just soldiered ahead, since it shouldn't be all that much work (famous >> > last words). >> > >> > What I've done so far: >> > >> > - Made sure I could still test Fabric-primary's "v1" branch under >> > Python 2 in a Docker image. Still works! Mostly. Had to post a tiny >> > test-only fix. >> > - Made sure the tests passed under Mathias' master branch on >> > Py2+Py3(.6). Again, mostly! Another test-only fix got us to 100%. >> > - Merged the head of v1 (which as noted earlier, was just some bits n >> > bobs from 1.14.1 release) into my copy of Mathias' branch. Still good. >> > - Gave the result a little CircleCI config since it only takes a >> > couple minutes and would be a nice "proof of work" besides "works on >> > my machine". >> > - Note that as with my other projects and Fab 2.x, CircleCI only >> > does Python 3 - not Python 2. But I don't think anybody was TOO >> > worried about the stability of this line on Python 2... >> > - >> > https://app.circleci.com/pipelines/github/fabric/fabric/118/workflows/ea65458b-ccf7-40b0-9b8b-d7107001fbc4 >> > - Early steps here helped me discover a Python 3.9 compat issue (think >> > because they axed the old _dummy_thread allowing 'import thread' to >> > work) in a test dependency (fudge) - it doesn't look easily worked >> > around >> > - but as it's a test-only dep, I am currently happy just saying >> > "test on 3.6-3.8", esp since I don't exactly expect us to post many >> > commits to this line going forwards! >> > >> > For ease of viewing (the compare-only page seems a bit "off", eg >> > doesn't show my recent commits) I made this PR: >> > >> > https://github.com/fabric/fabric/pull/2205 >> > >> > but I'm expecting to just merge & release it as v1.15 (likely this >> > coming Friday-ish) unless somebody points out a Serious Problemâ„¢ I'm >> > not seeing. Let me know what y'all think! >> > >> > Kindly yours, 7 years after the fork, >> > Jeff >> > >> > On Tue, Jun 16, 2020 at 12:16 PM Mathias Ertl <m...@er.tl> wrote: >> > > >> > > Hi Jeff, >> > > >> > > On 6/15/20 9:40 PM, Jeff Forcier wrote: >> > > > I am definitely willing to merge PRs that add Python 3 compatibility, >> > > >> > > That's *really* great news. Thanks! >> > > >> > > > though my assumption was that we'd do it as a single PR that >> > > > approximates the diff between the official repo's v1 branch, and >> > > > fabric3, and treat it in the changelog/messaging as "were you using >> > > > fabric3 from PyPI? Fabric 1.15 is now effectively the same thing! come >> > > > on back!!" >> > > > >> > > > Were you intending to follow some other multi-step process or are we in >> > > > alignment here? Open to whatever, as long as there's a good rationale. >> > > >> > > Well, I'm a bit split: >> > > >> > > On the one hand, I just cloned my fork again and ran the test suite with >> > > Python 3.8.3. Only one test fails >> > > (test_network.TestNetwork.test_connect_does_not_prompt_password_when_ssh_raises_channel_exception), >> > > and that error seems fixable. So we could do just what you're saying. >> > > >> > > On the other hand, Fabric3 did see some usage, but certainly not as much >> > > as it should. Some parts I used at work, but definitely not all of them. >> > > My experience from porting software like this to Python3 is to take it >> > > slow: First fix syntax errors, then fix obvious problems that don't >> > > break compatibility (e.g. imports via six) and so on. >> > > >> > > The advantage of the latter approach is that we have some way cleaner >> > > commits and PRs where we can make sure that we don't break anything. >> > > >> > > So in any case let me know what you want :-) >> > > >> > > Mat >> > > >> > > >> > > >> > > > >> > > > FYI: I've been intending to migrate our CI from Travis to Circle, which >> > > > may play into the timing of this; however I'll likely only allow that >> > > > to >> > > > block the merge if the Travis env is broken and needs nontrivial fixes >> > > > (as it seems a waste to spend more time on Travis if I am planning to >> > > > leave). I am /hoping/ to look at that this week. >> > > > >> > > > Thanks, >> > > > Jeff >> > > > >> > > > On Sun, Jun 14, 2020 at 12:32 PM Mathias Ertl <m...@er.tl >> > > > <mailto:m...@er.tl>> wrote: >> > > > >> > > > Hi Jeff + mailing list, >> > > > >> > > > This thread unfortunately did not have a follow up that I can see, >> > > > so >> > > > whats up with making Fabric 1.x Py3 compatible? >> > > > >> > > > If I get a statement from you that you're willing to merge PRs that >> > > > start with py3 compatibility, I'm willing to start working on >> > > > this, or >> > > > of course maybe za3k wants to work with this, I'm willing to help >> > > > him >> > > > get started (I have ported many older Py2 projects to py3 at my old >> > > > job). >> > > > >> > > > >> > > > Mat >> > > > >> > > > On 5/27/20 5:50 PM, Jeff Forcier wrote: >> > > > > Hi all, and thanks for putting this together, Zachary. >> > > > > >> > > > > Just to chip in with my own context: >> > > > > >> > > > > - I'd been pondering making this connection myself lately (due >> > > > to >> > > > the >> > > > > delays in getting Fabric 2 to parity and now Python 2's official >> > > > EOL). Hi! >> > > > > - Fabric 1.15 was IIRC a single small feature-add, so if there >> > > > are no >> > > > > big changes on the fork besides just the Python 3 compatibility, >> > > > > unifying them should still be relatively easy, mechanically >> > > > speaking. >> > > > > - As stated earlier on the list, my main concern with the Py3 >> > > > compat is >> > > > > that Fabric 1's test suite doesn't have as high a % coverage as >> > > > I'd like >> > > > > (one of many impetuses for v2) but at this point I'm guessing >> > > > fabric3's >> > > > > usage has been widespread enough, for long enough, that any >> > > > serious bugs >> > > > > have already been found. >> > > > > - Curious what, if any, you ran into though - Paramiko went >> > > > through >> > > > > quite a lot of instability in its own Py3 journey... >> > > > > - Re: the fabric3 name on pip - no rush on figuring that out, >> > > > for >> > > > > multiple reasons. >> > > > > - At the VERY least we would need to wait til stats show most >> > > > users >> > > > > of fabric3 had migrated to either post-merge fabric1, or >> > > > fabric2. >> > > > Not in >> > > > > a rush to pull the rug out from under anyone. >> > > > > - I'm hoping that Fabric 3.x, 4.x etc will be non full >> > > > rewrites and >> > > > > thus there will be no need for in place side by side upgrades - >> > > > which >> > > > > was the only real reason to even need a 'fabric2' on pypi (and, >> > > > thus, >> > > > > ever a mainstream 'fabric3') >> > > > > - By the time we get there I'd mostly be concerned about user >> > > > > confusion (intending to get 'fabric==3.x' but installing >> > > > 'fabric3' >> > > > > instead) but that is likely a ways off! >> > > > > >> > > > > Best, >> > > > > Jeff >> > > > > >> > > > > On Tue, May 26, 2020 at 6:02 PM <z...@za3k.com >> > > > <mailto:z...@za3k.com> <mailto:z...@za3k.com >> > > > <mailto:z...@za3k.com>>> >> > > > > wrote: >> > > > > >> > > > > Hi / tag Matthias! I've been talking to the fabric mailing >> > > > list (cc'd) >> > > > > and the fabric developer bitprophet (cc'd). The subject is >> > > > adding >> > > > > python3 support to fabric 1.x (even though 2.x is the >> > > > latest) as >> > > > > part of >> > > > > making an official package. >> > > > > >> > > > > bitprophet, the current state is that this is forked off >> > > > 1.14.0, only >> > > > > one version behind the latest, and I see no feature >> > > > additions or >> > > > > changes. It's been marked DEPRECATED for a year because 2.x >> > > > added >> > > > > python3 support. >> > > > > >> > > > > mathiasertl, I'd like to merge your fabric3 work into >> > > > fabric. No >> > > > > issues, >> > > > > right? >> > > > > >> > > > > Also, bitprophet has mentioned that might be helpful there >> > > > wasn't a >> > > > > pre-existing 'fabric3' pip package out of his control, in >> > > > case of >> > > > > future >> > > > > difficulty/confusion with a fabric 3.0 release--I'll leave >> > > > ya'll to >> > > > > talk >> > > > > that out. >> > > > > >> > > > > >> > > > > >> > > > > -- >> > > > > Jeff Forcier >> > > > > Unix sysadmin; Python engineer >> > > > > http://bitprophet.org >> > > > >> > > > >> > > > >> > > > -- >> > > > Jeff Forcier >> > > > Unix sysadmin; Python engineer >> > > > http://bitprophet.org >> > >> > >> > >> > -- >> > Jeff Forcier >> > Unix sysadmin; Python engineer >> > https://bitprophet.org >> >> >> >> -- >> Jeff Forcier >> Unix sysadmin; Python engineer >> https://bitprophet.org >> -- Jeff Forcier Unix sysadmin; Python engineer https://bitprophet.org