{"id":20655252,"url":"https://github.com/ericsizemore/librariesio","last_synced_at":"2025-04-19T11:52:02.846Z","repository":{"id":213746768,"uuid":"734834023","full_name":"ericsizemore/librariesio","owner":"ericsizemore","description":"LibrariesIO - A simple API wrapper/client for the Libraries.io API.","archived":false,"fork":false,"pushed_at":"2025-04-16T19:37:30.000Z","size":825,"stargazers_count":3,"open_issues_count":1,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-17T04:33:24.077Z","etag":null,"topics":["api","api-client","api-wrapper","libraries","librariesio"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ericsizemore.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"ko_fi":"ericsizemore","github":"ericsizemore","tidelift":"packagist/esi/librariesio"}},"created_at":"2023-12-22T18:52:41.000Z","updated_at":"2025-04-16T19:37:14.000Z","dependencies_parsed_at":"2024-01-03T12:26:31.731Z","dependency_job_id":"255a4b48-ef66-4d05-806a-4b93a3dffca5","html_url":"https://github.com/ericsizemore/librariesio","commit_stats":null,"previous_names":["ericsizemore/librariesio"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericsizemore%2Flibrariesio","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericsizemore%2Flibrariesio/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericsizemore%2Flibrariesio/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericsizemore%2Flibrariesio/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ericsizemore","download_url":"https://codeload.github.com/ericsizemore/librariesio/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249687995,"owners_count":21311149,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","api-client","api-wrapper","libraries","librariesio"],"created_at":"2024-11-16T18:09:41.315Z","updated_at":"2025-04-19T11:52:02.836Z","avatar_url":"https://github.com/ericsizemore.png","language":"PHP","funding_links":["https://ko-fi.com/ericsizemore","https://github.com/sponsors/ericsizemore","https://tidelift.com/funding/github/packagist/esi/librariesio"],"categories":[],"sub_categories":[],"readme":"# LibrariesIO - A simple API wrapper/client for the Libraries.io API.\n\n[![Build Status](https://scrutinizer-ci.com/g/ericsizemore/librariesio/badges/build.png?b=master)](https://scrutinizer-ci.com/g/ericsizemore/librariesio/build-status/master)\n[![Code Coverage](https://scrutinizer-ci.com/g/ericsizemore/librariesio/badges/coverage.png?b=master)](https://scrutinizer-ci.com/g/ericsizemore/librariesio/?branch=master)\n[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/ericsizemore/librariesio/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/ericsizemore/librariesio/?branch=master)\n[![Continuous Integration](https://github.com/ericsizemore/librariesio/actions/workflows/continuous-integration.yml/badge.svg)](https://github.com/ericsizemore/librariesio/actions/workflows/continuous-integration.yml)\n[![Type Coverage](https://shepherd.dev/github/ericsizemore/librariesio/coverage.svg)](https://shepherd.dev/github/ericsizemore/librariesio)\n[![Psalm Level](https://shepherd.dev/github/ericsizemore/librariesio/level.svg)](https://shepherd.dev/github/ericsizemore/librariesio)\n[![PHPMD](https://github.com/ericsizemore/librariesio/actions/workflows/phpmd.yml/badge.svg)](https://github.com/ericsizemore/librariesio/actions/workflows/phpmd.yml)\n[![Latest Stable Version](https://img.shields.io/packagist/v/esi/librariesio.svg)](https://packagist.org/packages/esi/librariesio)\n[![Downloads per Month](https://img.shields.io/packagist/dm/esi/librariesio.svg)](https://packagist.org/packages/esi/librariesio)\n[![License](https://img.shields.io/packagist/l/esi/librariesio.svg)](https://packagist.org/packages/esi/librariesio)\n\n## 2.0.0 Important Note\n\n* The `master` branch is for development of the upcoming version 2.0.0.\n  * This is a notable exception to the backward compatibility promise, as most of this work was done before it was implemented.\n* Should be relatively stable, but would still advise against using in production.\n* Function parameters, class api's, etc. may change during development.\n* The [docs](docs) have not yet been fully updated with changes.\n\n## Important Note\n\nThis project was born from the desire to expand my knowledge of API's and GuzzleHttp. My implementation is far from perfect, so I am open to any and all feedback that one may wish to provide.\n\n* The Libraries.io API has the ability for pagination, however it is not yet fully implemented in this library.\n\n## Installation\n\n### Composer\n\nInstall the latest version with:\n\n```bash\n$ composer require esi/librariesio\n```\n\nThen, within your project (if not already included), include composer's autoload. For example:\n\n```php\n\u003c?php\n\nrequire 'vendor/autoload.php';\n\n?\u003e\n```\n\nFor more information see the [installation](docs/installation.md) docs.\n\n## Basic Usage\n\nLibrariesIO splits the different endpoints based on their \"component\":\n\n  * Esi\\LibrariesIO\\LibrariesIO::platform()\n    * does not require an $endpoint, though you can pass 'platforms'.\n  * Esi\\LibrariesIO\\LibrariesIO::project()\n    * takes an 'endpoint' parameter to specify which subset you are looking for.\n      * Current endpoints are:\n        * contributors\n        * dependencies\n        * dependents\n        * dependent_repositories\n        * project\n        * search\n        * sourceRank\n  * Esi\\LibrariesIO\\LibrariesIO::repository()\n    * takes an 'endpoint' parameter to specify which subset you are looking for.\n      * Current endpoints are:\n        * dependencies\n        * projects\n        * repository\n  * Esi\\LibrariesIO\\LibrariesIO::user()\n    * takes an 'endpoint' parameter to specify which subset you are looking for.\n      * Current endpoints are:\n        * dependencies\n        * packages\n        * package_contributions\n        * repositories\n        * repository_contributions\n        * subscriptions\n        * user\n  * Esi\\LibrariesIO\\LibrariesIO::subscription()\n    * takes an 'endpoint' parameter to specify which subset you are looking for.\n      * Current endpoints are:\n        * subscribe\n        * check\n        * update\n        * unsubscribe\n\nEach 'subset' has their own required options. Check the documentation (currently WIP) for more information.\n\nAs an example, let's say you want to get a list of the available platforms. To do so:\n\n```php\n\u003c?php\n\nuse Esi\\LibrariesIO\\LibrariesIO;\nuse Esi\\LibrariesIO\\Utils;\n\n$api = new LibrariesIO('..yourapikey..', \\sys_get_temp_dir());\n$response = $api-\u003eplatform();\n\nprint_r(Utils::toArray($response));\n\n/*\nArray\n(\n    [0] =\u003e Array\n        (\n            [name] =\u003e NPM\n            [project_count] =\u003e 4079049\n            [homepage] =\u003e https://www.npmjs.com\n            [color] =\u003e #f1e05a\n            [default_language] =\u003e JavaScript\n        )\n\n    [1] =\u003e Array\n        (\n            [name] =\u003e Maven\n            [project_count] =\u003e 588275\n            [homepage] =\u003e http://maven.org\n            [color] =\u003e #b07219\n            [default_language] =\u003e Java\n        )\n    [...]\n)\n*/\n?\u003e\n```\n\nFor more information see the [basic usage](docs/basic-usage.md) docs.\n\n## Documentation\n\nThe `docs/` folder or online [here](https://www.secondversion.com/docs/librariesio/).\n\n## About\n\n### Requirements\n\n- LibrariesIO works with PHP 8.2.0 or above.\n- All API requests include an api_key parameter. You will need to get your api key from your [account](https://libraries.io/account) page at libraries.io. \n\n### Credits\n\n- [Eric Sizemore](https://github.com/ericsizemore)\n- [All Contributors](https://github.com/ericsizemore/librariesio/contributors)\n- Special thanks to [JetBrains](https://www.jetbrains.com/?from=esi-librariesio) for their Licenses for Open Source Development\n\n### Contributing\n\nSee [CONTRIBUTING](./CONTRIBUTING.md).\n\nBugs and feature requests are tracked on [GitHub](https://github.com/ericsizemore/librariesio/issues).\n\n### Contributor Covenant Code of Conduct\n\nSee [CODE_OF_CONDUCT.md](./CODE_OF_CONDUCT.md)\n\n### Backward Compatibility Promise\n\nSee [backward-compatibility.md](./backward-compatibility.md) for more information on Backwards Compatibility.\n\n### Changelog\n\nSee the [CHANGELOG](./CHANGELOG.md) for more information on what has changed recently.\n\n### License\n\nSee the [LICENSE](./LICENSE.md) for more information on the license that applies to this project.\n\n### Security\n\nSee [SECURITY](./SECURITY.md) for more information on the security disclosure process.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fericsizemore%2Flibrariesio","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fericsizemore%2Flibrariesio","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fericsizemore%2Flibrariesio/lists"}