{"id":21185,"library":"dvc-ssh","title":"dvc-ssh","description":"SSH plugin for DVC (Data Version Control) that enables remote storage on SSH servers. Current version 4.2.2, requires Python >=3.9. Active development with regular releases.","status":"active","version":"4.2.2","language":"python","source_language":"en","source_url":"https://github.com/iterative/dvc-ssh","tags":["dvc","ssh","remote-storage","data-version-control"],"install":[{"cmd":"pip install dvc-ssh","lang":"bash","label":"pip install"},{"cmd":"pip install dvc[ssh]","lang":"bash","label":"DVC with SSH support"}],"dependencies":[{"reason":"Core DVC functionality required","package":"dvc","optional":false},{"reason":"SSH connection handling (>=2.19.0)","package":"asyncssh","optional":false}],"imports":[{"wrong":"from dvc import DVC","symbol":"SSHFileSystem","correct":"from dvc_ssh import SSHFileSystem"}],"quickstart":{"code":"import os\nfrom dvc import DVC\nfrom dvc.repo import Repo\n\n# Initialize DVC repository (in existing git repo)\nrepo = Repo.init()\n\n# Add remote SSH storage\nssh_url = f\"ssh://{os.environ.get('SSH_USER', 'user')}@{os.environ.get('SSH_HOST', 'example.com')}:{os.environ.get('SSH_PORT', '22')}{os.environ.get('SSH_PATH', '/path/to/storage')}\"\nrepo.add_remote(name='myremote', url=ssh_url, default=False)\n\n# Print configured remotes\nprint(repo.config['remote'])","lang":"python","description":"Initialize DVC repo with SSH remote. Run inside a git repository."},"warnings":[{"fix":"Replace any imports from dvc_objects.callbacks with from fsspec.callbacks and update callback usage accordingly.","message":"Version 4.0.0 replaced dvc_objects.callbacks with fsspec.callbacks. Custom callback implementations must be updated.","severity":"breaking","affected_versions":">=4.0.0"},{"fix":"Upgrade DVC to version 3.x or later.","message":"Version 3.0.0 drops support for DVC 2.x. Ensure DVC version is >=3.0.0.","severity":"deprecated","affected_versions":">=3.0.0"},{"fix":"Set up passwordless SSH keys or configure asyncssh options via dvc config or environment variables.","message":"SSH configuration (host key verification, auth methods) is handled by asyncssh. Default behavior may prompt for passwords interactively.","severity":"gotcha","affected_versions":"all"},{"fix":"If atomic writes cause issues, you can set DVC_NO_ATOMIC_WRITE=1 environment variable or adjust remote permissions.","message":"File transfer uses atomic write by default since v4.2.2, which may fail on some filesystems with limited permissions.","severity":"gotcha","affected_versions":">=4.2.2"}],"env_vars":null,"search_vec":"'3.9':23 '4.2.2':20 'activ':24 'control':10,37 'current':18 'data':8,35 'data-version-control':34 'develop':25 'dvc':2,7,29 'dvc-ssh':1 'enabl':12 'plugin':5 'python':22 'regular':27 'releas':28 'remot':13,32 'remote-storag':31 'requir':21 'server':17 'ssh':3,4,16,30 'storag':14,33 'version':9,19,36","created_at":"2026-04-27T16:58:32.294027+00:00","updated_at":"2026-04-27T16:58:32.294027+00:00","problems":null,"ecosystem":"pypi","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":"4.3.0","cli_name":"","cli_version":null,"type":"library","homepage":null,"github":"https://github.com/iterative/dvc-ssh","docs":"https://dvc.org/doc","changelog":null,"pypi":"https://pypi.org/project/dvc-ssh/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["data","devops"],"base_url":null,"auth_type":null,"provenance":{"verified_status":"passing","verified_at":"2026-06-30","last_verified":"2026-06-30","next_check":"2026-07-30","install_tag":null}}