Discover open-source dependency managers and library installers designed specifically for the PHP programming language ecosystem.
This project establishes a collection of interoperability standards for the PHP ecosystem. It defines common technical specifications to ensure that separate software projects and libraries can work together without compatibility issues. The standards cover a variety of core domains, including specifications for class autoloading through namespace-to-path mapping, shared coding style guides for codebase uniformity, and common component interfaces for services such as logging and caching. It also defines shared specifications for network communication to ensure consistent interactions between different clients and servers. These standards are developed through a formal proposal workflow involving community review and consensus to move technical recommendations to approved status.
uv is a high-performance Python package manager and project build tool designed to handle dependency resolution, virtual environment orchestration, and Python interpreter management. It functions as a comprehensive workspace orchestrator, enabling developers to manage complex, multi-package repositories and ensure reproducible builds across different platforms. The tool distinguishes itself through its use of a global, content-addressable cache and hard-link-based environment provisioning, which allow for near-instant environment creation and minimal disk usage. It employs a high-performance solver to satisfy complex dependency graphs and supports ephemeral script execution, allowing users to run standalone Python scripts with ad-hoc dependencies without manual setup. Beyond core package management, the project provides a unified command-line interface that integrates with CI/CD pipelines and supports common workflows like building distributions and managing private package indexes. It maintains compatibility with standard tools, offering a drop-in replacement for common environment and package management commands. Comprehensive documentation is available on the project website, covering installation guides, command references, and configuration settings for various development and production environments.
This is a package manager specifically built for the Python ecosystem, making it incompatible with the PHP dependency management requirements you are looking for.
pip-tools is a set of command line utilities for compiling high-level Python dependency lists into pinned requirements files. It functions as a dependency lock tool and requirements compiler that resolves transitive dependencies to produce a deterministic list of packages. The project enables the maintenance of separate production and development dependency layers through layered requirement constraints. It supports targeted package upgrades and the generation of content hashes to verify package integrity during installation. The toolset covers dependency locking, version updates, and virtual environment synchronization to ensure a project installs consistently across different machines. It aligns installed packages with a pinned requirements file by adding, removing, or upgrading versions as needed.
Homebrew is a command-line package management tool designed to automate the installation, configuration, and maintenance of software on local development environments. It functions as a cross-platform software distributor, enabling users to install tools from pre-compiled binary archives or source code without requiring administrative privileges. By managing complex dependency trees and versioning, it ensures that software remains consistent and compatible across different system architectures. The project distinguishes itself through a declarative approach to system configuration, allowing users to define and synchronize their desired software state using a domain-specific language. It leverages version-controlled repositories for package definitions, which facilitates decentralized community contributions and modular management. To maintain system integrity, it executes installations within sandboxed environments and utilizes shim-based wrappers to dynamically manage environment paths, preventing system-wide pollution while providing on-demand installation suggestions. Beyond core package management, the framework provides extensive utilities for development environment orchestration. It supports isolated runtimes for various programming languages, manages environment variables, and offers tools for auditing build integrity and automating package updates. The system also includes features for exporting and importing configuration states, enabling reproducible environments across different machines.
Homebrew is a general-purpose system package manager for macOS and Linux, not a language-specific tool for managing PHP project dependencies and autoloading.
Cargo is the official build system and package manager for the Rust programming language. It provides a unified command-line interface that orchestrates the entire development lifecycle, including compiling source code, managing complex dependency graphs, running tests, and distributing packages through a centralized registry. By utilizing declarative manifest files, it ensures that builds remain reproducible and consistent across different environments. The tool distinguishes itself through its deep integration with the Rust compiler and its sophisticated approach to project management. It features a content-addressable build cache that enables incremental compilation, and it employs a jobserver-based protocol to coordinate parallel execution across system processes. Furthermore, it supports workspace-based orchestration, allowing developers to group multiple related packages into a single unit to share build artifacts, configuration settings, and dependency resolution logic. Beyond core compilation, the project offers a comprehensive suite of capabilities for managing the development environment. This includes support for custom build scripts that can dynamically generate code or link native libraries, as well as granular control over build profiles and target-specific configurations. It also provides extensive tooling for analyzing dependency relationships, enforcing version compatibility, and automating the publication of software components to remote registries. The project is distributed as a command-line tool and is designed to be installed as part of the standard Rust development toolchain.
Swift Package Manager is a build tool, dependency manager, and registry client for the Swift language. It transforms source files and external dependencies into executable binaries or libraries and manages the resolution, download, and integration of external code libraries. The project provides a client for publishing and versioning signed code packages via a remote registry, ensuring identity verification through digital signing. It also includes a source code formatter to standardize code style and indentation. The system covers a broad range of capabilities including modular code distribution, cross-platform SDK management, and project compilation. It manages build automation through target-level configurations and maintains a stable environment by resolving package dependencies and preventing circular references. Security is handled through checksum-based integrity verification for remote SDK bundles.
npm-check-updates is a command line utility and programmatic module used to check for newer versions of npm packages and update project manifest files. It functions as a registry client and semantic version manager that upgrades package constraints to the latest releases. The tool distinguishes itself by including supply chain security features, such as a release cooldown period and package ownership tracking, to prevent the adoption of unstable or malicious new releases. It also provides a programmatic API for integrating dependency checks and upgrades directly into custom scripts. Broad capabilities include automated dependency upgrades, recursive manifest scanning for monorepos, and interactive package selection. The tool supports version target specification via distribution tags, peer dependency compatibility validation, and filtering via regular expressions or organization scopes. It can also fetch version data from custom registries or local JSON mirrors.
The Windows Package Manager is a command line tool for discovering, installing, upgrading, and configuring software packages on Windows operating systems. It functions as a CLI software installer for automating the deployment and update of applications across individual or machine-wide user profiles. The project extends its functionality through a component object model interface for integration into other Windows applications and a set of native cmdlets that allow system administrators to manage software installation via PowerShell scripts. The tool covers a broad range of package lifecycle capabilities, including software discovery across multiple sources, package source management, and application update management. It also handles machine-wide software provisioning to ensure applications are available for all user profiles on a device.
Gitea is a self-hosted service designed for managing version control repositories, project issue tracking, and software artifact distribution. It provides a collaborative platform that enables teams to host their own source code, manage development tasks through integrated project boards, and store container images or language-specific packages within a unified environment. The platform distinguishes itself through a built-in automation engine that executes continuous integration and delivery pipelines directly triggered by repository events. It utilizes a background task queue to manage asynchronous operations and interacts directly with the file system for repository storage, ensuring data integrity while maintaining a lightweight footprint. Administrators can oversee the entire instance through a web-based dashboard or via programmatic access to system metadata and configuration. The application architecture supports modular expansion through a plugin-based extension system and processes requests through a middleware-driven pipeline. It is designed for flexible deployment, allowing users to compile the source code into a single executable binary that includes all necessary frontend assets and configuration defaults.
This project is a JavaScript optimizer, minifier, module bundler, transpiler, and static analysis tool. It provides a compilation pipeline designed to shrink file sizes and improve runtime performance. The system utilizes a multi-pass compilation process to perform dead code elimination, global name mangling, and static type inference. It identifies unreachable functions and unused variables to reduce the final output size and detects potential runtime errors without executing the code. The tool manages assets through dependency resolution, code chunking, and bundle management. It ensures compatibility across different environments by transpiling modern language features into older versions and injecting necessary polyfills. Additional capabilities include the generation of source maps for debugging, static code analysis to enforce coding standards, and utilities for user message localization.
Bundler is a Ruby dependency manager that resolves gem versions and locks them in a lockfile so every machine installs the same set of dependencies. It manages package sources, provides environment diagnostics, and wraps commands and consoles to run inside a consistent gem context, preventing version mismatches across development, testing, and production. Unlike a simple package installer, Bundler uses a SAT solver to find a consistent set of gem versions satisfying all constraints, segregates authentication secrets from source URLs, and enforces platform-specific dependency filtering. Its lock file freezes exact versions as the source of truth, and the CLI supports running arbitrary commands within the resolved dependency context, starting a console with all gems pre-loaded, generating wrapper scripts and standalone executables, scaffolding new projects, and inspecting package inventory and compatibility. The tool also offers extensive configuration and extension capabilities: custom build flags for native extensions, configurable cache and plugin directories, source mirrors with fallback timeouts, private source credential storage, and remote repository overrides. Diagnostic commands check runtime environment, SSL connectivity, and common dependency problems, while dependency management covers adding, removing, updating, grouping by environment, caching offline, verifying consistency, and cleaning up unused packages. Bundler is distributed as a Ruby gem and invoked from the command line. Its documentation covers installation, configuration, and the full command reference.
Berry is a Node.js package manager, dependency resolution engine, and monorepo workspace manager. It provides the tools necessary for resolving, downloading, and managing dependencies to ensure consistent environments across different development machines, while also serving as a publishing tool for uploading versioned package tarballs to registries. The project is distinguished by its implementation of Plug'n'Play, which resolves dependencies without creating a physical node_modules directory by mapping dependencies directly to the file system. This enables a zero-install development workflow where a local package cache is stored within version control, allowing projects to run immediately after checkout without executing installation commands. The manager covers a broad surface of capability areas, including monorepo coordination through workspace management, secure package distribution with vulnerability auditing and integrity verification, and a plugin-based architecture for extending core functionality. It also includes tools for third-party package patching, dependency constraint enforcement, and the management of package lifecycles and versioning.
Renovate is a GitOps-driven dependency management engine designed to automate the maintenance of software projects. It functions as an automated update tool that scans repository files to identify outdated dependencies, fetches the latest compatible versions from external sources, and generates pull requests to apply those updates. By integrating directly with code hosting platforms, it synchronizes project dependencies through declarative configuration files, ensuring that software components remain current and secure. The project distinguishes itself through its platform-agnostic architecture and comprehensive policy enforcement capabilities. It utilizes a hierarchical configuration system that allows for the propagation of standardized update policies across multiple repositories, while supporting custom dependency extraction for non-standard or proprietary file formats. To ensure reliability, it incorporates confidence signals derived from community data and provides intelligent automerge logic that triggers only when updates meet specific safety criteria. Beyond core updates, the tool manages the full lifecycle of infrastructure components, including container image tags and pipeline versions. It handles complex tasks such as lockfile synchronization by invoking native build tools in isolated environments, and it maintains supply chain security by monitoring for abandoned packages and integrating with private package registries. The system also offers granular control over update scheduling, grouping, and reviewer assignment to minimize developer overhead. Renovate is distributed as a containerized application or package, supporting deployment across various infrastructure environments. It provides extensive observability through operational dashboards, debug log visualization, and status check labeling to assist in monitoring the health and progress of automated update workflows.
Rollup is an ES module bundler and JavaScript module transpiler. It functions as a build tool that combines JavaScript modules into optimized files and converts modern JavaScript and JSX into various output formats for different runtime environments. The project is distinguished by its static-analysis tree shaking engine, which removes unused code and dead exports to minimize bundle size. It also acts as a code splitting orchestrator, partitioning modules into separate chunks to optimize network requests and load times. The tool provides a hook-based plugin system for extending build logic, transforming source code, and managing module resolution. Additional capabilities include multi-format output generation for library distribution, source map generation for debugging, and a command-line interface with file system watching.
Rolldown is a high-performance JavaScript and TypeScript module bundler written in Rust. It functions as a fast module compiler that implements a Rollup-compatible API to ensure compatibility with existing workflows and plugins while specializing in ECMAScript Module formats. The project distinguishes itself by using a Rust-based core engine and lazy compilation to reduce the time spent resolving and transforming source code. It focuses on minimizing final delivery sizes through static analysis and tree-shaking to remove unused code. The toolset covers a broad range of build capabilities, including module resolution management, code splitting, and multi-format output generation. It also provides developer experience features such as hot module replacement, file change watching, and source map generation for debugging. The project provides a hook-based plugin architecture that allows for custom logic injection during the resolution, loading, and transformation stages.
Deno is a high-performance runtime for JavaScript and TypeScript that prioritizes security and developer productivity. Built on the V8 engine, it provides a secure execution environment that enforces a default-deny security model, requiring explicit user authorization for access to system resources like the file system, network, and environment variables. The runtime natively supports modern web-standard APIs, ensuring consistent behavior and portability across different environments. What distinguishes Deno is its integrated approach to the software development lifecycle. It bundles essential utilities—including a formatter, linter, test runner, and dependency manager—directly into the runtime, eliminating the need for external build tools or complex transpilation steps. The platform features a universal module resolution system that supports remote HTTPS URLs, local paths, and standard package registries, all backed by lockfiles to ensure build determinism and supply chain security. Beyond its core runtime capabilities, Deno includes a built-in, persistent key-value database engine that supports atomic transactions and reactive data monitoring. It also provides a robust compatibility layer for the Node.js ecosystem, allowing for the seamless execution of legacy modules and native binary addons. For multi-tenant or distributed applications, the runtime offers isolated sandbox environments that manage resource constraints and security boundaries, facilitating secure code execution in shared infrastructure. The project is distributed as a single binary, providing a unified toolchain for managing dependencies, executing tasks, and configuring runtime security policies.
This project is a Ruby-based package definition repository that functions as a cross-platform package manager and software dependency resolver for macOS and Linux. It provides a centralized system for installing, updating, and managing software through a Git-based distribution model. The system distinguishes itself through a binary package distribution network that produces pre-compiled bottles to avoid local compilation from source. It utilizes a Ruby-based domain specific language to define installation recipes and employs a distributed version control architecture to synchronize these definitions across a global network of users. The project covers a broad surface of capabilities including declarative dependency resolution, checksum-based integrity verification, and sandbox-isolated build processes. It also includes tools for background service management, automated package maintenance, and the integration of third-party repositories. The repository contains the collection of installation recipes and dependency specifications used to automate software provisioning.
Bun is a high-performance runtime environment designed to execute JavaScript and TypeScript applications with minimal latency and high throughput. Built on a native core implemented in Zig, it provides a unified execution engine that leverages JavaScriptCore for efficient memory management and low-latency startup. The project functions as an all-in-one toolchain, integrating a native bundler, transpiler, package manager, and test runner into a single command-line interface. What distinguishes Bun is its focus on native system integration and developer productivity. It features a high-performance server runtime with built-in support for HTTP, WebSockets, and SQLite database management, allowing for the creation of scalable network applications without external dependencies. The platform includes a sophisticated build pipeline that supports incremental bundling, build-time macro execution, and the generation of standalone, cross-platform binaries. It also provides a low-level foreign function interface, enabling direct execution of native C and C++ libraries to bypass traditional runtime bottlenecks. The project covers a broad capability surface, including automated task scheduling, file-system-based routing, and comprehensive dependency management. It offers built-in utilities for cryptographic hashing, secure password verification, and real-time hot module replacement during development. Additionally, the runtime maintains compatibility with existing ecosystems by implementing standard APIs and module resolution patterns, facilitating seamless integration into existing workflows. Bun is distributed as a command-line tool that manages the entire application lifecycle, from dependency installation and auditing to production asset building and binary distribution.
Pixi is a conda environment manager that creates reproducible, lock-file-backed environments with cross-platform support and multi-language dependency resolution. It combines package management from both conda-forge and PyPI simultaneously, coordinating their dependency graphs to prevent conflicts, while pinning every transitive dependency to exact versions in a cross-platform lock file for bit-for-bit identical environments across machines. The project distinguishes itself by also functioning as a cross-platform task runner that executes user-defined commands and multi-step pipelines inside isolated project environments on Linux, macOS, and Windows. It provides a workspace manager for handling multiple sub-projects with their own manifests and dependencies within a single repository, and supports installing command-line tools in isolated environments so they are available system-wide without conflicting with project dependencies. A dedicated GitHub Actions action caches and restores conda environments using lock-file hashes to speed up CI workflows. The tool manages multiple isolated environments within a single manifest, each with its own dependency set for different workflows or tools. It supports initializing new project directories with a manifest file and directory structure from a single command, and allows defining cross-platform commands with arguments, dependencies, working directory, and environment variables that execute in the workspace. Authentication against package registries is supported using tokens, username and password, conda tokens, S3 keys, or keyring. Documentation covers installation, project initialization, dependency management, environment composition, task execution, CI integration, and global tool installation across all supported platforms.
This project is a comprehensive reference guide and technical documentation for the features, syntax updates, and APIs introduced in ECMAScript 6. It serves as a language specification and overview for modern JavaScript development. The guide covers a wide range of language enhancements, including the implementation of classes and prototype-based inheritance, the use of arrow functions for lexical scope binding, and the introduction of block-scoped variables. It details the module system for organizing independent code components via import and export statements. The documentation extends to advanced capabilities such as asynchronous programming with promises, lazy sequence generation using generators, and meta-programming through proxies and reflection. It also covers specialized data structures like maps and sets, destructuring patterns for data extraction, and the handling of Unicode characters. The resource provides technical explanations for optimizing recursive calls through tail-call optimization and securing object properties using symbol primitives.