{"id":20229235,"url":"https://github.com/rahulunair/repo-peek","last_synced_at":"2025-04-10T17:50:41.696Z","repository":{"id":87095201,"uuid":"338262338","full_name":"rahulunair/repo-peek","owner":"rahulunair","description":"open a remote repo locally quickly","archived":false,"fork":false,"pushed_at":"2022-12-16T21:05:45.000Z","size":138,"stargazers_count":46,"open_issues_count":0,"forks_count":1,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-11-07T12:53:01.498Z","etag":null,"topics":["aiohttp","git","github","github-peek","github1s","gitlab","peek"],"latest_commit_sha":null,"homepage":"","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/rahulunair.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}},"created_at":"2021-02-12T08:31:44.000Z","updated_at":"2024-05-19T18:41:59.000Z","dependencies_parsed_at":null,"dependency_job_id":"5bb131b7-5e77-4e71-96b0-d4f0b38aedf1","html_url":"https://github.com/rahulunair/repo-peek","commit_stats":null,"previous_names":["rahulunair/github-peek"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rahulunair%2Frepo-peek","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rahulunair%2Frepo-peek/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rahulunair%2Frepo-peek/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rahulunair%2Frepo-peek/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rahulunair","download_url":"https://codeload.github.com/rahulunair/repo-peek/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224586263,"owners_count":17335947,"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":["aiohttp","git","github","github-peek","github1s","gitlab","peek"],"created_at":"2024-11-14T07:34:57.095Z","updated_at":"2024-11-14T07:34:57.643Z","avatar_url":"https://github.com/rahulunair.png","language":"Python","funding_links":[],"categories":["Tools"],"sub_categories":["Python"],"readme":"## repo-peek\n\nA command line tool to peek a remote repo hosted on github or gitlab locally and view it in your favorite editor. The tool handles cleanup of the repo once you exit your editor. \n\n![Python Version](https://img.shields.io/badge/python-3.7+-blue?style=flat-square\u0026logo=python)\n[![CodeFactor](https://www.codefactor.io/repository/github/rahulunair/repo-peek/badge)](https://www.codefactor.io/repository/github/rahulunair/repo-peek)\n[![License](https://img.shields.io/github/license/rahulunair/repo-peek?style=flat-square)](https://github.com/rahulunair/repo-peek/blob/master/LICENSE)\n[![Reddit](https://img.shields.io/badge/Reddit-unrahul-FF4500?style=flat-square\u0026logo=reddit)](https://www.reddit.com/user/unrahul)\n[![Twitter](https://img.shields.io/badge/Twitter-unrahu1-38A1F3?style=flat-square\u0026logo=twitter)](https://twitter.com/intent/follow?screen_name=unrahu1)\n\n[![asciicast](https://asciinema.org/a/uLoPyrNwus5yY2SgyRuJ2qCyq.svg)](https://asciinema.org/a/uLoPyrNwus5yY2SgyRuJ2qCyq)\n\nDefault editor is chosen by looking at the `EDITOR` environment variable, if it is not set, vim is chosen as the default editor.\n\n### install repo-peek\n\n```bash\npip install repo-peek\n```\n\n### usage:\n\nask repo-peek (`repk`) to checkout a github or gitlab repo using the subcommands `gh` or `gl`.\n\ncommand usage:\n\n```bash\nUsage: repk COMMAND \u003crepo\u003e...\n\nCommands:\n  gh    open a github repo.\n  gl    open a gitlab repo.\n  info  information about the tool.\n\n```\n\nexample:\n\n```bash\nrepk gh rahulunair/repo-peek\n```\n### configuration:\n\nThe tool sets writes default config to `~/.repk.ini`, the initial settings are:\n\n```ini\n[DEFAULT]\neditor = \"vim\"\ncache_repos = 1\ncache_delta = 3\ncache_loc = \"\"\ngithub_token = \"\"\ngitlab_token = \"\"\n\n[proxy_settings]\nhttps_proxy = \"\"\nhttp_proxy = \"\"\n\n[rahulunair/syntribos]\nremove_by = 20210213-185716\n```\n\ndescription of keys:\n\ndefault settings:\n\neditor - editor of choice (default=vim)\ncache_repos - should repos be cached (default=1, set 0 if caching is not required)\ncache_delta - mintues for which repos should be cached\ncache_loc - directory where cached repos should be stored (default=~/.repk)\ngithub_token - for handling throlling limits (not implemented)\ngitlab_token - for handling throlling limits (not implemented)\n\nproxy_settings - if you are inside a proxy set these\n\nThe configs after these have the format:\n[repo_name]\nremove_by - time till the cache would be kept\n\n### more information\n\nThe tool creates 2 files and a directory, a config file `~/.repk.ini`, a log file `~/.repk.log` and a directory `~/.repk`. repo-peek downloads the tar:gz of the repo, extracts it and saves it to `~/.repk`. There is a naive caching mechanism, where the tool deletes each repo if it is older than 3 minutes. \n\nI got influenced to build this tool after i saw: [git peek](https://github.com/Jarred-Sumner/git-peek)\n\nBuilt with :\n- [aiohttp](https://github.com/aio-libs/aiohttp)\n- [typer](https://github.com/tiangolo/typer)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frahulunair%2Frepo-peek","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frahulunair%2Frepo-peek","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frahulunair%2Frepo-peek/lists"}