Version 1.1.20
Written with Python 3.11.3
py -m pip install --upgrade pip
python -m pip install --upgrade pip
pip install lesserapi
py -m pip install lesserapi
- Windows:
py -m pip install --upgrade lesserapi
- Linux:
python -m pip install --upgrade lesserapi
- You can Check if there is any new update available.
from lesserapi.utils.update import LesserApiUpdator
LesserApiUpdator.check_for_updates()
- Output:
from lesserapi.utils.update import LesserApiUpdator
LesserApiUpdator.update()
Warning
This Package Only can run in Python 3.11.3 or above.
Github
from lesserapi.github.scraper import GithubScrape # Scraper Class
from lesserapi.handlers.user_handler import UserHandler # User Handler Class
from lesserapi.handlers.request_handler import RequestHandler # 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: RequestHandler = RequestHandler(
url=UserHandler(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()
from lesserapi.github.scraper import GithubScrape
from lesserapi.handlers.user_handler import UserHandler
from lesserapi.handlers.request_handler import RequestHandler
def main():
request: RequestHandler = RequestHandler(
url=UserHandler(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()
from lesserapi.github.scraper import GithubScrape
from lesserapi.handlers.user_handler import UserHandler
from lesserapi.handlers.request_handler import RequestHandler
def main():
request: RequestHandler = RequestHandler(
url=UserHandler(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()
from lesserapi.github.scraper import GithubScrape
from lesserapi.handlers.user_handler import UserHandler
from lesserapi.handlers.request_handler import RequestHandler
def main():
user: UserHandler = UserHandler(username='shervinbdndev').serialize() # user instance
request: RequestHandler = RequestHandler(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()
from lesserapi.github.scraper import GithubScrape
from lesserapi.handlers.user_handler import UserHandler
from lesserapi.handlers.request_handler import RequestHandler
def main():
user: UserHandler = UserHandler(username='shervinbdndev').serialize()
request: RequestHandler = RequestHandler(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()
from lesserapi.github.scraper import GithubScrape
from lesserapi.handlers.user_handler import UserHandler
from lesserapi.handlers.request_handler import RequestHandler
def main():
user: UserHandler = UserHandler(username='shervinbdndev').serialize()
request: RequestHandler = RequestHandler(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()
Steam
from lesserapi.steam.scraper import SteamScrape
def main():
scraper: SteamScrape = SteamScrape()
scraper.startApi(log=True)
# Here you can get the Data of User by 2 types of gathering info: 1-By Profile ID 2- By Profile Code
# if user has no Profile ID, don't worry, you can use their Profile Code Instead.
print(scraper.displayName(profile_id='shervinbdndev')) # if User has no Profile ID
print(scraper.displayName(profile_code='76561198358095760')) # Use their Profile Code
print(scraper.location(profile_id='shervinbdndev'))
print(scraper.biography(profile_id='shervinbdndev'))
print(scraper.accountLevel(profile_id='shervinbdndev'))
print(scraper.userStatus(profile_id='shervinbdndev'))
print(scraper.recentActivity(profile_id='shervinbdndev'))
print(scraper.badges(profile_id='shervinbdndev'))
print(scraper.userAwardsMeta(profile_id='shervinbdndev', awards_given=True))
# By using this function, you can access some of the User's Meta Data such as these below:
print(scraper.userMeta(profile_id='shervinbdndev', totalAwards=True))
print(scraper.userMeta(profile_id='shervinbdndev', totalFriends=True))
print(scraper.userMeta(profile_id='shervinbdndev', totalBadges=True))
print(scraper.userMeta(profile_id='shervinbdndev', totalGames=True))
print(scraper.userMeta(profile_id='shervinbdndev', totalGroupsJoined=True))
print(scraper.userMeta(profile_id='shervinbdndev', totalReviews=True))
print(scraper.userMeta(profile_id='shervinbdndev', totalVideosUploaded=True))
# use can use both methods on gathering the user data.
print(scraper.userMeta(profile_code='76561198358095760', totalAwards=True))
print(scraper.userMeta(profile_code='76561198358095760', totalFriends=True))
.
.
.
# here's an Example of put User's last 3 games played into variables by using the function below:
# Also do not forget that you can initialize the params
games_names: list[str] = scraper.last3GamesPlayedMeta(profile_id='shervinbdndev', names=True)
games_info: list[str] = scraper.last3GamesPlayedMeta(profile_id='shervinbdndev', info=True)
# here you can create a dictionary with values of games and keys of User's game info
toDictType: dict[str, str] = dict(zip(games_names, games_info))
print(toDictType)
# Output
# {
# 'Counter-Strike 2': '1,397 hrs on recordlast played on 27 Nov',
# 'ELDEN RING': '254 hrs on recordlast played on 27 Nov',
# 'Far Cry 4': '33 hrs on recordlast played on 27 Nov'
# }
if (__name__ == "__main__"):
main()
from lesserapi.steam.backup import GAME_CODES # + New Builtin Backup from Steam Game Codes: ! Do not open this Component
from lesserapi.steam.scraper import SteamScrape
from lesserapi.utils import findGamesWithSameName
STEAM_USERNAME: str = 'shervinbdndev'
def main() -> None:
scraper: SteamScrape = SteamScrape()
scraper.startApi(log=True)
# Here are 3 Functions that doesn't need to explain what they each do.
print(scraper.accountTotalXP(profile_id=STEAM_USERNAME))
print(scraper.accountNextLevel(profile_id=STEAM_USERNAME))
print(scraper.accountXPNeededForNextLevel(profile_id=STEAM_USERNAME))
# Here we have an new function that you can use for finding the exact name of the game.
# for example if you run the code below:
print(findGamesWithSameName(name='Counter-Strike'))
# It should give you sth
# ['Counter-Strike: Source Dedicated Server', 'Counter-Strike: GO - Intro Trailer', 'Counter-Strike Online', 'Counter-Strike Global Offensive - Dedicated Server', 'Counter-Strike: Global Offensive - SDK', 'Counter-Strike', 'Counter-Strike: Condition Zero Deleted Scenes', 'Counter-Strike Steamworks Beta', 'Counter-Strike: Source Beta', 'Counter-Strike: Condition Zero', 'Counter-Strike Nexon: Studio', 'Counter-Strike Nexon: Zombies - Rivals DLC', 'Counter-Strike Nexon: Zombies - Teddy Nightmare (30 Days)', 'Counter-Strike Nexon: Zombies - Teddy Nightmare (15 Days)', "Counter-Strike Nexon: Zombies - Oz's Trio", 'Counter-Strike Nexon: Zombies - Starter Pack', 'Counter-Strike Nexon: Zombies - Journey to the West + Permanent Character', 'Counter-Strike Nexon: Zombies - Dragon Set + Permanent Character', 'Counter-Strike Chat', 'Counter-Strike Flair', 'Counter-Strike: Global Offensive', 'Counter-Strike: Source']
# After you find the exact name of the game you want, you can use GAME_CODES.
# GAME_CODES is a constant builtin lesserapi dictionary that you can pass the game exact name as the key to it, afterwards you're all done.
print(scraper.gameDetails(game_code=GAME_CODES['Counter-Strike'], raw_json=True))
if (__name__ == "__main__"):
main()