Saravanan666/pypi-org huggingface dataset:
Package: gitchurn
Git ChurnThe purpose of this tool is to calculate change churn below the file-level. Git can already calculate churn withgit log --numstatwhich will print how many lines of text were added and removed in each file touched by a commit. This tool prints the same information for eachtagtouched by a commit. A tag is any item in a source file such as a class, function, field, etc. We detect tags usingUniversal CTags. In effect, this tool is just some glue betweenctagsandgit.Installgitchurncan be installed with pip.pip install gitchurnGitmust also be installed.Universal CTagsis also required. Please follow the link for instructions. You can test your install by runningctags --version.UsageSimply navigate to a git repository and runpython -m gitchurnor justgitchurn. You will see something like:9d0e3d1af0cb7e62c810ec23f97e12e86ab3cf6f	14	<tag_1>
9d0e3d1af0cb7e62c810ec23f97e12e86ab3cf6f	15	<tag_2>
a058e4559d0363ed956780e81f2e6f0d84d0ead3	2	<tag_3>The output is always three columns delimated by tabs. The first column is the commit hash. The second column is the churn (added plus deleted lines). The last column is the tag. By default, tags are printed in a human readable format but this can be changed with--tag-format. Seegitchurn --helpfor further options.These churn calculations are fairly expensive and are not going to fluxuate, so it might be wise to immediately pipe the output to a file. You will also see significant performance gains by filtering down commits. See the next section for more details.ExampleFor a more involved example, say we want the churn for the last 100 commits of some project. Let's useApache DeltaSpikeas an example.git clone https://github.com/apache/deltaspike
cd deltaspike
gitchurn --git-log-args "master -n 100"The arguments passed to--git-log-argswill be fowarded togit-log. Somaster -n 100means we want only the 100 most recent commits reachable from themasterbranch.Now we can limit this even further. Say we are only interested in Java code which is not tests.gitchurn --git-log-args "master -n 100 -- **/*.java :^**/src/test/**"Everything after--is interpreted as path information by git-log. So**/*.javais a glob telling git to only select Java files. Similarly,:^**/src/test/**tells git to exclude tests. (The:^prefix causes git to invert the selection.)Finally, if we want to ignore large commits (such as those caused by refactoring), we can set a maximum commit size.gitchurn --git-log-args "master -n 100 -- **/*.java :^**/src/test/**" --max-changes 30So any commits which have changed more than 30 non-test Java files will be excluded.
Package: git-cl
git-change is a git extension for interaction withrietveldcode revie tool.It is inspired bygit-cland use parts
of code provided by Google in the codereview mercurial plugin available at theGo programming language repository.InstallYou can usepip,easy_installor download it from PyPI:% [sudo] pip install git-cl% [sudo] easy_install git-cl% git clone git://github.com/timeredbull/ConfigureTo configuregit-change, run the config command:% git config git-change.server <server> (default is codereview.appspot.com)
% git config git-change.default-cc <default-cc-email> (default is none)UsageCreate a new CLMake a new branch, commit your changes and run:% git change masterIt will generate the new CL within Rietveld.Update a CLTo update your CL, change make other commits and just rungit changeagain.
It will detect that there is already a CL associated with your current branch
and upload a new patch-set.More instructions soon :)
Package: git-clean
Git clean project.Tool for removing old data from git repository.Installation.sudo-Hpython3-mpip3install-Ugit-cleanUsage.Removing remote old branches:clean-git--url=ssh://git@git.example.com/example.gitRemoving remote and local branches:clean-git--dirpath=/path/to/git/repo/rootRemoving remote and local branches, which last commit age is higher, than 360 days only.clean-git--dirpath=/path/to/git/repo/root--over-days=360Removing remote and local branches, which name is not "test".clean-git--dirpath=/path/to/git/repo/root--exclude-dirpath="^master|test$"
Package: git-cleaner
=================
Git CleanerCleanup merged branches with notification to last committer.Installation.. code-block:: bash# Normal install from PyPI
sudo pip3 install --upgrade git-cleaner
# From git
sudo pip3 install --upgrade --no-cache git+https://github.com/keepbot/py-git-cleaner@master
# Locally
git clone https://github.com/keepbot/py-git-cleaner.git
sudo pip3 install --upgrade --no-cache ./py-git-cleanerUsage.. code-block:: bashgit-cleaner COMMAND [OPTIONS]

Commands:
  list-merged               Print list of merged branches with dates
  list-no-merged            Print list of not merged branches with dates
  notify-last-committer     Notify developers about outdated branches
  remove-outdated-branches  Delete outdated branches
  show-config               Print config entries

Global options:
  -h, --help     Show this message and exit.
  -v, --version  Show the version and exit.

Local options:
  -h, --help              Show this message and exit.
  --target TEXT           Name of merge branch
  --age INTEGER           Age of nearest branch
  --merged / --no-merged  Merged or not merged branchesEnvironmentFollowing variables should be set:.. code-block:: bashGIT_PROVIDER=bitbucket.org
GIT_USER=keepbot
GIT_REPO_NAME=py-git-cleaner
EMAIL_FROM=git-cleaner@example.com
EMAIL_SMTP_SERVER=smtp.example.com
EMAIL_SMTP_PORT=587
EMAIL_USER=git-cleaner@example.com
EMAIL_PASS=git-cleaner-password
EMAIL_ERROR=git-cleaner-error@example.com
OAUTH_CLIENT_ID=bitbucket-client-id
OAUTH_CLIENT_SECRET=bitbucket-sercret-id
OAUTH_URI_ACCESS_TOKEN=https://bitbucket.org/site/oauth2/access_token
OAUTH_URI_AUTHORIZATION=https://bitbucket.org/site/oauth2/authorize
Package: git-client
gcgcis a simple command line helper client for git.Obviously git has a lot of functionality in the CLI already. Not seeking to re-invent any wheels,gccan simplify commits and pushes, add or remove files from .gitignore, and maybe one day help with merge fixes.usage$ gc "subject for a git commit"Commit local git repo with message "subject for a git commit", add or rm files, and push changes.You will be prompted to add a body message (skip with 'n'), and you will see a list of untracked, modified, or deleted files. Simply unselect any files you DON'T want to add or rm.$ gc -Ishow .gitignore for current project and exit$ gc -i config.ini terraform.tfvarsaddconfig.iniandterraform.tfvarsto project's .gitignore.If a file exists already, it will be deleted, but you will be prompted first (unless you provide the [-y] or [--yes] flag).
Package: git-cliff
Documentation|Websitegit-cliffcan generatechangelogfiles from theGithistory by utilizingconventional commitsas well as regex-poweredcustom parsers. Thechangelog templatecan be customized with aconfiguration fileto match the desired format.DocumentationLearn how to usegit-clifffrom thedocumentation.InstallationUsageConfigurationTemplatingIn The MediaTurning Git commits into changelog with git-cliff- RustLab 2023 (Talk)An Interview with Orhun of git-cliff- Console #141 (Newsletter)Editor Supportgit-cliff.el- Generate, update and release changelog in EmacsSimilar/Related Projectsgit-journal- The Git Commit Message and Changelog Generation Frameworkclog-cli- Generate beautiful changelogs from your Git commit historyrelnotes- A tool to automatically generate release notes for your project.cocogitto- A set of CLI tools for the conventional commit and semver specifications.cliff-jumper- A NodeJS CLI tool that combines git-cliff andconventional-recommended-bumpto semantically bump a NodeJS package and generate a git-cliff powered changelog.release-plz- Release Rust packages from CI.ContributorsThanks goes to these wonderful people ✨Made withcontrib.rocks.LicenseLicensed under either ofApache License Version 2.0orThe MIT Licenseat your option.CopyrightCopyright © 2021-2024,git-cliff contributors
Package: gitcln
Welcome to Gitcln 👋CLI tool aim to clean local git repository from .gitignore file(s)/folder(s).you can create ordownload .gitignorefile and use this tool anywhere.Installation ⚓$pipinstallgitclnUsage 🗝ArgShortcutTypeDescriptionDefault--directories-doptionaldirectory(ies) to ignore[ ]--files-foptionalfile(s) to ignore[ ]$gitcln--helpusage:gitcln[-h][-d[DIRECTORIES[DIRECTORIES...]]][-f[FILES[FILES...]]]CLItoolaimtocleanlocalgitrepositoryfrom.gitignorefile(s)/folder(s).

optionalarguments:-h,--helpshowthishelpmessageandexit-d[DIRECTORIES[DIRECTORIES...]],--directories[DIRECTORIES[DIRECTORIES...]]Directory(ies)toignore.(default:[])-f[FILES[FILES...]],--files[FILES[FILES...]]File(s)toignore.(default:[])Examples :Remove all .gitignore file(s)/folder(s) :$gitclnRemove all .gitignore file(s)/folder(s) except specific directory(ies) :$gitcln-d__pycache__Remove all .gitignore file(s)/folder(s) except specific file(s) :$gitcln-fbytes.pycTests 🧪Only integration tests for gitcln module runs on the CI pipeline.Roadmap 📈Add additional CLI option to skip .gitignore ignores by unique comment.Add .gitcln file to ignore file(s) folder(s) from scanning.Filter .gitignore by section name.Copyright ©👤Hadi Zaki AlqattanGithub:@hadizakialqattanEmail:alqattanhadizaki@gmail.com📝LicenseCopyright © 2020Hadi Zaki Alqattan.This project isMITlicensed.Give a ⭐️ if this project helped you!
Package: git-clog
Git colorlogIntroductiongit clogoutputs the commit graph of the current Git repository and colorizes commit symbols by interpreting the first
six commit hash digits as an RGB color value:Important note: You need aterminal with true color support.Installation and usagegit clogisavailable on PyPIand can be installed withpip:python3-mpipinstallgit-clogIf you use Arch Linux or one of its derivatives, you can also installgit-clogfrom theAUR:yay-Sgit-clogAfter the installation, callgitclogwithin a Git repository.
Package: git-cloner
git-clonerTable of ContentsAboutInstallingUsageAboutgit-cloner is a command line tool to batch clone git projects from GitLab server.InstallingWindowsInstallPython 2.7 or 3.4+:When installing, optionAdd python.exe to Pathmust be selected and enabled. Or after installation, manually add the Python installation directory and its Scripts subdirectory to your PATH. Depending on your Python version, the defaults would be C:\Python27 and C:\Python27\Scripts respectively.Installgit-clonervia pippip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ git-clonerReboot the systemLinuxInstallPython 2.7 or 3.4+Installgit-clonervia pippip install -i https://mirrors.aliyun.com/pypi/simple/ git-clonerMacOSXInstallPython 2.7 or 3.4+Installgit-clonervia pippip install -i https://pypi.douban.com/simple/ git-clonerUsageGeneral command helpgit-cloner --help
usage: git-cloner [-h] -s <url> -u <user> -p <pass> [-g <group> [<group> ...]] [-o <path>]

optional arguments:
  -h, --help            show this help message and exit
  -s <url>, --server <url>
                        The GitLab server url
  -u <user>, --user <user>
                        The GitLab login username
  -p <pass>, --pass <pass>
                        The GitLab login password
  -g <group> [<group> ...], --group <group> [<group> ...]
                        Only clone the projects in this group(s)
  -o <path>, --output <path>
                        Clone projects to output directory
Package: gitcmd
gitcmdOverviewgitcmd is a wrapper of ‘git’ command , it can interact with git command where need username and password.InstallationThe quick way:pip install gitcmdUsageClone git respositroyfrom gitcmd import GitCmd
clone_to = 'mydir'
url = "https://github.com/philoprove/gitcmd.git"
ge = GitCmd(work_dir=clone_to, url=url)if you clone with ssh, you may need config ssh key at first.Clone gitlab with username,passwordfrom gitcmd import GitCmd
import os
ge = GitCmd(work_dir="clone_to_where", url="", user="user",pwd="pwd")

# work dir should be either empty or not exists
ge.clone()


# after repository was cloned to local , you can execute other commands
ge.checkout()
ge.pull()
ge.execute("git diff ...")
Package: gitcoach
Gitlearn and gitcoach are a pair of tools for helping me, and hopefully
other people, better understand large projects living in Git by trying
to identify codependent pieces of code.Free software: BSD licenseDocumentation:http://gitcoach.rtfd.org.InstallationThe easiest way to install gitcoach is through pip:$ pip install gitcoachUsageTo generate the prediction data, rungitlearn. This might take a long time:usage: gitlearn [-h]

Generate coaching data for gitcoach.

optional arguments:
  -h, --help  show this help message and exitThegitcoachutility:usage: gitcoach [-h] [--file FILE] [--commit COMMIT] [--threshold THRESHOLD]

Find co-dependent files based on git history. Two files are co-dependent if
they have been modified in the same commits often enough.

optional arguments:
-h, --help            show this help message and exit
--file FILE, -f FILE  Find suggestions for a specific file
--commit COMMIT, -c COMMIT
                        Find suggestions for files modified in a specific
                        commit.
--threshold THRESHOLD, -t THRESHOLD
                        Threshold for co-incidence ratio (default=0.8).Example output ofgitcoach:Here are some files you might want to look at:

travis.yml  suggested by    README.rst (0.500000)
tox.ini     suggested by    README.rst (0.500000)
setup.py    suggested by    README.rst (0.500000)
requirements.txt    suggested by    README.rst (0.500000)History0.1Original version by mhoye0.2.0 (2013-11-08)RewriteNew dependency:git2jsonFirst version released on PyPI0.2.2 (2013-11-09)Python 3 compatibilityPackaging fixes
Package: git-code-counter
git-code-counterFeaturesShow code lines graphRequiresPython3clocUsageThis library is provided as a python package:pip install git_code_counter
git_code_counter [repository path]Free software: MIT licenseCreditsThis package was created withCookiecutterand theaudreyr/cookiecutter-pypackageproject template.History0.1.0 (2019-11-22)First release on PyPI.
Package: git-code-debt
git-code-debtA dashboard for monitoring code debt in a git repository.Installationpip install git-code-debtUsageBasic / tl;dr Usagemake agenerate_config.yaml# required: repository to clone (can be anything `git clone` understands) even# a repository already on diskrepo:git@github.com:asottile/git-code-debt# required: database generation pathdatabase:database.db# optional: default Falseskip_default_metrics:false# optional: default []metric_package_names:[]# optional: default ^$ (python regex) to exclude paths such as '^vendor/'exclude:^$invoke the cli# Generate code metric data (substitute your own repo path)
$ git-code-debt-generate
# Start the server
$ git-code-debt-server database.dbUpdating data on an existing databaseAdding data to the database is as simple as running generate again.git-code-debtwill pick up in the git history from where data was generated
previously.$ git-code-debt-generateCreating your own metricsCreate a python project which addsgit-code-debtas a dependency.Create a package where you'll write your metricsAdd your package tometric_package_namesin yourgenerate_config.yamlThe simplest way to write your own custom metrics is to extendgit_code_debt.metrics.base.SimpleLineCounterBase.Here's what the base class looks likeclassSimpleLineCounterBase(DiffParserBase):# ...defshould_include_file(self,file_diff_stat:FileDiffStat)->bool:"""Implement me to return whether a filename should be included.By default, this returns True.:param FileDiffStat file_diff_stat:"""returnTruedefline_matches_metric(self,line:bytes,file_diff_stat:FileDiffStat)->bool:"""Implement me to return whether a line matches the metric.:param bytes line: Line in the file:param FileDiffStat file_diff_stat:"""raiseNotImplementedErrorHere's an example metricfromgit_code_debt.metrics.baseimportSimpleLineCounterBaseclassPython__init__LineCount(SimpleLineCounterBase):"""Counts the number of lines in __init__.py"""defshould_include_file(self,file_diff_stat:FileDiffStat)->bool:returnfile_diff_stat.filename==b'__init__.py'defline_matches_metric(self,line:bytes,file_diff_stat->FileDiffStat)->bool:# All lines in __init__.py matchreturnTrueAn additional class is provided which feeds lines as text
(SimpleLineCounterBasepresents them asbytes):TextLineCounterBase.
Here is an example metric using that base class:fromgit_code_debt.metrics.baseimportTextLineCounterBaseclassXXXLineCount(TextLineCounterBase):"""Counts the number of lines which are XXX comments"""deftext_line_matches_metric(self,line:str,file_diff_stat:FileDiffStat)->bool:return'# XXX'inlineMore complex metrics can extendDiffParserBaseclassDiffParserBase(object):# Specify __metric__ = False to not be included (useful for base classes)__metric__=Falsedefget_metrics_from_stat(self,commit:Commit,file_diff_stats:Tuple[FileDiffStat,...])->bool:"""Implement me to yield Metric objects from the input list ofFileStat objects.Args:commit - Commit objectfile_diff_stats - list of FileDiffStat objectsReturns:generator of Metric objects"""raiseNotImplementedErrordefget_metrics_info(self)->List[MetricInfo]:"""Implement me to yield `MetricInfo` objects."""raiseNotImplementedErrorSome screenshotsIndexGraph
Package: git-codeowners
git-codeownersA git subcommand to query and validate CODEOWNERS.List owners of files based on theCODEOWNERSof the current repository.> git codeowners src/main.rs
src/main.rs                    @weyland> git codeowners `git ls-files`
.gitignore                     (unowned)
Cargo.lock                     @weyland
Cargo.toml                     @weyland
LICENSE                        (unowned)
README.md                      @weyland
src/main.rs                    @weyland# oops, did the last commit add some unowned files?
> git diff --name-only --diff-filter=A | git codeowners
.gitignore                     (unowned)
LICENSE                        (unowned)# I need stats about my big monorepo
> echo `git ls-files | git codeowners | grep "(unowned)"| wc -l` out of `git ls-files | git codeowners | wc -l` files in this repository do not have a corresponding CODEOWNERS entry
2 out of 6 files in this repository do not have a corresponding CODEOWNERS entryInstallationVia pip:pip install git-codeownersVia Cargo:cargo install git-ownersUsageGet owners of a filegit codeowners some/fileGet owners for a list of filesgit codeowners some/file some/other/fileGet owners for every tracked filegit ls-files | git codeownersGet owners for files modified in last five commitsgit diff --name-only HEAD~5 HEAD | git codeownersCongratulate the user if the current changeset does not add files without ownergit diff --diff-filter=ACR --name-only | git codeowners && echo "Great job! No unowned files added!"Get an overview of your CODEOWNERS coverageecho `git ls-files | git codeowners | grep "(unowned)"| wc -l` out of `git ls-files | git codeowners | wc -l` files in this repository do not have a corresponding CODEOWNERS entryFeaturesDetects the right CODEOWNERS file of the current git repositoryIs composable & scripting friendlyWorks well as a pre-commit hookIs fast & written in RustIssues & ContributingIf you have any questions or problems, feel free to communicate using Github Issues.
Package: git-code-review
git-code-reviewA code review tool built into the git objects.Usageusage: git code-review list [--closed]
   or: git code-review open <name> <commit> <commit>
   or: git code-review close <name>
   or: git code-review view <name>List Code ReviewsTo see open code reviews:git code-review listTo see previous closed closed reviews:git code-review list --closedOpening A Code ReviewFirst, a code review author would run:git code-review open <name> <first sha> <last sha>It will then prompt the user for a code review message.Close A Code ReviewAfter a code review is over, the code reviw author would run:git code-review close <name>View A Code ReviewA code reviewer would run:git code-review view <name>The tool will iterate through all the diff hunks as well as comments.
During each hunk or comment, a user will be prompted to (c)omment (s)skip or
(q)uit.
Package: gitcollect
gitcollect 🪙still in progressGets github information by web scraping. Inspired byGit-Api.How to Use?pip install -r requirements.txtpip install gitcollectExample:fromgitcollectimport*repo_desc("https://github.com/LogSkele/gitcollect/")should getℹ it gets github infoDocumentationMaybe I'll add one...?ContributingJust make a pull request.Licensegitcollect is under theMIT license
Package: gitcommitlogger
gitcommitloggerA Python package that logs the details of a specific set of events made to a GitHub repository. Logs are saved into aCSVfile and can optionally be sent in a request to a web app, such as a Google Apps Script attached to a Google Sheet where the data can be stored.GitHub Actions integrationThis package is designed to be used in a GitHub Actions workflow, where the workflow is triggered by a push or pull request to the repository. Details of the commits included in the push will then be logged.A sample GitHub Actions workflow is included in.github/workflows/event-logger.yml. This example stores the logs into a Google Sheet by first posting them asJSONdata to a web app attached to the Google Sheet. The URL of the web app is presumed be stored in a GitHub Actions Secret namedCOMMIT_LOG_API.Google Apps Scripts integrationIn order to save the logs into a Google Sheet, the following steps are required:Create a Google Sheet.Attach an Apps Script to the sheet by clicking theExtensions->Apps Scriptsmenu option in Google Sheets.Copy/paste the example Apps Script inapps-script-example/code.jsinto the Apps Script editor and save. This sets up the scriptas a web appso it can respond toGETorPOSTrequests.Click the buton toDeploy->New Deploymentin the Apps Scripts editor. Note the web app URL that is generated once deployed.Add the URL of the Apps Script web app to the GitHub repositoryas a secretnamedCOMMIT_LOG_API.Thegitcommitloggercommand in the example GitHub Action will send aPOSTrequest to the Google Sheet web app whenever a push or pull request is made on the repository.The web app will then add a row to the Google Sheet with the details of the commit, including the commit id, author, number of files changed in the commit, number of lines added and deleted.
Package: git-commits-graph
Git commits graphDisplay plot of changes in repo - count of lines or changed linesInstallationUse pip to install the package:$pip3installgit-commits-graphor pipx to install in isolated environment:$pipxinstallgit-commits-graphUsageplot timeline of both added and removed lines in your repo:$git-commits-graphyour-repo-path-cplot lines count evolution in time.$git-commits-graphyour-repo-path-tto see all options:$ git-commits-graph --helpUsage: git-commits-graph [OPTIONS] GIT_DIR

  Plot git commits timeline main function.

Options:
  -b, --branch TEXT               git repository branch to browse.
  -s, --style TEXT                matplotlib plotting style to use.
  -c, --changes                   plot timeline of both added and removed
                                  lines.
  -t, --total-lines               plot lines count time evolution.
  -g, --aggregate-by TEXT         aggregate by: Y - year, M - month, W - week,
                                  D - day
  -l, --log-scale                 aggregate by day
  -a, --list-available-plot-styles
                                  list available plot styles and exit.
  -e, --engine TEXT               plotting engine to use (matplitlib | plotly)
  -o, --output-file TEXT          output file name (for plotly backend)
  --help                          Show this message and exit.Related Projectsdanielfleischer/git-commits-lines-graph- A small python script to visualize the number of lines in a project, as a function of time.LicenseMIT©Krystian Safjan.