Skip to content

UdhavPawar/find_github_email

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Find any GitHub user’s email address

ApplicationInstallationHow To UseHow It WorksContribute

Application

  • GitHub brings together the world's largest community of developers to discover, share, and build better software.
  • GitHub profiles often include an email address, twitter handle, and/or link to a personal website.
  • However, some of the best profiles simply have no contact information apart from a GitHub username.
  • Hence, this python package is targetted for finding almost any GitHub user's email address, so you can easily network/reach out to your favorite developers :bowtie:🙇

Installation

Install package use the package manager pip.

python2

python

pip install find-github-email

OR

python -m pip install find-github-email

python3

python3

pip3 install find-github-email

OR

python3 -m pip install find-github-email

Facing an issue? Check the Issues section or open a new issue.

How To Use

example

python2 run.py

# python sample code to use "find_github_email" package

# import package
import find_github_email

# read GitHub username from user
username = raw_input("\nEnter GitHub username: ")

response = find_github_email.find(username)
print "\n",response,"\n"

python3 run.py

# python3 sample code to use "find_github_email" package

# import package
import find_github_email

# read GitHub username from user
username = input("\nEnter GitHub username: ")

response = find_github_email.find(username)
print(f"\n{response}\n")

Facing an issue? Check the Issues section or open a new issue.

How It Works

How the code works:

case 1 :
- locate users's non-forked repo
- for that repo, scrape commits json object and iterate over each commit
- for each commit, the commit URL will become: https://github.com/username/public_repo/commit/commit_id
- option 1: append ".patch" to URL so it becomes https://github.com/username/public_repo/commit/commit_id.patch
- option 2: looks for author json object
- then simply filter email from author object.
case 2 : 
- check if the user has a commit in public repo using: https://api.github.com/users/{username}/events/public
- then iterate over each payload, for each payload scrape it's commits, iterate over each commit and filter email. 
- If so grep email from there.

package PyPi project: find-github-email

package structure:

.
├── LICENSE
├── README.md
├── dist
│   └── find_github_email-1.2.5.tar.gz
├── find_github_email
│   ├── __init__.py
│   ├── __init__.pyc
│   ├── __pycache__
│   │   ├── __init__.cpython-37.pyc
│   │   └── main.cpython-37.pyc
│   ├── main.py
│   └── main.pyc
├── find_github_email.egg-info
│   ├── PKG-INFO
│   ├── SOURCES.txt
│   ├── dependency_links.txt
│   ├── requires.txt
│   └── top_level.txt
├── py2-run.py
├── requirements.txt
├── run.py
├── setup.py
└── svgs
    ├── py2install.svg
    ├── py3install.svg
    └── run.svg

5 directories, 21 files

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change/fix.

License

MIT

Acknowledgement

Sourcecon