Skip to main content

Aggregation of github activities on multiple repositories based on github2pandas

Project description

github2pandas_manager Introduction

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 files.

Take a view to the documentation of github2pandas for being familiar with the individual aggregation classes.

Installation

Still it does not exist a pip based version of github2pandas_manager. Hence, it is necessary to clone and to install the dependencies manually.

git clone https://github.com/TUBAF-IFI-DiPiT/github2pandas_manager.git
cd github2pandas 
pipenv install

In addition a GitHub token is required for authentication. The website 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.

Run examples

The example folder contains four types of query configurations for different purposes:

Fokus Keywords Example
Repo names List all relevant repositories by username and repository name - repo_names ProjectsByRepoNames.yml
Repo name patterns Describe relevant repositories by white- and black-patterns - repo_white_pattern, repo_black_pattern ProjectsByRepoNamePatterns.yml
Repos by organizations Select all repositories of an organization account - organization_names ProjectsByOrganizations.yml
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

In order to start the examples just run:

pipenv run python src/start_aggregation.py -path ./examples/ProjectsByQuery.yml

YAML-Configuration schema

In addition to the specific configuration parameters mentioned above, each request includes three further definitions - project_name, project_folder and content.

While the first two are used to structure the folders to hold the data, the last parameter describes the repository data to be aggregated:

  • Repository
  • Issues
  • Version
  • PullRequests
  • Workflows
  • GitReleases

An overview of the information contained in each data frame can be found in the wiki of the gitlab2pandas project.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

github2pandas_manager-0.0.2.tar.gz (13.1 kB view details)

Uploaded Source

Built Distribution

github2pandas_manager-0.0.2-py3-none-any.whl (14.2 kB view details)

Uploaded Python 3

File details

Details for the file github2pandas_manager-0.0.2.tar.gz.

File metadata

  • Download URL: github2pandas_manager-0.0.2.tar.gz
  • Upload date:
  • Size: 13.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.5.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.10

File hashes

Hashes for github2pandas_manager-0.0.2.tar.gz
Algorithm Hash digest
SHA256 4c97bc1d183056f5ae2ffe5309c2f7527f716f86f162cc692785f8150a87696f
MD5 8758449cfa93008646dbda3004f3c058
BLAKE2b-256 4248aadc1720644c4609a725da7e9b65075d3a1ff314cb7134c6cef7eac171d6

See more details on using hashes here.

File details

Details for the file github2pandas_manager-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: github2pandas_manager-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 14.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.5.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.10

File hashes

Hashes for github2pandas_manager-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 84401daa782751d2f7e1edf933ea96e643ca3db9f7a28ab4fc74eafd64e0e7f3
MD5 4fab21412f6a8cbff7ac92f61fd98126
BLAKE2b-256 2033e8c5beb87038a2ae43c5875c9434654255ca2134f66fe082ee7b91135279

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page