{"id":24213,"library":"patchwork","title":"Patchwork","description":"Patchwork is a deployment and system administration library, powered by Fabric. It provides a set of functions for common operations like file transfer, directory management, and package management. Current version 1.0.1, released last in 2014; library is in maintenance mode (no updates since).","status":"maintenance","version":"1.0.1","language":"python","source_language":"en","source_url":"https://github.com/fabric/patchwork","tags":["deployment","sysadmin","fabric","ssh","file-transfer"],"install":[{"cmd":"pip install patchwork","lang":"bash","label":"Install via pip"}],"dependencies":[{"reason":"Core dependency; patchwork uses Fabric's Connection for remote execution","package":"fabric","optional":false}],"imports":[{"wrong":"from patchwork.transfers import rsync, download, upload","symbol":"rsync","correct":"from patchwork.transfers import rsync"},{"symbol":"download","correct":"from patchwork.transfers import download"},{"symbol":"upload","correct":"from patchwork.transfers import upload"}],"quickstart":{"code":"from fabric import Connection\nfrom patchwork.transfers import rsync\n\nc = Connection('user@host')\nrsync(c, '/local/path/', '/remote/path/')","lang":"python","description":"Example using Fabric Connection and patchwork's rsync function."},"warnings":[{"fix":"Use from fabric import Connection then Connection('host'). Refer to patchwork docs.","message":"patchwork functions expect a `fabric.connection.Connection` object, not an old-style `env.host_string`. Using the deprecated API will fail.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Pin fabric<3 in your requirements.","message":"patchwork has not been updated since 2014 and does not support Fabric 3 (which is incompatible). It works with Fabric 2.x only.","severity":"deprecated","affected_versions":"all"},{"fix":"Use `fabric.runners.Sudo` or set `c.sudo()` before calling patchwork functions.","message":"The `patchwork.files` functions like `exists` and `is_link` often require sudo on remote hosts; failing to wrap in sudo will give Permission denied.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"search_vec":"'1.0.1':32 '2014':36 'administr':8 'common':20 'current':30 'deploy':5,45 'directori':25 'fabric':12,47 'file':23,50 'file-transf':49 'function':18 'last':34 'librari':9,37 'like':22 'mainten':40 'manag':26,29 'mode':41 'oper':21 'packag':28 'patchwork':1,2 'power':10 'provid':14 'releas':33 'set':16 'sinc':44 'ssh':48 'sysadmin':46 'system':7 'transfer':24,51 'updat':43 'version':31","created_at":"2026-05-01T08:11:52.668848+00:00","updated_at":"2026-05-01T08:11:52.668848+00:00","problems":{"verify_error":"Traceback (most recent call last):\n  File \"/tmp/tmpht20ateq/venv/lib/python3.12/site-packages/invoke/util.py\", line 24, in <module>\n    from .vendor.six.moves import reduce  # noqa\n    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nModuleNotFoundError: No module named 'invoke.vendor.six.moves'\n\nDuring handlin"},"ecosystem":"pypi","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":"1.0.1","cli_name":"","cli_version":null,"type":"library","homepage":"https://fabric-patchwork.readthedocs.io","github":null,"docs":null,"changelog":null,"pypi":"https://pypi.org/project/patchwork/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["devops"],"base_url":null,"auth_type":null,"provenance":{"verified_status":"import_fail","verified_at":"2026-07-03","last_verified":"2026-07-03","next_check":"2026-07-10","install_tag":null}}