# How to find all package we can Needs

We can encounter that interesting package sometimes,like GUIKit,but I don't know how to find those.I can found that package which has been default loaded

Union[Select[GeneralUtilitiesSymbolNameContext /@
GeneralUtilitiesExtendedNames[All], StringCount[#, ""] == 1 &]]


{Algebra,AlphaIntegration,Assumptions,AssumptionsDump,Audio,AugmentedData,BinningUtilities,BoxForm,BoxFormat,BrowserCategoryLoad,Calendar,CCodeGenerator,CCompilerDriver,Charting,Clipboard,CloudObject,CloudSystem,Compile,Compiler,ComplexAnalysis,Conditional,ConsoleWindow,Control,ControlSystems,Conversion,CUDAInformation,Data,Database,DatabaseLink,DataPaclets,Dataset,DateAndTime,Debug,Debugger,Deconvolve,Developer,...}

But It's don't include GUIKit.So how to find those package which have not been default loaded but exist in my local disk?

• You can find source code of many packages if you evaluate SystemOpen@FileNameJoin[{$InstallationDirectory, "AddOns"}] . In the subfolder "Packages" there is also GUIKit package. – Pinti Mar 13 '17 at 13:53 • @Pinti Oh,I find that,so this folder contain all package we can Needs? – yode Mar 13 '17 at 13:56 • I think Needs looks for packages in all folders listed in $Path. – Pinti Mar 13 '17 at 14:06
• @Pinti Thanks for your explanation,I thinks if you compose it for read,I will accepted that. – yode Mar 13 '17 at 14:07
• at least closely related: 133242 – Kuba Mar 13 '17 at 16:38

Needs by default searches for packages in folders listed in $Path. One of the elements of $Path is also FileNameJoin[{\$InstallationDirectory, "AddOns"}] where you can find source code of many additional packages that come with Mathematica but are not part of System` context.