Skip to main content

A tool for printing github repository information as a markdown table format.

Project description

girepo

pypi version CircleCI Status

This makes it easy to investigate repositories at Github and to describe the results as a markdown table format.

Installation

pip install girepo

Usage

usage: girepo [-h] {rough,ro,strict,st} ...

Print Git Repositories information with the markdown format for your
documents. This uses github api without authentication. So you could reach the
rate-limitation if you use this 60 requests per hour.
https://developer.github.com/v3/#rate-limiting Could you take a cup of coffee
☕ until recovering if you exceed.

optional arguments:
  -h, --help            show this help message and exit

subcommands:
  you can choose a search way from sub commands. rough sub command does not
  require owner info but it might return wrong info.

  {rough,ro,strict,st}
    rough (ro)          heuristic search. see `girepo ro --help`
    strict (st)         strict search. see `girepo st --help`

God bless you.

Example

Simple (ver. rough)

If you want to investigate repositories of frontend framework, you can run this script like below.

girepo rough angular react vue

Output:

| fullname | star | star/day | created_at | updated_at | license | language | description | url |
| :----: | :----: | :----: | :----: | :----: | :----: | :----: | :----: | :----: |
| angular/angular | 51,080 | 28.17 | 2014-09-18 | 2019-09-05 | MIT License | TypeScript | One framework. Mobile & desktop. | [link](https://github.com/angular/angular) |
| facebook/react | 135,563 | 59.07 | 2013-05-24 | 2019-09-05 | MIT License | JavaScript | A declarative, efficient, and flexible JavaScript library for building user interfaces. | [link](https://github.com/facebook/react) |
| vuejs/vue | 147,494 | 66.14 | 2013-07-29 | 2019-09-05 | MIT License | JavaScript | 🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web. | [link](https://github.com/vuejs/vue) |

Then you can get the table format of markdown.

fullname star star/day created_at updated_at license language description url
angular/angular 51,080 28.17 2014-09-18 2019-09-05 MIT License TypeScript One framework. Mobile & desktop. link
facebook/react 135,563 59.07 2013-05-24 2019-09-05 MIT License JavaScript A declarative, efficient, and flexible JavaScript library for building user interfaces. link
vuejs/vue 147,494 66.14 2013-07-29 2019-09-05 MIT License JavaScript 🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web. link

This results are heuristic so if you find wrong rows, I recommend to use strict sub-command with the fullname and the headless option.

Simple (ver. strict)

If you want to investigate repositories of frontend framework, you can run this script like below.

girepo strict angular/angular facebook/react vuejs/vue 

Output:

| fullname | star | star/day | created_at | updated_at | license | language | description | url |
| :----: | :----: | :----: | :----: | :----: | :----: | :----: | :----: | :----: |
| angular/angular | 51,080 | 28.17 | 2014-09-18 | 2019-09-05 | MIT License | TypeScript | One framework. Mobile & desktop. | [link](https://github.com/angular/angular) |
| facebook/react | 135,563 | 59.07 | 2013-05-24 | 2019-09-05 | MIT License | JavaScript | A declarative, efficient, and flexible JavaScript library for building user interfaces. | [link](https://github.com/facebook/react) |
| vuejs/vue | 147,494 | 66.14 | 2013-07-29 | 2019-09-05 | MIT License | JavaScript | 🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web. | [link](https://github.com/vuejs/vue) |

Then you can get the table format of markdown.

fullname star star/day created_at updated_at license language description url
angular/angular 51,080 28.17 2014-09-18 2019-09-05 MIT License TypeScript One framework. Mobile & desktop. link
facebook/react 135,563 59.07 2013-05-24 2019-09-05 MIT License JavaScript A declarative, efficient, and flexible JavaScript library for building user interfaces. link
vuejs/vue 147,494 66.14 2013-07-29 2019-09-05 MIT License JavaScript 🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web. link

Input From File

If you want to use a bulk input, please prepare a file whose content is like below. Do not contain a blank line.

angular/angular
facebook/react
vuetifyjs / vuetify
vuejs/vue

For example, if the file name is ./misc/input.txt, then

girepo strict @misc/input.txt

Output:

| fullname | star | star/day | created_at | updated_at | license | language | description | url |
| :----: | :----: | :----: | :----: | :----: | :----: | :----: | :----: | :----: |
| angular/angular | 51,080 | 28.17 | 2014-09-18 | 2019-09-05 | MIT License | TypeScript | One framework. Mobile & desktop. | [link](https://github.com/angular/angular) |
| facebook/react | 135,563 | 59.07 | 2013-05-24 | 2019-09-05 | MIT License | JavaScript | A declarative, efficient, and flexible JavaScript library for building user interfaces. | [link](https://github.com/facebook/react) |
| vuetifyjs/vuetify | 21,394 | 19.65 | 2016-09-12 | 2019-09-05 | MIT License | TypeScript | 🐉 Material Component Framework for Vue.js 2 | [link](https://github.com/vuetifyjs/vuetify) |
| vuejs/vue | 147,494 | 66.14 | 2013-07-29 | 2019-09-05 | MIT License | JavaScript | 🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web. | [link](https://github.com/vuejs/vue) |

Whitespace

when you copy a name of an owner and a repository on a topic page the below, you might get whitespaces between the owner and repository like vuetifyjs / vuetify. So this script enables to parse them.

topic_page

Please surround the owner/repository name with " if it contains whitespaces.

girepo strict " vuetifyjs / vuetify " "kriasoft / react-starter-kit " 

Output:

| fullname | star | star/day | created_at | updated_at | license | language | description | url |
| :----: | :----: | :----: | :----: | :----: | :----: | :----: | :----: | :----: |
| vuetifyjs/vuetify | 21,394 | 19.65 | 2016-09-12 | 2019-09-05 | MIT License | TypeScript | 🐉 Material Component Framework for Vue.js 2 | [link](https://github.com/vuetifyjs/vuetify) |
| kriasoft/react-starter-kit | 19,484 | 9.9 | 2014-04-16 | 2019-09-05 | MIT License | JavaScript | React Starter Kit — isomorphic web app boilerplate (Node.js, Express, GraphQL, React.js, Babel, PostCSS, Webpack, Browsersync) | [link](https://github.com/kriasoft/react-starter-kit) |

etc

girepo strict angular/angular facebook/react vuejs/vue  --asc star
girepo rough angular react vue  --headless

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

girepo-0.3.2.tar.gz (8.1 kB view hashes)

Uploaded Source

Built Distribution

girepo-0.3.2-py3-none-any.whl (12.2 kB view hashes)

Uploaded Python 3

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