Saravanan666/pypi-org huggingface dataset:
Package: ghunt
🌐 GHunt Online version :https://osint.industries😊 DescriptionGHunt (v2) is an offensive Google framework, designed to evolve efficiently.It's currently focused on OSINT, but any use related with Google is possible.Features :CLI usage and modulesPython library usageFully asyncJSON exportBrowser extension to ease login✔️ RequirementsPython >= 3.10⚙️ Installation$pip3installpipx
$pipxensurepath
$pipxinstallghuntIt will automatically use venvs to avoid dependency conflicts with other projects.💃 UsageLoginFirst, launch the listener by doingghunt loginand choose between 1 of the 2 first methods :$ghuntlogin[1](Companion)PutGHuntonlisteningmode(currentlynotcompatiblewithdocker)[2](Companion)Pastebase64-encodedcookies[3]EntermanuallyallcookiesChoice=>Then, use GHunt Companion to complete the login.The extension is available on the following stores :ModulesThen, profit :usage:ghunt[-h]{login,email,gaia,drive}...

positionalarguments:{login,email,gaia,drive}login(--clean)AuthenticateGHunttoGoogle.email(--json)Getinformationonanemailaddress.gaia(--json)GetinformationonaGaiaID.drive(--json)GetinformationonaDrivefileorfolder.

options:-h,--helpshowthishelpmessageandexit📄 You can also use --json with email, gaia and drive modules to export in JSON ! Example :$ghuntemail<email_address>--jsonuser_data.jsonHave fun 🥰💞🧑‍💻 Developers📕 I started writing some docshereand exampleshere, feel free to contribute !To use GHunt as a lib, you can't use pipx because it uses a venv.So you should install GHunt with pip :$pip3installghuntAnd now, you should be able toimport ghuntin your projects !You can right now play with theexamples.📮 DetailsObvious disclaimerThis tool is for educational purposes only, I am not responsible for its use.Less obvious disclaimerThis project is underAGPL Licence, and you have to respect it.Use it only in personal, criminal investigations, pentesting, or open-source projects.Thanksnovitaefor being my Python colleagueAll the people onMalfrats Industriesand elsewhere for the beta test !The HideAndSec team 💗 (blog :https://hideandsec.sh)Med Amine Jouinifor his beautiful rework of the Google logo, which I was inspired bya lot.SponsorsThanks to these awesome people for supporting me !You like my work ?Sponsor meon GitHub ! 🤗
Package: gh-unwatch-except
gh_unwatch_exceptA small utility for unwatching GitHub repositories.Usage> pip install gh_unwatch_except    
> gh_unwatch_except [repo keyword to exclude] [repo keyword to exclude] [repo keyword to exclude]

> gh_unwatch_except react-native terraform
Do you want to unwatch repository "saimonrai/react-native-test" ? [y/N]: n
Do you want to unwatch repository "saimonrai/terraform-abc" ? [y/N]: n
Unwatch repositories
    saimonrai/test-a
    saimonrai/test-b
Watch repositories
    saimonrai/react-native-test
    saimonrai/terraform-abc
Are you sure you want to proceed? [y/N]: y
Unwatching "saimonrai/test-a" ...
Unwatching "saimonrai/test-b" ...
Package: ghuser
GitHubGet user info from a GitHub usernameInstall$ pip install ghuserUsageimportghuserasuseruser.get('iamyoginth')"""{'username': 'iamyoginth','bio': 'Open-Source Enthusiast • Developer & Toolmaker • Pythonista 🐍 • Issue Resolver • Support me on Patreon: yoginth ⭐','company': None,'location': 'Parallel Universe','repos': 54,'followers': 2,'following': 11,'website_url': 'https://t.me/yoginth','id': 26025640,'avatar_url': 'https://avatars2.githubusercontent.com/u/26025640?v=4','web_url': 'https://github.com/iamyoginth'}"""LicenseMITYoginth
Package: gh-util
gh_utilA minimal Python library for interacting with GitHub's API, usinghttpxandPydantic.Installationpipinstallgh_utilEither setGH_UTIL_TOKENorGITHUB_TOKENas an env var or in a.envfile to enable authenticated requests and increase your rate limit.UsageGet the current user's GitHub profilefromdevtoolsimportdebugfromgh_util.clientimportGHClientfromgh_util.typesimportGitHubUserasyncdefget_current_user()->GitHubUser:asyncwithGHClient()asclient:response=awaitclient.get("/user")returnGitHubUser.model_validate(response.json())if__name__=="__main__":importasynciodebug(asyncio.run(get_current_user()))Output# [01/22/24 00:23:18] DEBUG    gh_util.client: AUTH: Using GitHub token set in environment via `GH_UTIL_TOKEN`<ipython-input-1-8745118bb0ba>:12<module>asyncio.run(get_current_user()):GitHubUser(login='zzstoatzz',url=Url('https://api.github.com/users/zzstoatzz'),id=31014960,node_id='MDQ6VXNlcjMxMDE0OTYw',avatar_url='https://avatars.githubusercontent.com/u/31014960?v=4',gravatar_id='',html_url='https://github.com/zzstoatzz',followers_url='https://api.github.com/users/zzstoatzz/followers',following_url='https://api.github.com/users/zzstoatzz/following{/other_user}',gists_url='https://api.github.com/users/zzstoatzz/gists{/gist_id}',starred_url='https://api.github.com/users/zzstoatzz/starred{/owner}{/repo}',subscriptions_url='https://api.github.com/users/zzstoatzz/subscriptions',organizations_url='https://api.github.com/users/zzstoatzz/orgs',repos_url='https://api.github.com/users/zzstoatzz/repos',events_url='https://api.github.com/users/zzstoatzz/events{/privacy}',received_events_url='https://api.github.com/users/zzstoatzz/received_events',type='User',site_admin=False,name='nate nowack',company='@PrefectHQ ',blog='askmarvin.ai',location='Chicago, IL',email='nate@prefect.io',hireable=None,bio=('data + software engineering @ Prefect\r\n''\r\n''building PrefectHQ/marvin'),twitter_username=None,public_repos=52,public_gists=23,followers=47,following=12,created_at='2017-08-14T18:02:41Z',updated_at='2024-01-17T14:34:54Z',private_gists=15,total_private_repos=6,owned_private_repos=6,disk_usage=179750,collaborators=0,two_factor_authentication=True,plan={'name':'pro','space':976562499,'collaborators':0,'private_repos':9999,},)(GitHubUser)Read a GitHub issue and its commentsfromgh_util.functionsimportfetch_repo_issuefromgh_util.printimportprint_repo_issueasyncdefmain():issue=awaitfetch_repo_issue("prefecthq","marvin",723,include_comments=True)print_repo_issue(issue)if__name__=="__main__":importasyncioasyncio.run(main())Output
Package: gh-utils
GH UtilitiesA collection of useful utilities that work with GitHub CLIgh.GH UtilitiesInstallationpipxpipUtilitiesghcrarFeaturesUsageScreenshotsghshsUsageScreenshotDevelopInstallationpipxThis is the recommended installation method.$ pipx install gh-utilspip$ pip install gh-utilsUtilitiesghcrarShort forgh_create_repo_and_add_to_remoteFeaturesCustom GitHub instance hostname support with--hostnameSupports bothsshandhttpsprotocolsUsage$ ghcrar --help

usage: ghcrar [-h] [-a SUFFIX] [-n GITHUB REPO NAME] [--public] [--overwrite-remote-origin] [-H {ssh,https}] [-p PROTOCOL] [-S] [-V]

Create a GitHub repo with gh and add it as a remote

options:
  -h, --help            show this help message and exit
  -a SUFFIX, --append SUFFIX
                        String to append to the repo name (default: None)
  -n GITHUB REPO NAME, --name GITHUB REPO NAME
                        The string to use as GitHub repo name, or <user|org>/<repo-name> with a slash (default: None)
  --public              Create a public repository (default: False)
  --overwrite-remote-origin, --force
                        Overwrites remote origin if exists (default: False)
  -H {ssh,https}, --hostname {ssh,https}
                        GitHub hostname, default to use the first entry in hosts.yml (default: github.com)
  -p PROTOCOL, --protocol PROTOCOL
                        git protocol (default: ssh)
  -S, --no-set-default  Do not run `gh repo set-default` (default: False)
  -V, --version         show program's version number and exitScreenshotsghshsghswitch betweenhttps andsshUsage$ ghshs --help

usage: ghshs [-h] [-r REMOTE] [-V]

Switch between HTTPS and SSH types of GitHub remotes

options:
  -h, --help            show this help message and exit
  -r REMOTE, --remote REMOTE
                        Name of the remote to switch (default: origin)
  -V, --version         show program's version number and exitScreenshotDevelop$ git clone https://github.com/tddschn/gh-utils.git
$ cd gh-utils
$ poetry install
Package: ghutter
GHutterGHutteris a tool to recreate the history graph of a GitHub repository in Graphviz's Dot LanguageInstallGhutteris available on PyPIpipinstallghutterUsageusage: python -m ghutter [-h] [-t TOKEN] [--max-commits MAXCOMMITS] [-d DOTOUTPUT] [-o DRAWOUTPUT] repository

'GHutter' is a tool to recreate the history graph of a GitHub repository in Graphviz's Dot Language

positional arguments:
  repository            github repository in format "owner/repository" or url

options:
  -h, --help            show this help message and exit
  -t TOKEN, --token TOKEN
                        github personal access token
  --max-commits MAXCOMMITS
                        max number of commits to fetch from the history. If it is omitted it tries to fetch the whole
                        history (parents will always be shown)
  -d DOTOUTPUT, --dot-output DOTOUTPUT
                        graph dot file output path (default 'history.dot')
  -o DRAWOUTPUT, --draw-output DRAWOUTPUT
                        graph render output path (there may be several). Check 'Graphviz' supported formats on your
                        systemExamplepython-mghutter-t<token>--max-commits1000-dhistory_graph.dot-ohistory.svg-ohistory.pngarchlinux/linuxLicenseThis project is licensed under the terms of the GPL-3.0 license.
Package: gh-video-scope
OverviewTheVideoInfoclass is a comprehensive utility designed for handling
and extracting detailed information and metadata from video files. It
integrates with various subsystems to provide a wide range of data,
including audio, video, format, and data stream metadata, as well as
video thumbnails and timecode information.FeaturesVideo Handling: Open and close video files, extracting basic
stream information.Metadata Extraction: Extract detailed metadata for video, audio,
and data streams.Thumbnail Generation: Generate thumbnails for video files based
on a specified size factor.Timecode Analysis: Calculate and provide timecode information for
the video.ComponentsThe class is composed of several components that work together to
provide a comprehensive set of information about a video file: -IVideoHandler: Interface for handling basic video operations. -IMetadataExtractor: Interface for extracting metadata from different
types of streams. -IThumbnailGenerator: Interface for generating
thumbnails from video frames.UsageTo use theVideoInfoclass, initialize it with the required handlers
and extractors specific to your video file’s needs. Once instantiated,
you can access various properties and methods to retrieve video
information and metadata.video_info=VideoInfo(video_handler,audio_metadata_extractor,video_metadata_extractor,format_metadata_extractor,data_metadata_extractor,thumbnail_generator)print(video_info.fps)# Access frame rateprint(video_info.width)# Access video widthprint(video_info.height)# Access video heightConclusionTheVideoInfoclass is a robust and flexible solution for anyone
looking to extract detailed information and metadata from video files.
With its comprehensive set of features and easy-to-use interface, it’s
an invaluable tool for developers working in video processing, editing,
and analysis.Note: This documentation is based on the provided class definition and
should be updated as the class evolves.
Package: gh-webhooks
Typed event handling for GitHub WebhooksThis library provides types for using GitHub Webhook events in Python, and a class for registering event handlers for each event type.An example using FastAPI:fromfastapiimportFastAPI,Requestfromgh_webhooksimportGhWebhookEventHandlerfromgh_webhooks.typesimportBranchProtectionRuleCreatedapp=FastAPI()event_handler=GhWebhookEventHandler()@event_handler.on(BranchProtectionRuleCreated)asyncdefhandle_new_branch_protection_rule(event:BranchProtectionRuleCreated):print(event.repository.name)@app.post("/payload")asyncdefhandle_webhook_payload(request:Request):event=awaitrequest.json()awaitevent_handler.handle_event(event)You can also see a basic example projecthere.Multiple handlers can be registered to the same event type, and they'll run concurrently.The types are auto-generated usingdatamodel-code-generator.
A GitHub action maintains these types automatically.Integration tests are also auto-generated from theexample eventsin the GitHub Webhook events spec docs.DevelopingInstallPoetryandpoetry installthe projectUseful CommandsNote: if Poetry is managing a virtual environment for you, you may need to usepoetry run poeinstead ofpoepoe autoformat- Autoformat codepoe lint- Lint codepoe test- Run testspoe docs- Build docspoe codegen- Generate typesReleaseRelease a new version by manually running the release action on GitHub with a 'major', 'minor', or 'patch' version bump selected.
This will create and push a new semver tag of the formatv1.2.3, which in turn will trigger an action to automatically publish a new version to PyPI.Optionally create a release from this new tag to let users know what changed.
Package: gh-whid
gh-whidUse ChatGPT to summarize your work on a daily or weekly basis.
使用ChatGPT来生成你的日报和周报。whidstands for"What Have I done". This tool is to summarize your latest work on GitHub based on your Pull Request description with ChatGPT.UsageCreate a personal access token according to theGitHub documentation.Create an OpenAI secret key via thisaccount page.Install and run# installationpipinstallgh-whid# generate work summary for todaywhid# generate work summary for the last n days# a large value for n might lead to ChatGPT request rejected# as it exceeds the max number of tokens allowed for promptwhid-dnThe credentials are stored in~/.cache/whid/credentials.json, do take care of this file and set expiry date on your credentials.Sample output will be like:===== ChatGPT Output =====
Summary:

- Updated the README
- Added an OpenAI Query demo
- Added a command line tool
- Added the release to PyPI workflow
- Updated the documentation
- Updated the release workflow

总结:

1. 更新README
2. 添加OpenAI查询演示
3. 添加命令行工具
4. 添加发布到PyPI的工作流
5. 更新文档
6. 更新发布工作流
Package: ghx
Run scripts from GitHub,npx-style.Usageghx rshk/ghx-exampleIn its most basic form, it will make a shallow copy of the specified
GitHub repository and run a script from it.By default, it will look for an executable namedbin/runinside
the repo folder.Run a different script:ghx rshk/ghx-example/bin/twoOr from a different branch:ghx -b foobar rshk/ghx-exampleInstallationYou need a Python 3 interpreter and pip installed.pip install ghxOr install in the user home directory (usually~/.local):pip install --user ghx(Make sure you have~/.local/binin yourPATH)
Package: giantbomb
UNDER MIT LICENSECopyright (C) 2011-2012 Leandro Voltolinoxupisco@gmail.comPermission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the
“Software”), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.Python wrapper for Giantbomb API!Get your API Key at http://api.giantbomb.comBasic usage:import giantbomb
gb = giantbomb.Api('YOUR_KEY')Current Methods:search(str, offset)getGame(game_id)getGames(platform_id, offset)getVideo(video_id)getPlatform(platform_id)getPlatforms(offset)getFranchise(franchise_id)getFranchises(offset)Everything returns an object:Examples:import giantbomb
gb = giantbomb.Api('YOUR_KEY')

games = gb.getGames(94, 12300) // 94 = PC
print games

>>> [<29220: Zero Gear>, <29234: Pro Cycling Manager: Season 2010>,
     <29238: Allods Online>, <29240: Hammerfight>, <29247: Sacraboar>,
     <29249: POWDER>, <29257: Grand Fantasia>, ...]

------------------------------------------------------------------------------

results = gb.search('call of duty')
print results

>>> [<26423: Call of Duty: Black Ops>, <2133: Call of Duty 4: Modern Warfare>,
     <20777: Call of Duty: World at War>, ...]

game = gb.getGame(26423) // or gb.getGame(results[0])
for p in game.platforms:
    print p.name

>>> PlayStation 3
    Wii
    Nintendo DS
    PlayStation Network (PS3)
    Xbox 360
    PCYep, that’s it!Hugs!
Package: giantbomb-redux
GiantBomb-ReduxA modern Python wrapper for the Giantbomb API. Forked fromxupisco's initial API wrapper and since (poorly) rewritten for Python 3.7.Please use it to make cool stuff, and feel free to slide into the issue tracker if you have suggestions for improvements. Pull requests welcome!Get your API Key athttps://giantbomb.com/api/Usage:import giantbomb  
gb = giantbomb.Api('YOUR_KEY', 'YOUR_USER_AGENT')Examples:fromgiantbombimportgiantbombgb=giantbomb.Api('<YOUR API KEY>','API test')# Search for gamessearch_results=gb.search('Jet Set Radio')print(search_results)# Outputs: [<20096: Jet Grind Radio>, <12117: JSRF: Jet Set Radio Future>, <40601: JetSet Secrets>, <17531: Jet Set Willy: Online>, <42406: Radio the Universe>, <5005: Jet Set Willy>, <2633: Jet>, <46238: Jet-Getters>, <73975: SoulSet>, <47155: Jet Gunner>]# Get Game datagame_data=gb.get_game(20096)print(game_data)# Outputs:# List Platformsplatforms=gb.list_platforms()print(platforms)# Outputs: [<1: Amiga>, <3: Game Boy>, <4: Game Boy Advance>, <5: Game Gear>...]# Get a specific platformplatform=gb.get_platform(37)print(platform)# Outputs: <37: Dreamcast># List genresgenres=gb.list_genres()print(genres[0])# Outputs: Genre(id=1, guid='3060-1', name='Action'...
Package: giant-errorpages
Giant Error PagesA small package to trigger specific non-200 HTTP responses. This is useful for previewing your error pages while DEBUG=True. Once enabled, you will be able to access three new routes:/errors/404/, which will return a 404 response and error page./errors/403/, which will return a 403 response and error page./errors/500/, which will return a 500 response and error page.InstallationTo install with Poetry, run:$ poetry add giant-errorpagesYou should then add"errorpages"to theINSTALLED_APPSin your settings file. Finally, update your rooturlpatternsto include:path("errors/", include("errorpages.urls"), name="errorpages"),Preparing for releaseIn order to prepare the package for a new release on TestPyPi and PyPi, you need to update the version number in thepyproject.toml. The version numbering must also follow the Semantic Version rules which can be found herehttps://semver.org/.PublishingOnce the version number has been updated, run:$poetry buildThis will package the project ready for publication:$poetry publish...will then publish the package to PyPi. You will need to enter the username and password for the account which can be found in the company password manager.
Package: giant-events
Giant EventsA re-usable package which can be used in any project that requires a genericEventsapp.This will include the basic formatting and functionality such as model creation via the admin.InstallationTo install with the package manager, run:$ poetry add giant-eventsYou should then add"events", "easy_thumbnails" and "filer"to theINSTALLED_APPSinbase.py.ConfigurationThis application exposes the following settings:EVENT_ADMIN_LIST_DISPLAYis the field list for the admin index. This must be a listEVENT_ADMIN_FIELDSETSallows the user to define the admin fieldset. This must be a list of two-tuplesEVENT_ADMIN_READONLY_FIELDSallows the user to configure readonly fields in the admin. This must be a listEVENT_ADMIN_SEARCH_FIELDSallows the user to configure search fields in the admin. This must be a listEVENT_ADMIN_FILTER_FIELDSallows the user to configure filter fields in the admin. This must be a listBy default the app will use the templates that are defined inside the app directory itself. However if you wish to override which template is used you will need to create a directory in the projects template directory
The structure should look something like this:templates/
    events/
        index.html
        detail.htmlURLsAdd the following tocore.urlsfor general functionality:path("events/", include("events.urls"), name="events"),If you want to customize the urls to include a different path and/or templates, first you must importfrom events import views as event_viewsincore.urlsand then you could add the following:path("events/", event_views.EventIndex.as_view(template_name="event/index.html"), name="event-index"),
path("events/<slug:slug>/", event_views.EventDetail.as_view(template_name="event/detail.html"), name="event-detail"),Preparing for releaseIn order to prep the package for a new release on TestPyPi and PyPi there is one key thing that you need to do. You need to update the version number in thepyproject.toml.
This is so that the package can be published without running into version number conflicts. The version numbering must also follow the Semantic Version rules which can be found herehttps://semver.org/.PublishingPublishing a package with poetry is incredibly easy. Once you have checked that the version number has been updated (not the same as a previous version) then you only need to run two commands.$ `poetry build`will package the project up for you into a way that can be published.$ `poetry publish`will publish the package to PyPi. You will need to enter the username and password for the account which can be found in the company password manager
Package: giant-mixins
Giant MixinsProvides commonly used functionality in a neat package to help keep our codebases DRY.InstallationTo install the standard app with no extras simply run$ poetry add giant-mixinsHowever if your project has django-cms installed then you can make use of the full range of mixins in this app. For this, install the package with the extra dependencies,$ poetry add giant-mixins --extras "cms"You should then add"mixins"to theINSTALLED_APPSin your settings file.
Package: giant-newsletter
Giant NewsletterA re-usable package which can be used in any project that requires a genericNewletterapp.This will include the basic formatting and functionality such as model creation via the admin and email sending.InstallationTo install with the package manager, run:$ poetry add giant-newsletterYou should then add"newsletter"to theINSTALLED_APPSin your settings file and to theMakefile.Inbase.pythere should also be aDEFAULT_FROM_EMAILand aDEFAULT_TO_EMAIL. This is used by the email sending method.Context ProcessorIf you wish to use the Contact form with the context processor you will need to addnewsletter.context_processors.subscription_forminto theTEMPLATEScontext processors list. This will allow you to access the form in templates.ConfigurationNEWSLETTER_FORM_FIELDSallows the user to customise what fields are displayed on the form. This must be a listNEWSLETTER_FORM_FIELD_PLACEHOLDERSallows the user to customise the field placeholder text. This must be a dict containing the fieldnamesNEWSLETTER_FORM_REQUIRED_FIELDSallows the user to customise what fields are required on the form. This must be a listNEWSLETTER_FORM_LABELSallows the user to customise what the field labels are on the form. This must be a dict of field names and their corresponding labelNEWSLETTER_FORM_WIDGETSallows the user to customise what the field widgets are on the form. This must be a dict of field names and their corresponding widgetNEWSLETTER_HTTP_REFERERallows the user to customise the success url and return the user to the referer page after submission