A python Package API for gathering Users Information in some Platforms.
Project description
lesserapi
Version 1.1.16
Written with Python 3.11.3
<div align="center">
<img src="https://img.shields.io/github/license/lesserapi/lesserapi.svg"></img>
</div>
<img src="https://img.shields.io/github/forks/lesserapi/lesserapi.svg"></img>
<img src="https://img.shields.io/github/stars/lesserapi/lesserapi.svg"></img>
<img src="https://img.shields.io/github/watchers/lesserapi/lesserapi.svg"></img>
<img src="https://img.shields.io/github/issues-pr/lesserapi/lesserapi.svg"></img>
<img src="https://img.shields.io/github/issues-pr-closed/lesserapi/lesserapi.svg"></img>
<img src="https://img.shields.io/github/downloads/lesserapi/lesserapi/total.svg"></img>
<img style="display:block;margin-left:auto;margin-right:auto;width:70%;" src="https://github-readme-stats.vercel.app/api/pin/?username=lesserapi&repo=lesserapi&theme=dracula"></img>
Ready To Use
Developed by Shervin Badanara (shervinbdndev) on Github
<img src="https://forthebadge.com/images/badges/made-with-python.svg"></img>
Language and technologies used in This Project
WorkSpace
Update Your Interpreter
Windows / CMD
py -m pip install --upgrade pip
Linux / Terminal
python -m pip install --upgrade pip
Installation
Windows / CMD , Linux / Terminal
pip install lesserapi
or
py -m pip install lesserapi
Update Library
Windows / CMD , Linux / Terminal
pip install -U lesserapi
or
py -m pip install --upgrade lesserapi
Usage
from lesserapi.github.scraper import GithubScrape # Scraper Class
from lesserapi.github.handlers.user_handler import GithubUserHandler # User Handler Class
from lesserapi.github.handlers.request_handler import GithubRequestHandler # Request Handler Class
def main():
# UserHandler serializes the value you given to the username param
# RequestHandler gets the Serialized data then sends a GET request to github servers and saves the page content in request variable
request: GithubRequestHandler = GithubRequestHandler(
url=GithubUserHandler(username='shervinbdndev').serialize(),
).sendGetRequest(content=True)
# Scrape gets the variable as an arg
scraper: GithubScrape = GithubScrape(data=request)
# then we start using API by calling the startApi method
scraper.startApi(log=False) # log param is for safety, the default value is True but you can change it
# After all of these steps now you're free to use the API
print(scraper.followers)
print(scraper.followings)
print(scraper.biography)
print(scraper.json_data) # get full json data of user
if (__name__ == "__main__"):
main()
New Changes on Version 1.1.3
-
Now you can Access User's Repositories Names
from lesserapi.github.scraper import GithubScrape
from lesserapi.github.handlers.user_handler import GithubUserHandler
from lesserapi.github.handlers.request_handler import GithubRequestHandler
def main():
request: GithubRequestHandler = GithubRequestHandler(
url=GithubUserHandler(username='shervinbdndev').serialize(),
).sendGetRequest(content=True)
scraper: GithubScrape = GithubScrape(data=request)
scraper.startApi(log=False)
# Then your free to use the new method to get User's Repositories names
print(scraper.repositoriesNames(username='shervinbdndev'))
# ftl (first to last) is a new option that you can use to show the repositories from the first created to the last one
print(scraper.repositoriesNames(username='shervinbdndev', ftl=True)) # default value is False
# Also you can select the repository by index like below
print(scraper.repositoriesNames(username='shervinbdndev')[3]) # for example I want the 4th repository (It starts from 0 btw)
if (__name__ == "__main__"):
main()
New Changes on Version 1.1.4
Now you can Access
-
User's Total Stars Given
-
User's Profile Picture Url
-
Check Repository Star Count
from lesserapi.github.scraper import GithubScrape
from lesserapi.github.handlers.user_handler import GithubUserHandler
from lesserapi.github.handlers.request_handler import GithubRequestHandler
def main():
request: GithubRequestHandler = GithubRequestHandler(
url=GithubUserHandler(username='shervinbdndev').serialize()
).sendGetRequest(content=True)
scraper: GithubScrape = GithubScrape(data=request)
scraper.startApi(log=False)
print(scraper.totalStarsGiven) # total stars given
print(scraper.profilePictureUrl) # profile picture url
# now using this new method you lets you check users repository's star count
print(scraper.checkRepositoryStars(
username='shervinbdndev', # user's username
repo_name='Quizino', # repository's name
))
if (__name__ == "__main__"):
main()
New Changes on Version 1.1.5
Now you can Access
-
User's Last Year Contributions
-
Check if User's Repository is Public Archive
-
Check if User has README.md
-
Get Repository's Used Languages
-
Get User's Unlocked Achievements
from lesserapi.github.scraper import GithubScrape
from lesserapi.github.handlers.user_handler import GithubUserHandler
from lesserapi.github.handlers.request_handler import GithubRequestHandler
def main():
user: GithubUserHandler = GithubUserHandler(username='shervinbdndev').serialize() # user instance
request: GithubRequestHandler = GithubRequestHandler(url=user).sendGetRequest(content=True) # send request by RequestHandler
scraper: GithubScrape = GithubScrape(data=request)
scraper.startApi(log=False)
print(scraper.lastYearContributions) # last year contributions
print(scraper.isRepositoryPublicArchive(username='shervinbdndev', repo_name='Quizino')) # check if repository is public archive => returns True or False
print(scraper.userHasReadMe(username='shervinbdndev')) # check if user has README.md
print(scraper.repositoryUsedLanguages(username='shervinbdndev', repo_name='lesserapi')) # get repository's used languages (also you can select by index)
print(scraper.userAchievements(username='shervinbdndev')) # get user's achievements (also you can select by index)
if (__name__ == "__main__"):
main()
New Changes on Version 1.1.9
Now you can Access
-
List of User's Followings
-
List of User's Followers
-
Check Last Commit date of Repository with selected Branch
-
Check all Commit Dates of a Repository
-
Count the Repository Branches
-
Check if a Repository is froked from another Repository
-
Check if Repository has a LICENSE
-
Check the Repository's License Type
-
List Repository's Branches
+2 Beta Methods
-
Get all Stars that the User has given to the Repositories
-
List all of the Watchers of a Repository
from lesserapi.github.scraper import GithubScrape
from lesserapi.github.handlers.user_handler import GithubUserHandler
from lesserapi.github.handlers.request_handler import GithubRequestHandler
def main():
user: UserHandler = UserHandler(username='shervinbdndev').serialize()
request: GithubRequestHandler = GithubRequestHandler(url=user).sendGetRequest(content=True)
scraper: GithubScrape = GithubScrape(data=request)
scraper.startApi(log=False)
print(scraper.listFollowings(username='shervinbdndev')) # List of User's Followings
print(scraper.listFollowers(username='shervinbdndev')) # List of User's Followings
# This Method is in Beta version of itself
# It doesn't show all User's Stars that given to Repositories
# It only Lists The Repositories on the first page
print(scraper.starsGivenRepositoriesNames(username='shervinbdndev'))
# Last Commit date of Repository with selected Branch
print(scraper.repositoryLastCommitDateOnBranch(username='shervinbdndev', repo_name='lesserapi', branch_name='master'))
# Commits dates of Repository with selected Branch
print(scraper.repositoryCommitsDatesOnBranch(username='shervinbdndev', repo_name='lesserapi', branch_name='master'))
# Count of selected Repository Branches
print(scraper.repositoryBranchesCount(username='shervinbdndev', repo_name='lesserapi'))
# Check if current Repository is Forked from another Repository
print(scraper.currentRepositoryIsForkedFromAnotherRepository(username='shervinbdndev', repo_name='lesserapi'))
# Check if Repository has a LICENSE
print(scraper.repositoryHasLicense(username='shervinbdndev', repo_name='lesserapi'))
# Get License Type of a Repository
print(scraper.repositoryLicenseType(username='shervinbdndev', repo_name='lesserapi'))
# List of Repository Watchers
# This Method is in Beta version of itself
print(scraper.listRepositoryWatchers(username='shervinbdndev', repo_name='lesserapi'))
# List of Repository Branches
print(scraper.listRepositoryBranches(username='shervinbdndev', repo_name='lesserapi'))
if (__name__ == "__main__"):
main()
New Changes on Version 1.1.15
Now you can Access
-
Check if User is Pro or Not
-
User Organizations
-
User Organizations Pictures
from lesserapi.github.scraper import GithubScrape
from lesserapi.github.handlers.user_handler import GithubUserHandler
from lesserapi.github.handlers.request_handler import GithubRequestHandler
def main():
user: UserHandler = UserHandler(username='shervinbdndev').serialize()
request: GithubRequestHandler = GithubRequestHandler(url=user).sendGetRequest(content=True)
scraper: GithubScrape = GithubScrape(data=request)
scraper.startApi(log=False)
print(scraper.isPro)
print(scraper.userOrganizations(username='shervinbdndev'))
print(scraper.userOrganizationsPictures(username='shervinbdndev'))
if (__name__ == "__main__"):
main()
Enjoy :)
Package Uploaded in PYPI :Here
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
lesserapi-1.1.16.tar.gz
(16.0 kB
view hashes)
Built Distribution
lesserapi-1.1.16-py3-none-any.whl
(14.0 kB
view hashes)
Close
Hashes for lesserapi-1.1.16-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4930998212a73f8bcf27097fa4afe9861e91b3c870b7593586f873a8302b0899 |
|
MD5 | 3bcf7e53d5eff78b949c967982aeb6ea |
|
BLAKE2b-256 | e4d2a5bb64e888ea15a3575bc7b2aecad40aa97e9f099457e24d399d7f029065 |