### Installation Source: https://github.com/spatie/packagist-api/blob/main/README.md Installs the spatie/packagist-api package using Composer. ```bash composer require spatie/packagist-api ``` -------------------------------- ### Get Statistics Source: https://github.com/spatie/packagist-api/blob/main/README.md Fetches overall statistics from the Packagist API. ```php $packagist->getStatistics(); ``` -------------------------------- ### Get Package Download Stats Source: https://github.com/spatie/packagist-api/blob/main/README.md Retrieves download statistics for a given package. ```php $packagist->getPackageDownloadStats('spatie/packagist-api'); $packagist->getPackageDownloadStats('spatie', 'packagist-api'); ``` -------------------------------- ### Get Package Data Source: https://github.com/spatie/packagist-api/blob/main/README.md Fetches package data using Composer metadata (faster, less data) or the Packagist API (slower, cached). Supports fetching metadata for dev branches. ```php // Using the Composer metadata. (faster, but less data) $packagist->getPackageMetadata('spatie/packagist-api'); $packagist->getPackageMetadata('spatie', 'packagist-api'); // Using the Composer metadata for dev branches. $packagist->getPackageMetadata('spatie', 'packagist-api', true); // Using the API. (slower, cached for 12 hours by Packagist. $packagist->getPackage('spatie/packagist-api'); $packagist->getPackage('spatie', 'packagist-api'); ``` -------------------------------- ### Get Security Vulnerability Advisories Source: https://github.com/spatie/packagist-api/blob/main/README.md Retrieves security advisories for specified packages. Supports filtering by update timestamp and specific package versions. ```php // Get advisories for specific packages $packages = ['spatie/packagist-api']; $advisories = $packagist->getAdvisories($packages); // Get advisories for specific packages that were updated after some timestamp $packages = ['spatie/packagist-api']; $advisories = $packagist->getAdvisories($packages, strtotime('2 weeks ago')); // Get advisories only for specific versions of specific packages $packages = ['spatie/packagist-api' => '2.0.2']; $advisories = $packagist->getAdvisoriesAffectingVersions($packages); ``` -------------------------------- ### Client Initialization Source: https://github.com/spatie/packagist-api/blob/main/README.md Initializes the PackagistClient by passing a Guzzle client and a PackagistUrlGenerator instance. ```php $client = new \GuzzleHttp\Client(); $generator = new \Spatie\Packagist\PackagistUrlGenerator(); $packagist = new \Spatie\Packagist\PackagistClient($client, $generator); ``` -------------------------------- ### Search Packages Source: https://github.com/spatie/packagist-api/blob/main/README.md Searches for packages based on name, tags, or type. Supports combined search criteria and pagination. ```php // Search packages by name. $packagist->searchPackagesByName('packagist'); // Search packages by tag. $packagist->searchPackagesByTags('psr-3'); // Search packages by type. $packagist->searchPackagesByType('composer-plugin'); // Combined search. $packagist->searchPackages('packagist', ['type' => 'library']); // Get the third page, 10 items per page. $packagist->searchPackagesByName('packagist', 3, 10); ``` -------------------------------- ### List Popular Packages Source: https://github.com/spatie/packagist-api/blob/main/README.md Retrieves a paginated list of popular packages. Allows specifying page number and items per page. ```php // List first page of popular packages $packagist->getPopularPackages(); // Get the third page, 10 items per page. $packagist->getPopularPackages(3, 10); ``` -------------------------------- ### List Package Names Source: https://github.com/spatie/packagist-api/blob/main/README.md Fetches lists of package names from Packagist. Supports filtering by type or vendor. ```php // All packages $packagist->getPackagesNames(); // List packages by type. $packagist->getPackagesNamesByType('composer-plugin'); // List packages by organization $packagist->getPackagesNamesByVendor('spatie'); ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.