{"id":17362833,"url":"https://github.com/grebtsew/github_backup_manager","last_synced_at":"2025-06-14T12:05:12.294Z","repository":{"id":129300748,"uuid":"151306378","full_name":"grebtsew/github_backup_manager","owner":"grebtsew","description":"Handle up-to-date backup of github repos on local drive.","archived":false,"fork":false,"pushed_at":"2018-10-02T20:49:18.000Z","size":71,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-27T17:33:27.954Z","etag":null,"topics":["backup","backup-github","backups","github-api","python3"],"latest_commit_sha":null,"homepage":null,"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/grebtsew.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2018-10-02T18:50:59.000Z","updated_at":"2021-11-15T11:27:00.000Z","dependencies_parsed_at":"2023-05-02T20:46:16.872Z","dependency_job_id":null,"html_url":"https://github.com/grebtsew/github_backup_manager","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/grebtsew/github_backup_manager","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grebtsew%2Fgithub_backup_manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grebtsew%2Fgithub_backup_manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grebtsew%2Fgithub_backup_manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grebtsew%2Fgithub_backup_manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/grebtsew","download_url":"https://codeload.github.com/grebtsew/github_backup_manager/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grebtsew%2Fgithub_backup_manager/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259812991,"owners_count":22915196,"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":["backup","backup-github","backups","github-api","python3"],"created_at":"2024-10-15T19:43:31.217Z","updated_at":"2025-06-14T12:05:12.274Z","avatar_url":"https://github.com/grebtsew.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# github_backup_manager\n\nAs the amount of developed projects on Github increase the struggle to keep up-to-date backups on local drives increase.\nI created this project to solve the issue.\n\n## How?\nThis program uses scraping and github api do the following actions:\n1. Get system data from destination folder and preform updates on repos (windows only)\n2. Scrape github for existing public repos of user\n3. Calculate approximated size of download by talking to github api (very few requests per day!)\n4. Show and download each repo that doesn't exist\n\n## Motivation\nI use this program to keep an up-to-date backup off my github repos on an external hdd.\n\n## Start\n1. Make sure to install python3, git and all required libraries.\n* os\n* platform\n* ntpath\n* subprocess\n* BeautifulSoup\n* requests\n* datetime\n2.  Edit destination_path and user_name at the top of main.py file.\n3. Run main.py\n```\npython main.py\n```\n\n## Screenshot\nDuring execution the program will ask a couple of questions on how to proceed. See screenshot below:\n\n![Screenshot](screenshot.PNG)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgrebtsew%2Fgithub_backup_manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgrebtsew%2Fgithub_backup_manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgrebtsew%2Fgithub_backup_manager/lists"}