{"id":19905224,"url":"https://github.com/tubaf-ifi-dipit/github2pandas_manager","last_synced_at":"2025-05-03T01:33:48.338Z","repository":{"id":39743361,"uuid":"398824288","full_name":"TUBAF-IFI-DiPiT/github2pandas_manager","owner":"TUBAF-IFI-DiPiT","description":"Aggregation of github activities on multiple repositories based on github2pandas","archived":false,"fork":false,"pushed_at":"2022-06-13T07:15:59.000Z","size":196,"stargazers_count":1,"open_issues_count":3,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-10-28T23:06:55.336Z","etag":null,"topics":["git-miner","git-mining-tool","github","learning-analytics","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TUBAF-IFI-DiPiT.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}},"created_at":"2021-08-22T14:47:37.000Z","updated_at":"2023-09-08T18:25:41.000Z","dependencies_parsed_at":"2022-07-31T23:37:58.075Z","dependency_job_id":null,"html_url":"https://github.com/TUBAF-IFI-DiPiT/github2pandas_manager","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TUBAF-IFI-DiPiT%2Fgithub2pandas_manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TUBAF-IFI-DiPiT%2Fgithub2pandas_manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TUBAF-IFI-DiPiT%2Fgithub2pandas_manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TUBAF-IFI-DiPiT%2Fgithub2pandas_manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TUBAF-IFI-DiPiT","download_url":"https://codeload.github.com/TUBAF-IFI-DiPiT/github2pandas_manager/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224346517,"owners_count":17296229,"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":["git-miner","git-mining-tool","github","learning-analytics","python"],"created_at":"2024-11-12T20:32:15.065Z","updated_at":"2024-11-12T20:32:42.368Z","avatar_url":"https://github.com/TUBAF-IFI-DiPiT.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# github2pandas_manager Introduction\n\n`github2pandas_manager` coordinates data aggregation activities for multiple GitHub-repositories. The user selects a list of repositories by names, name pattern, organizations or individual queries and provides a collection of versions, releases, pull-requests etc. For this purpose `github2pandas_manager` reads a configuration file (yml), collects the referenced repositories and provides the demanded information as Python pandas or csv files. \n\nTake a view to the documentation of [github2pandas](https://github.com/TUBAF-IFI-DiPiT/github2pandas) for being familiar with the individual aggregation classes.\n\n## Application example\n\nhttps://user-images.githubusercontent.com/10922356/144754607-fcf170eb-a632-4dbe-875c-fb73e0689928.mp4\n\n## Concept\n\n![Workflow](http://www.plantuml.com/plantuml/svg/fLDDYnD14BtthoZmeg1py9P0P4LPzR0NGJmkbUbAfxG_nghg3OlutqqFSKRSsMYmOPXYfjvxLU_HLseeLbDqs5iH-AGaRa0nxdd0R13OzdNxybXxrDk46SEv3kVHS8jAfy_mPBMwlbwjdDjiu2CDHTcAtCFh48G26fSCcurpJHTUl5gMMuFCo07DIBB2q-uUKtpc5Y1dkG9b4ZG2eM-LrFv6i0OJp9hO_a2SqS2i1vAf_pz6dFQEh3Qw-1OD7_WNInd6xjk-r6nWd4WT7C_uv_kRaXARFeSFgfMExyz5lkvYEHpBhkj-E3YTN9eiXxr1sJqstqt9RIZE0OGIScxLExRtTVjhPuZS1Bk9-DyyM4zupfxls5UCuD5mcMV6pq31mnBYWTGPnkMjrOhGI0sSOP3oXNg3NOcUP2IZx5rxBesx3XwD07_BTC_QKfy3lo49rAA-c3sDoDdEoI3OSIHzdA_ToSbMyjFcg73ogWZqUdVYkQBiQue_0G00)\n\n## Installation\n\n`github2pandas-manager` is available on [pypi](https://pypi.org/project/github2pandas-manager/). Use pip to install the package.\n\n### global\n\nOn Linux:\n\n```\nsudo pip3 install github2pandas-manager \nsudo pip install github2pandas-manager\n```\n\nOn Windows as admin or for one user:\n\n```\npip install github2pandas-manager\npip install --user github2pandas-manager\n```\n\n### in virtual environment:\n\n```\npipenv install github2pandas-manager\n```\n\nIn addition a GitHub token is required for authentication. The [website](https://docs.github.com/en/github/authenticating-to-github/creating-a-personal-access-token) describes how you can generate this for your GitHub account. Add your toke to an hidden `.env` file, an example is given in `.env.example`. \n\n## Run examples\n\nThe [example](https://github.com/TUBAF-IFI-DiPiT/github2pandas_manager/tree/main/examples) folder contains four types of query configurations for different purposes:\n\n| Fokus | Keywords | Example |\n| -------| -----------| ----- |\n| Repo names | List all relevant repositories by username and repository name - `repo_names` |  [ProjectsByRepoNames.yml](https://github.com/TUBAF-IFI-DiPiT/github2pandas_manager/blob/main/examples/ProjectsByRepoNames.yml)    |\n| Repo name patterns       | Describe relevant repositories by white- and black-patterns - `repo_white_pattern`, `repo_black_pattern` | [ProjectsByRepoNamePatterns.yml](https://github.com/TUBAF-IFI-DiPiT/github2pandas_manager/blob/main/examples/ProjectsByRepoNamePatterns.yml)|\n| Repos by organizations | Select all repositories of an organization account - `organization_names` | [ProjectsByOrganizations.yml](https://github.com/TUBAF-IFI-DiPiT/github2pandas_manager/blob/main/examples/ProjectsByOrganizations.yml) |\n| Repos by a set of query parameter | Select all repositories according to programming languages, stars etc. - `language`,  `start_date`, `end_date`, `star_filter` | [ProjectsByQuery.yml](https://github.com/TUBAF-IFI-DiPiT/github2pandas_manager/blob/main/examples/ProjectsByQuery.yml) |\n\nIn order to start the examples just run:\n\n```\npipenv run python -m github2pandas_manager -path ./examples/ProjectsByQuery.yml\n```\n\n## YAML-Configuration schema\n\nIn addition to the specific configuration parameters mentioned above, each request includes three further definitions - `project_name`, `project_folder` and `content`.\n\nWhile the first two are used to structure the folders to hold the data, the last parameter describes the repository data to be aggregated:\n\n+ `Repository`\n+ `Issues`\n+ `Version`\n+ `PullRequests`\n+ `Workflows`\n+ `GitReleases`\n\nAn overview of the information contained in each data frame can be found in the [wiki of the gitlab2pandas](https://github.com/TUBAF-IFI-DiPiT/github2pandas/wiki) project.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftubaf-ifi-dipit%2Fgithub2pandas_manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftubaf-ifi-dipit%2Fgithub2pandas_manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftubaf-ifi-dipit%2Fgithub2pandas_manager/lists"}