Skip to content

Latest commit

 

History

History
153 lines (125 loc) · 4.66 KB

README.md

File metadata and controls

153 lines (125 loc) · 4.66 KB

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