Download the PHP package knplabs/packagist-api without Composer
On this page you can find all versions of the php package knplabs/packagist-api. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download knplabs/packagist-api
More information about knplabs/packagist-api
Files in knplabs/packagist-api
Package packagist-api
Short Description Packagist API client.
License MIT
Homepage http://knplabs.com
Informations about the package packagist-api
Packagist API
A simple, object oriented wrapper for the Packagist API.
Requirements
This package doesn't depend on a specific HTTP client. If your project doesn't have one yet,
php-http/discovery installs a well-known implementation
(such as guzzlehttp/guzzle) for you. To use a specific client, install it before this package:
Older PHP versions
| PHP version | Package version |
|---|---|
| 8.2+ | ^3.0 |
| 8.0, 8.1 | ~2.2.0 |
| 7.4 | ~2.1.0 |
Installation
Usage
Search for packages
Each result is a Packagist\Api\Result\Result, with getName(), getDescription(), getUrl(),
getRepository(), getDownloads() and getFavers().
Results can be filtered by vendor, type or tags:
By default all pages of results are fetched. Use limit to cap the number of pages:
Get package details
get() returns full package details, generated dynamically by the Packagist API. If you don't
need all the metadata, use getComposer() instead. It is cheaper for
Packagist to serve.
Get Composer metadata
getComposer() uses Composer metadata, which is Packagist's preferred way of serving package
details, since responses are cached as static files. It lacks some of the metadata that get()
provides. See the Packagist API documentation for details.
It returns an array of packages keyed by name, so select the one you asked for:
getComposer() returns both tagged releases and dev branches. To fetch only one of them, use
getComposerReleases() or getComposerBranches():
List all packages
The list can be filtered by type or vendor:
Request extra fields to get an array keyed by package name, instead of a list of names:
Popular packages
Security advisories
Pass a list of package names to get known security advisories, keyed by package name:
To only get advisories that affect the versions you use, pass versions as values and set
filterByVersion:
You can also only return advisories updated after a given Unix timestamp:
Custom Packagist repository
Custom HTTP client
By default, Client auto-discovers whichever PSR-18 HTTP client and PSR-17 factories are
installed, via php-http/discovery. To configure the
client yourself (middleware, timeouts, auth, etc.), pass your own PSR-18 client:
Any PSR-18 implementation works, not only Guzzle.
More runnable examples are in the examples directory.
Errors
Packagist\Api\PackageNotFoundExceptionis thrown when the Packagist API returns a 404 response.InvalidArgumentExceptionis thrown when the response from Packagist can't be parsed.
License
packagist-api is licensed under the MIT License. See the LICENSE file for details.
Maintainers
KNPLabs is looking for maintainers (see why).
If you are interested, feel free to open a PR to ask to be added as a maintainer. We'll be glad to hear from you!
This library is maintained by the following people (alphabetically sorted):
All versions of packagist-api with dependencies
doctrine/inflector Version ^1.0 || ^2.0
composer/metadata-minifier Version ^1.0
composer/semver Version ^1.0|^2.0|^3.0
php-http/discovery Version ^1.12
php-http/client-common Version ^2.3
psr/http-client-implementation Version ^1.0
psr/http-factory-implementation Version ^1.0