{"id":15442800,"url":"https://github.com/mar10/pyftpsync","last_synced_at":"2025-04-05T23:11:19.279Z","repository":{"id":7471590,"uuid":"8819472","full_name":"mar10/pyftpsync","owner":"mar10","description":"Synchronize directories using FTP(S), SFTP, or file system access.","archived":false,"fork":false,"pushed_at":"2024-09-12T15:28:26.000Z","size":4556,"stargazers_count":117,"open_issues_count":3,"forks_count":25,"subscribers_count":10,"default_branch":"master","last_synced_at":"2024-10-29T22:32:31.718Z","etag":null,"topics":["filesystem","ftp","python","synchronization"],"latest_commit_sha":null,"homepage":"https://pyftpsync.readthedocs.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mar10.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":"mar10w","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":["https://www.paypal.com/donate/?hosted_button_id=RA6G29AZRUD44"]}},"created_at":"2013-03-16T13:54:06.000Z","updated_at":"2024-09-27T13:31:54.000Z","dependencies_parsed_at":"2023-12-21T08:27:04.002Z","dependency_job_id":"301c7226-21bb-462d-aea3-f7f20324f9c9","html_url":"https://github.com/mar10/pyftpsync","commit_stats":{"total_commits":402,"total_committers":14,"mean_commits":"28.714285714285715","dds":0.2960199004975125,"last_synced_commit":"4f06f539eab81d9307e95f3f0fb9084b095ffec7"},"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mar10%2Fpyftpsync","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mar10%2Fpyftpsync/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mar10%2Fpyftpsync/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mar10%2Fpyftpsync/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mar10","download_url":"https://codeload.github.com/mar10/pyftpsync/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247411235,"owners_count":20934653,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["filesystem","ftp","python","synchronization"],"created_at":"2024-10-01T19:30:18.480Z","updated_at":"2025-04-05T23:11:19.261Z","avatar_url":"https://github.com/mar10.png","language":"Python","funding_links":["https://ko-fi.com/mar10w","https://www.paypal.com/donate/?hosted_button_id=RA6G29AZRUD44"],"categories":[],"sub_categories":[],"readme":"# ![logo](https://raw.githubusercontent.com/mar10/pyftpsync/master/docs/logo_48x48.png) pyftpsync\n\n[![Tests](https://github.com/mar10/pyftpsync/actions/workflows/python-app.yml/badge.svg)](https://github.com/mar10/pyftpsync/actions/workflows/python-app.yml)\n[![Latest Version](https://img.shields.io/pypi/v/pyftpsync.svg)](https://pypi.python.org/pypi/pyftpsync/)\n[![License](https://img.shields.io/pypi/l/pyftpsync.svg)](https://github.com/mar10/pyftpsync/blob/master/LICENSE.txt)\n[![Documentation Status](https://readthedocs.org/projects/pyftpsync/badge/?version=latest)](https://pyftpsync.readthedocs.io/)\n[![codecov](https://codecov.io/github/mar10/pyftpsync/graph/badge.svg?token=0JM9CN8RYW)](https://codecov.io/github/mar10/pyftpsync)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)\n[![Released with: Yabs](https://img.shields.io/badge/released%20with-yabs-yellowgreen)](https://github.com/mar10/yabs)\n[![StackOverflow: pyftpsync](https://img.shields.io/badge/StackOverflow-pyftpsync-blue.svg)](https://stackoverflow.com/questions/tagged/pyftpsync)\n\n\u003e Synchronize directories using FTP(S), SFTP, or file system access.\n\n[ ![sample](teaser.png?raw=true) ](https://github.com/mar10/pyftpsync \"Live demo\")\n\n## Summary\n\nSynchronize directories using FTP(S), SFTP, or file system access.\n\n-   This is a command line tool...\n-   ... and a library for use in your Python projects.\n-   Upload, download, and bi-directional synch mode.\n-   Allows FTP-to-FTP and Filesystem-to-Filesystem synchronization as well.\n-   Architecture is open to add other target types.\n\n**Note:** Version 4.0 drops support for Python 2.\n\n## Quickstart\n\n[Python](https://www.python.org/download/Python) 3.8+ is required,\n[pip](http://www.pip-installer.org/) recommended:\n\n```bash\n$ pip install pyftpsync --upgrade\n$ pyftpsync --help\n```\n\n**Note:** \u003cbr\u003e\nMS Windows users that only need the command line interface may prefer the\n[MSI Installer](https://github.com/mar10/pyftpsync/releases/latest) or install\nusing the Windows Package Manager:\n\n```ps1\n\u003e winget install pyftpsync\n```\n\nSee [Command Line Interface](https://pyftpsync.readthedocs.io/en/latest/ug_cli.html)\nfor details.\n\nIn addition to the direct invocation of `upload`, `download`, or `sync`\ncommands, version 3.x allows to define a `pyftpsync_yaml` file\nin your project's root folder which then can be executed like so::\n\n    $ pyftpsync run\n\nSee [Run from pyftpsync.yaml](https://pyftpsync.readthedocs.io/en/latest/ug_run.html)\nfor details.\n\n## Documentation\n\n[Read the Docs](https://pyftpsync.readthedocs.io/) for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmar10%2Fpyftpsync","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmar10%2Fpyftpsync","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmar10%2Fpyftpsync/lists"}