Skip to main content

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)

Uploaded Source

Built Distribution

lesserapi-1.1.16-py3-none-any.whl (14.0 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