A PowerShell dependency handler for managing module, file, and task dependencies via simple definition files.
PSDepend is a PowerShell dependency handler that automates the installation and management of dependencies for PowerShell projects. It allows users to define dependencies in a simple `requirements.psd1` file and execute them with a single command, similar to tools like Bundler for Ruby or pip for Python. This solves the problem of manually installing modules, files, or running setup tasks across different environments.
PowerShell developers and system administrators who need to manage dependencies for scripts, modules, or deployment automation, particularly in CI/CD pipelines or shared environments.
Developers choose PSDepend for its PowerShell-native design, ease of use with simple definition files, and extensibility through custom dependency types. It integrates seamlessly into existing PowerShell workflows without requiring external package managers.
PowerShell Dependency Handler
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Allows defining dependencies in easy PowerShell data files (e.g., requirements.psd1) with both shorthand and flexible syntax, as shown in the README examples for quick setup.
Supports PSGallery modules, GitHub repositories, file downloads, and custom tasks, enabling diverse dependency handling without external tools.
Users can create custom dependency types by adding scripts to the PSDependScripts folder and updating PSDependMap.psd1, detailed in the 'Extending PSDepend' section.
Handles authentication for private repositories using credential objects with a clear mapping system, as demonstrated in the README's repository credentials example.
The README explicitly warns about 'minimal testing' and advises pinning versions to avoid breaking changes, indicating potential bugs and instability.
Tied exclusively to PowerShell, limiting usefulness in mixed-language projects or environments where other package managers are preferred.
Extending with custom dependency types requires writing and maintaining PowerShell scripts, adding complexity compared to drop-in solutions.