adachsoft / packagist-api-client
PHP client for Packagist API
Installs: 1
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Forks: 0
pkg:composer/adachsoft/packagist-api-client
Requires
- php: ^8.3
- guzzlehttp/guzzle: ^7.9
Requires (Dev)
- phpunit/phpunit: ^12.3
This package is not auto-updated.
Last update: 2025-10-18 16:26:40 UTC
README
A simple PHP client for interacting with the Packagist API.
Installation
composer require adachsoft/packagist-api-client
Quick Start
<?php
use AdachSoft\PackagistApiClient\PackagistApiClient;
$client = new PackagistApiClient('your-username', 'your-api-token');
// Search packages
$results = $client->searchPackages('symfony');
// Get package info
$package = $client->getPackageData('symfony/symfony');
// Get package statistics
$stats = $client->getPackageStats('symfony/symfony');
Features
- Package Management: Create, edit, and update packages
- Search: Find packages by name, tags, or type
- Statistics: Get download statistics and general Packagist stats
- Security: Check security advisories for packages
- Popular Packages: List trending packages
Basic Usage
Initialize Client
$client = new PackagistApiClient($username, $apiToken);
Search Packages
// Simple search
$results = $client->searchPackages('monolog');
// Search with filters
$results = $client->searchPackages('logger', [
'tags' => 'psr-3',
'type' => 'library'
]);
Get Package Details
$package = $client->getPackageData('monolog/monolog');
echo $package['package']['description'];
Get Statistics
// Package stats
$stats = $client->getPackageStats('monolog/monolog');
echo "Total downloads: " . $stats['downloads']['total'];
// General stats
$stats = $client->getStatistics();
echo "Total packages: " . $stats['totals']['packages'];
Create Package (requires authentication)
$client->createPackage('https://github.com/username/repository');
Requirements
- PHP 8.3+
- Guzzle HTTP client
License
MIT