Skip to main content

Command line utility for GitHub daily work.

Project description

yogit

Build Status Build Status License PyPI version Downloads

Command line utility for git daily work.

Requirements

  • Python3 and pip3
  • yogit is tested with Python 3.5, 3.6, 3.7
  • yogit is mostly tested on Linux but also works on macOS and Windows (if using Windows Terminal).
  • For now only GitHub API is supported

Continuous integration

Installation

  • pip3 install yogit
  • yogit account setup

yogit internal files are stored in ~/.yogit folder.

Auto completion

yogit supports auto-completion. To activate it, you need to setup your shell.

  • For Bash, edit your .bashrc and add eval "$(_YOGIT_COMPLETE=source yogit)"
  • For Zsh, edit your .zshrc and add eval "$(_YOGIT_COMPLETE=source_zsh yogit)"

Principle

yogit is able to:

  • Show pull requests
  • Show pull request reviews
  • Show branches
  • Show contributions
  • Show organization's information
  • Help in writing a daily scrum report and post it on Slack

See documentation below for more details.

Documentation

Usage

yogit --help

Account

yogit account setup: Setup yogit (include GitHub integration and optionnaly Slack integration to fully enjoy yogit scrum report command)

yogit account usage: Account API usage

Pull request

yogit pr list [--orga TEXT] [--label TEXT]: List your opened pull requests. If --orga is set, results will be expanded to this specific organization. If --label is set, results will be filtered by pull request labels, you can set multiple --label.

Review

yogit review list: List your reviews on opened pull requests

yogit review requested [--missed]: List pull requests where your review is requested. If --missed is set, only closed pull requests will be listed.

Branch

yogit branch list [--dangling]: List your branches. If --dangling is set, only branches without associated pull request will be listed.

Contributions

yogit contrib list [--from TEXT] [--to TEXT]: List your GitHub contributions within a range of dates.

A contribution is either a pull request or pull request review.

By default this command is listing today's contributions.

yogit contrib stats: Show some GitHub statistics.

Organization

yogit orga list: List organizations you belong to.

yogit orga member list [--orga TEXT]: List members of one organization you belong to.

yogit orga member pickone [--orga TEXT]: Randomly pick one member of one organization you belong to.

SCRUM

yogit scrum report [--date TEXT]: Generate your daily activity report

If Slack integration is setup, report can be published on Slack. Note that report is composed of one or more sections, first section will published as a message, next section will be published as a reply of the first one.

Template of the report can be changed by editing ~/.yogit/scrum_report.yaml

You might need to install xcopy to fully enjoy this command.

Changelog

1.13.0

  • Improve yogit scrum report: list contributions before completing the report
  • Slack post now handles correctly #channel mentions (member mentions is not working yet)

1.12.3

  • Fix config file loading: do not raise an error when file does not exist

1.12.2

  • Fix scrum report template migration of yogit 1.12.0. If you encountered the bug, remove ~/.yogit/scrum_report.yaml to get the default one back

1.12.1

  • Fix yogit orga member ... command: GitHub API became less permissive about param types

1.12.0

  • Add --label filter to yogit pr list command
  • Add Slack integration: thanks @thomascarpentier for this contribution sponsored by Genymobile for #hacktoberfest. It allows yogit scrum report to publish the report on Slack on your behalf. To configure it: yogit account setup

1.11.0

  • Change yogit review requested output: print pull request title, don't print repository url anymore
  • Add --missed option to yogit review requested command

1.10.0

  • Add yogit br becomes yogit branch command
  • Add yogit rv becomes yogit review command

1.9.0

  • Add yogit orga list command
  • Add --orga discrimator option to yogit orga member list
  • Add --orga discrimator option to yogit orga member pickone
  • Improve doc regarding auto completion

1.8.0

  • Add yogit orga member list command
  • Add yogit orga member pickone command
  • Add --dangling option to yogit br list
  • yogit ct command is renamed to yogit contrib
  • Improve update warning wording
  • Improve yogit --version wording

1.7.2

  • Fix yogit upgrade from 1.6.0

1.7.1

  • Shit happens

1.7.0

  • Add yogit ct stats command

1.6.0

  • Add yogit ct list command
  • Add --date arg to yogit scrum report command
  • Add indentation ability to yogit scrum report
  • Print pretty bullet points in generated scrum report
  • Improve documentation

1.5.1

  • Replace yaspin by Halo dep to handle spinner: better handling of pipes and redirects

1.5.0

  • Tried yogit on Windows Terminal and workaround a spinner issue
  • Print count little by little if request is big

1.4.1

  • Fix missing packaging dependency

1.4.0

  • See if pull requests are conflicted in yogit pr list
  • Improve yogit scrum report UX and make it robust to network access failure
  • Shorten PR titles in tabulated results (max 50 chars)

1.3.0

  • Add update available check

1.2.1

  • Improve help

1.2.0

  • Add ability to list your current reviews and see outdated ones with yogit rv list
  • Dedicated wording when there is no result
  • Add "Count: X" statement right after result list
  • Show a spinner during request time
  • Use bold and emojis to make outputs fancier

1.1.1

  • Reinforce scrum report command (better error handling)

1.1.0

  • Add abilitiy to list pull requests of an organization yogit pr list --orga TEXT

1.0.4

  • Fix typo in scrum report, thx @genygilles

1.0.3

  • Fix unauthorized error due to too old PyYAML version

1.0.2

  • Support pagination for branch listing (fix request timeout)

1.0.1

  • Be more specific on GitHub required scopes
  • Improve code regarding account setup flow
  • Fix sort of pull request list

1.0.0

  • Project bootstrap

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

yogit-1.13.0.tar.gz (19.3 kB view hashes)

Uploaded Source

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