PSGalleryExplorer¶
What is PSGalleryExplorer?¶
PSGalleryExplorer is a PowerShell module that extends the search functionality of the PowerShell Gallery by providing additional project information about modules. This enables you to search, explore, and discover PowerShell Gallery modules based on additional criteria.
PSGalleryExplorer is not intended to replace Find-Module
. Rather, it complements it by providing a means to discover modules and gain insights into their associated project repositories. PSGalleryExplorer enables you to expand your exploration of the PowerShell Gallery, identifying new, trending, and modules with heavy community involvement.
Why PSGalleryExplorer?¶
To aid in the discoverability of modules in the PowerShell Gallery.
The current PowerShell Gallery search options are primarily limited to module name, and tags. CI/CD processes also inflate the download numbers of many modules on the gallery. This makes it challenging to get a sense of new or trending modules, or modules that the community is engaging with.
This project aims to increase the discoverability of modules on the PowerShell Gallery and encourage module exploration.
For example, when exploring what is available for adding message functionality, PSGalleryExplorer provides repo statistics on the associated projects (when available), such as star count and issues, giving you a better understanding of the module's community involvement and overall health.
To further enhance the discoverability of modules, PSGalleryExplorer now includes the Find-ModuleByCommand
function, which allows users to search for modules based on a specific command, even if the module is not installed locally. This feature provides an additional means to explore modules in the PowerShell Gallery and identify modules that contain specific commands that you may be interested in.
Find-Module
Example:
Find-Module -Tag message
Version Name Repository Description
------- ---- ---------- -----------
1.0.6 PSSlack PSGallery PowerShell module for the Slack API
2.3.0 PoshGram PSGallery PoshGram provides functionality to send various message t…
0.3.5 PSRabbitMq PSGallery Send and receive messages using a RabbitMQ server
1.1.0 Environment PSGallery Provides Trace-Message, and functions for working with En…
0.6.0 GitUtils PSGallery A set of functions for git tasks
0.0.1 Send-Message PSGallery Show popup message box on local or remote computers
0.0.8 PSRyver PSGallery Community PowerShell module for the Ryver API
1.0.0.0 MessageBox PSGallery Easy to use to create a popup message box
PSGalleryExplorer Example:
Find-PSGModule -ByTag message -IncludeCorps -IncludeRegulars
Name Downloads Star Fork Issues Sub Description
---- --------- ---- ---- ------ --- -----------
PSSlack 10390604 255 72 41 29 PowerShell module for the Slack API
PoshGram 81268 115 11 4 10 PoshGram provides functionality to send various message types to a specif…
PSRabbitMq 21769 42 28 2 9 Send and receive messages using a RabbitMQ server
Environment 2091 24 2 0 3 Provides Trace-Message, and functions for working with Environment and Pa…
GitUtils 783 A set of functions for git tasks
PSRyver 449 0 0 0 2 Community PowerShell module for the Ryver API
MessageBox 439 Easy to use to create a popup message box
Send-Message 411 Show popup message box on local or remote computers
Getting Started¶
Installation¶
# Install PSGalleryExplorer from the PowerShell Gallery
Install-Module -Name PSGalleryExplorer -Repository PSGallery -Scope CurrentUser
Quick start¶
#------------------------------------------------------------------------------------------------
# import the PSGalleryExplorer module
Import-Module -Name "PSGalleryExplorer"
#------------------------------------------------------------------------------------------------
# discover module info by tag
Find-PSGModule -ByTag Telegram
#------------------------------------------------------------------------------------------------
# discover PowerShell modules by # of Gallery Downloads
Find-PSGModule -ByDownloads
#------------------------------------------------------------------------------------------------
# discover the most recently updated modules on repo
Find-PSGModule -ByRecentUpdate RepoUpdate
#------------------------------------------------------------------------------------------------
# discover the most recently updated modules on the PowerShell Gallery
Find-PSGModule -ByRecentUpdate GalleryUpdate
#------------------------------------------------------------------------------------------------
# discover PowerShell modules by # of Gallery Downloads
# include corporate modules and common/popular modules in results
# return top 50
Find-PSGModule -ByDownloads -IncludeCorps -IncludeRegulars -NumberToReturn 50
#------------------------------------------------------------------------------------------------
# discover PowerShell modules by # of repo project stars
Find-PSGModule -ByRepoInfo StarCount
#------------------------------------------------------------------------------------------------
# discover PowerShell modules that could possibly use some help
Find-PSGModule -ByRepoInfo Issues
#------------------------------------------------------------------------------------------------
# discover PowerShell modules by # of repo project subscribers
Find-PSGModule -ByRepoInfo Subscribers
#------------------------------------------------------------------------------------------------
# discover a set of random modules
Find-PSGModule -ByRandom
#------------------------------------------------------------------------------------------------
# discover module info by name
Find-PSGModule -ByName 'PoshGram'
#------------------------------------------------------------------------------------------------
# Returns a list of modules that contain the command Send-TelegramTextMessage
Find-ModuleByCommand -CommandName 'Send-TelegramTextMessage'
#------------------------------------------------------------------------------------------------
How PSGalleryExplorer Works¶
PSGalleryExplorer uses a workflow to collect and serve information about module repositories. It scrapes repository data for modules that have public repositories, then aggregates and includes that data in an easy-to-read format.
Features¶
- Fully cross-platform and can be run on Windows, Linux, and macOS
- Discover modules based on various criteria such as number of downloads, stars, forks, and more
- Get insights into the community health of a module's repository, including information about open issues, license, and last updated date
- Identify modules that are actively being developed by filtering based on their most recent repository update date.
- Compliments existing tools like
Find-Module
to provide another way to explore modules on the PowerShell Gallery. - Identify up-and-coming or trending modules by comparing search results including and excluding popular and corporate modules
- PSGalleryExplorer provides a detailed, informative output of module results to help you quickly identify prime candidates for further exploration.
Find-ModuleByCommand
allows users to search for modules based on a specific command name, even if the module is not installed locally, providing a quick and easy way to locate modules containing the desired functionality.