{"id":26976,"library":"fab-classic","title":"Fabric Classic","description":"fab-classic is a maintained fork of the original Fabric 1.x line, providing a simple, Pythonic tool for remote execution and deployment via SSH. The current version is 1.21.0, with quarterly releases and support for Python 3.5+.","status":"active","version":"1.21.0","language":"python","source_language":"en","source_url":"https://github.com/ploxiln/fab-classic","tags":["remote-execution","deployment","ssh","fabric"],"install":[{"cmd":"pip install fab-classic","lang":"bash","label":"Install from PyPI"}],"dependencies":[{"reason":"Core SSH transport (upstream, not paramiko-ng)","package":"paramiko","optional":false}],"imports":[{"note":"Fabric 2/3 uses 'from fabric import Connection'; classic uses fabric.api.","wrong":"from fabric import run","symbol":"run","correct":"from fabric.api import run"}],"quickstart":{"code":"from fabric.api import run, env, cd\nenv.host_string = 'example.com'\nenv.user = 'user'\nwith cd('/var/www'):\n    run('ls -la')\nrun('uname -a')","lang":"python","description":"Minimal remote command execution using fabric.api."},"warnings":[{"fix":"Upgrade to Python 3.5+ or pin fab-classic<1.20.0.","message":"Python 2.7 support dropped in 1.20.0","severity":"breaking","affected_versions":"<1.20.0"},{"fix":"Set multiprocessing context to 'fork': import multiprocessing as mp; mp.set_start_method('fork') before using --parallel.","message":"Parallel mode may hang on macOS Python 3.8+ without explicit fork context. Use env.parallel = True with caution.","severity":"gotcha","affected_versions":"1.20.0+"},{"fix":"Ensure paramiko (not paramiko-ng) is installed.","message":"paramiko-ng is no longer supported by default; use upstream paramiko.","severity":"deprecated","affected_versions":">=1.21.0"},{"fix":"Check return code explicitly if using capture=False.","message":"local() capture behavior changed in 1.19.0; failing commands with capture=False no longer raise SystemExit.","severity":"gotcha","affected_versions":">=1.19.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Uninstall fabric/fabric3 and install fab-classic: pip uninstall fabric; pip install fab-classic.","cause":"Installed Fabric 2+ (fabric3) instead of fab-classic.","error":"ImportError: No module named fabric.api"},{"fix":"Increase timeout or retry: env.timeout = 30; env.connection_attempts = 3.","cause":"Network issue or server drops connection early.","error":"paramiko.ssh_exception.SSHException: Error reading protocol banner"},{"fix":"Upgrade to fab-classic>=1.20.2.","cause":"Incompatible with Python 3.14 (struct buffer size change).","error":"TypeError: _pty_size() got an unexpected keyword argument 'height'","affected_versions":"<1.20.2"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}