{"id":15685914,"url":"https://github.com/pawamoy/moving-stars","last_synced_at":"2025-05-07T18:09:14.854Z","repository":{"id":86200110,"uuid":"136487029","full_name":"pawamoy/moving-stars","owner":"pawamoy","description":":star: Copy GitHub stars to GitLab :stars:","archived":false,"fork":false,"pushed_at":"2020-09-08T23:04:55.000Z","size":185,"stargazers_count":10,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-05-07T18:04:25.854Z","etag":null,"topics":["github","gitlab","mirror","movingtogitlab","star"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pawamoy.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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":["pawamoy"],"ko_fi":"pawamoy","liberapay":"pawamoy","patreon":"pawamoy","custom":["https://www.paypal.me/pawamoy"]}},"created_at":"2018-06-07T14:11:58.000Z","updated_at":"2024-05-08T08:50:17.000Z","dependencies_parsed_at":"2023-03-04T04:00:44.164Z","dependency_job_id":null,"html_url":"https://github.com/pawamoy/moving-stars","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pawamoy%2Fmoving-stars","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pawamoy%2Fmoving-stars/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pawamoy%2Fmoving-stars/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pawamoy%2Fmoving-stars/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pawamoy","download_url":"https://codeload.github.com/pawamoy/moving-stars/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252931532,"owners_count":21827111,"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":["github","gitlab","mirror","movingtogitlab","star"],"created_at":"2024-10-03T17:32:56.940Z","updated_at":"2025-05-07T18:09:14.536Z","avatar_url":"https://github.com/pawamoy.png","language":"Python","funding_links":["https://github.com/sponsors/pawamoy","https://ko-fi.com/pawamoy","https://liberapay.com/pawamoy","https://patreon.com/pawamoy","https://www.paypal.me/pawamoy"],"categories":[],"sub_categories":[],"readme":"# Moving Stars\n\n[![ci](https://github.com/pawamoy/moving-stars/workflows/ci/badge.svg)](https://github.com/pawamoy/moving-stars/actions?query=workflow%3Aci)\n[![documentation](https://img.shields.io/badge/docs-mkdocs%20material-blue.svg?style=flat)](https://pawamoy.github.io/moving-stars/)\n[![pypi version](https://img.shields.io/pypi/v/moving-stars.svg)](https://pypi.org/project/moving-stars/)\n\n:star: Star on GitLab.com the same repos your starred on GitHub.com! :stars:\n\n![screenshot](screenshot.png)\n\nNamespace and project name must be the same on GitHub and GitLab.\nCase is insensitive though :+1:!\n\n## Requirements\n\nMoving Stars requires Python 3.6 or above.\n\n\u003cdetails\u003e\n\u003csummary\u003eTo install Python 3.6, I recommend using \u003ca href=\"https://github.com/pyenv/pyenv\"\u003e\u003ccode\u003epyenv\u003c/code\u003e\u003c/a\u003e.\u003c/summary\u003e\n\n```bash\n# install pyenv\ngit clone https://github.com/pyenv/pyenv ~/.pyenv\n\n# setup pyenv (you should also put these three lines in .bashrc or similar)\nexport PATH=\"${HOME}/.pyenv/bin:${PATH}\"\nexport PYENV_ROOT=\"${HOME}/.pyenv\"\neval \"$(pyenv init -)\"\n\n# install Python 3.6\npyenv install 3.6.12\n\n# make it available globally\npyenv global system 3.6.12\n```\n\u003c/details\u003e\n\n## Installation\n\nWith `pip`:\n```bash\npython3.6 -m pip install moving-stars\n```\n\nWith [`pipx`](https://github.com/pipxproject/pipx):\n```bash\npython3.6 -m pip install --user pipx\n\npipx install --python python3.6 moving-stars\n```\n\n## Usage\n\n### Bash\n```bash\nexport GITHUB_TOKEN=\u003cgithub_token\u003e\nexport GITLAB_TOKEN=\u003cgitlab_token\u003e\n\nmoving-stars\n```\n\n### Docker\n\n```bash\ndocker run -e GITHUB_TOKEN=\u003cgithub_token\u003e -e GITLAB_TOKEN=\u003cgitlab_token\u003e --rm pawamoy/moving-stars\n```\n\n### Tokens\n\n- [Create a new GitHub token](https://github.com/settings/tokens/new) with `read:user` scope.\n- [Create a new GitLab token](https://gitlab.com/profile/personal_access_tokens) with `api` scope.\n\n### Input file\n\nA file containing the list of starred repositories that you want to copy on GitLab.\nThe format of the input file is very simple.\n\n```\nnamespace/repository\nnamespace2/repository2\n...\n```\n\nExample:\n```\nmicrosoft/ghcrawler-cli\ngithub/VisualStudio\nPawamoy/moving-stars\nthis-repo/does-not-exist\ncryptsetup/cryptsetup\n```\n\n### Other options\n\n```console\n$ moving-stars -h\nusage: moving-stars [-h] [-f FROM_FILE] [--no-pre-skip]\n\nCommand line tool to copy GitHub stars to GitLab.\n\noptional arguments:\n  -h, --help            show this help message and exit\n  -f FROM_FILE, --from-file FROM_FILE\n                        Read star list from file.\n  -o OUTPUT_SOURCE_LIST, --output-source-list OUTPUT_SOURCE_LIST\n                        Output downloaded source list to file.\n  --no-pre-skip         Don't download list from target to skip already\n                        starred projects.\n```\n\nIt can be useful to first download your starred list, update it manually\n(to correct unmatching namespaces / project names),\nand then star on GitLab with this list:\n\n```bash\nmoving-stars -o star_list\n# edit file manually...\nmoving-stars -f star_list\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpawamoy%2Fmoving-stars","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpawamoy%2Fmoving-stars","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpawamoy%2Fmoving-stars/lists"}