All Projects → spatie → Packagist Api

spatie / Packagist Api

Licence: mit
The easiest way to work with the packagist API

Projects that are alternatives of or similar to Packagist Api

Satis Server
🐳 Private, self-hosted Composer/Satis repository with unlimited private and open-source packages and support for Git, Mercurial, and Subversion. HTTP API, HTTPs support, webhook handler, scheduled builds, Slack and HipChat integration.
Stars: ✭ 96 (+6.67%)
Mutual labels:  api, packagist
Ppgo api demo gin
API接口应用Demo 基于Gin
Stars: ✭ 90 (+0%)
Mutual labels:  api
Async Gamequery Lib
A high-performance java game query library designed for steam/source based games and others
Stars: ✭ 88 (-2.22%)
Mutual labels:  api
Bdapi
[bd] Api add-on for XenForo
Stars: ✭ 89 (-1.11%)
Mutual labels:  api
Japidocs
A magical api documentation generator without annotation for springboot.
Stars: ✭ 1,289 (+1332.22%)
Mutual labels:  api
Carbon Api
Unofficial API for generating beautiful images of your source code using Carbon.
Stars: ✭ 89 (-1.11%)
Mutual labels:  api
Pervertgram
A project for stalking people on Instagram.
Stars: ✭ 88 (-2.22%)
Mutual labels:  api
Go Tgbot
Golang telegram bot API wrapper, session-based router and middleware
Stars: ✭ 90 (+0%)
Mutual labels:  api
Libceed
CEED Library: Code for Efficient Extensible Discretizations
Stars: ✭ 90 (+0%)
Mutual labels:  api
Goapitutorial
📚 Building and Testing a REST API in GoLang using Gorilla Mux and MySQL
Stars: ✭ 89 (-1.11%)
Mutual labels:  api
Ccxt.net
CCXT.NET – CryptoCurrency eXchange Trading Library for .NET
Stars: ✭ 89 (-1.11%)
Mutual labels:  api
Graphql Portal
Configurable and distributed GraphQL Gateway. Convert your legacy data sources or monitor your existing GraphQL Services with a visual dashboard.
Stars: ✭ 88 (-2.22%)
Mutual labels:  api
Patrowlhears
PatrowlHears - Vulnerability Intelligence Center / Exploits
Stars: ✭ 89 (-1.11%)
Mutual labels:  api
Nervsys
A very slight PHP framework, very easy to use and integrate.
Stars: ✭ 88 (-2.22%)
Mutual labels:  api
Easylogin
Login effortlessly with different social networks like Facebook, Twitter or Google Plus
Stars: ✭ 90 (+0%)
Mutual labels:  api
Termux
Node.js module for Termux-API
Stars: ✭ 87 (-3.33%)
Mutual labels:  api
Omnetpp primer
OMNeT++的仿真手册
Stars: ✭ 89 (-1.11%)
Mutual labels:  api
Laravel Prefixed Ids
Friendly prefixed IDs for Laravel models
Stars: ✭ 88 (-2.22%)
Mutual labels:  api
Python Nomad
Client library Hashicorp Nomad
Stars: ✭ 90 (+0%)
Mutual labels:  api
Run
⚡The resource runtime
Stars: ✭ 90 (+0%)
Mutual labels:  api

Fetch package info from Packagist

Latest Version on Packagist Software License GitHub Workflow Status Total Downloads

This package makes it easy to search and fetch package info using the Packagist API.

Support us

Learn how to create a package like this one, by watching our premium video course:

Laravel Package training

We invest a lot of resources into creating best in class open source packages. You can support us by buying one of our paid products.

We highly appreciate you sending us a postcard from your hometown, mentioning which of our package(s) you are using. You'll find our address on our contact page. We publish all received postcards on our virtual postcard wall.

Installation

You can install the package via composer:

composer require spatie/packagist-api

There is also a Laravel wrapper available for this package.

Usage

You must pass a Guzzle client and a url generator to the constructor of Spatie\Packagist\PackagistClient.

$client = new \GuzzleHttp\Client();
$generator = new \Spatie\Packagist\PackagistUrlGenerator();

$packagist = new \Spatie\Packagist\PackagistClient($client, $generator);

List package names

// All packages
$packagist->getPackagesNames();

// List packages by type.
$packagist->getPackagesNamesByType('composer-plugin');

// List packages by organization
$packagist->getPackagesNamesByVendor('spatie');

Searching for packages

// 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']);

Pagination

Searching for packages returns a paginated result. You can change the pagination settings by adding more parameters.

// Get the third page, 10 items per page.
$packagist->searchPackagesByName('packagist', 3, 10);

Getting package data.

// Using the Composer metadata. (faster, but less data)
$packagist->getPackageMetadata('spatie/packagist-api');
$packagist->getPackageMetadata('spatie', 'packagist-api');

// Using the API. (slower, cached for 12 hours by Packagist.
$packagist->getPackage('spatie/packagist-api');
$packagist->getPackage('spatie', 'packagist-api');

Get Statistics

$packagist->getStatistics();

Changelog

Please see CHANGELOG for more information what has changed recently.

Testing

composer test

Contributing

Please see CONTRIBUTING for details.

Security

If you discover any security related issues, please email [email protected] instead of using the issue tracker.

Credits

About Spatie

Spatie is a webdesign agency based in Antwerp, Belgium. You'll find an overview of all our open source projects on our website.

License

The MIT License (MIT). Please see License File for more information.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].