Skip to main content

A python Package API for gathering Users Information in some Platforms.

Project description

lesserapi

Version 1.1.18

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




[!WARNING]

This Package Only can run in Python 3.11.3 or above.



Usage


Github
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 Addons & 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 Addons & 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 Addons & 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 Addons & 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 Addons & 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()
Steam

New Addons & Changes on Version 1.1.16

Now you can Access Steam.

Some Package Structure has changed.

Using RequestHandler & UserHandler for gathering steam Users data, has Removed.

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()
Instagram

Not Soon Cause of Filtering

Aparat

Soon




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.18.tar.gz (20.1 kB view hashes)

Uploaded Source

Built Distribution

lesserapi-1.1.18-py3-none-any.whl (17.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page