2017 © Pedro Peláez
 

library packagist-api

Packagist API client.

image

knplabs/packagist-api

Packagist API client.

  • Friday, January 19, 2018
  • by Knplabs
  • Repository
  • 26 Watchers
  • 150 Stars
  • 152,485 Installations
  • PHP
  • 32 Dependents
  • 0 Suggesters
  • 33 Forks
  • 4 Open issues
  • 9 Versions
  • 1 % Grown

The README.md

Packagist API

Build status Latest Stable Version Total Downloads, (*1)

Simple object oriented wrapper for Packagist API., (*2)

Requirements

  • PHP ^7.4 or ^8.0 (for PHP 7.1-7.3 please use the 1.x release line)

Installation

The recommended way to install Packagist API is through composer:, (*3)

composer require knplabs/packagist-api

Usage

Search for packages:

<?php

$client = new Packagist\Api\Client();

foreach ($client->search('sylius') as $result) {
    echo $result->getName();
}

// Outputs:
sylius/sylius
sylius/resource-bundle
sylius/cart-bundle
sylius/flow-bundle
sylius/sales-bundle
sylius/shipping-bundle
sylius/taxation-bundle
sylius/money-bundle
sylius/assortment-bundle
sylius/addressing-bundle
sylius/payments-bundle
sylius/taxonomies-bundle
sylius/inventory-bundle
sylius/settings-bundle
sylius/promotions-bundle
...

You can limit results to a desired amount of pages:

<?php

$client->search('sylius', [], 2)  // get first 2 pages

Get package details:

Gets full package details, generated dynamically by the Packagist API. Consider using getComposer() instead to use the Packagist API more efficiently if you don't need all the full metadata for a package., (*4)

<?php

$package = $client->get('sylius/sylius');

printf(
    'Package %s. %s.',
    $package->getName(),
    $package->getDescription()
);

// Outputs:
Package sylius/sylius. Modern ecommerce for Symfony2.

Get composer details:

Similar to get(), but uses Composer metadata which is Packagist's preferred way of retrieving details, since responses are cached efficiently as static files by the Packagist service. The response lacks some metadata that is provided by get(), see Packagist API documentation for details. Returns multiple packages, you need to select the requested one from the indexed array., (*5)

<?php

$packages = $client->getComposer('sylius/sylius');
$package = $packages['sylius/sylius'];
$versions = $package->getVersions();

printf(
    'Package %s. %s.',
    $versions[0]->getName(),
    $versions[0]->getDescription()
);

// Outputs:
Package sylius/sylius. Modern ecommerce for Symfony2.

List all packages:

<?php

foreach ($client->all() as $package) {
    echo $package;
}

// Outputs:
abhinavsingh/jaxl
abishekrsrikaanth/fuel-util
abmundi/database-commands-bundle
...

They can be filtered by type or vendor:

<?php

$client->all(array('type' => 'library'));
$client->all(array('vendor' => 'sylius'));

Custom Packagist repositories

You can also set a custom Packagist repository URL:, (*6)

<?php

$client->setPackagistUrl('https://custom.packagist.site.org');

Errors

  • A Packagist\Api\PackageNotFoundException will be thrown when the Packagist API returns a 404 response.
  • An \InvalidArgumentException will be thrown when the response from Packagist was not able to be parsed.

License

packagist-api is licensed under the MIT License - see the LICENSE file for details., (*7)

Maintainers

KNPLabs is looking for maintainers (see why)., (*8)

If you are interested, feel free to open a PR to ask to be added as a maintainer., (*9)

We’ll be glad to hear from you :), (*10)

This library is maintained by the following people (alphabetically sorted) : - @robbieaverill, (*11)

The Versions

19/01 2018

dev-master

9999999-dev http://knplabs.com

Packagist API client.

  Sources   Download

MIT

The Requires

 

The Development Requires

api composer packagist

19/01 2018

v1.5.1

1.5.1.0 http://knplabs.com

Packagist API client.

  Sources   Download

MIT

The Requires

 

The Development Requires

api composer packagist

31/05 2017

v1.5.0

1.5.0.0 http://knplabs.com

Packagist API client.

  Sources   Download

MIT

The Requires

 

The Development Requires

api composer packagist

16/05 2017

v1.4.0

1.4.0.0 http://knplabs.com

Packagist API client.

  Sources   Download

MIT

The Requires

 

The Development Requires

api composer packagist

07/09 2015

1.3.0

1.3.0.0 http://knplabs.com

Packagist API client.

  Sources   Download

MIT

The Requires

 

The Development Requires

api composer packagist

17/09 2014

v1.2

1.2.0.0 http://knplabs.com

Packagist API client.

  Sources   Download

MIT

The Requires

 

The Development Requires

api composer packagist

22/11 2013

v1.1

1.1.0.0 http://knplabs.com

Packagist API client.

  Sources   Download

MIT

The Requires

 

The Development Requires

api composer packagist

30/08 2013

v1.0

1.0.0.0 http://knplabs.com

Packagist API client.

  Sources   Download

MIT

The Requires

 

The Development Requires

api composer packagist

15/03 2013

dev-fix/phpspec

dev-fix/phpspec http://knplabs.com

Packagist API client.

  Sources   Download

MIT

The Requires

 

The Development Requires

api composer packagist