PHPackages                             catlabinteractive/charon - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. catlabinteractive/charon

ActiveLibrary[API Development](/categories/api)

catlabinteractive/charon
========================

Charon is a framework for building self documented RESTful API's.

1.8.1(2mo ago)23.7k↓35.7%1[8 PRs](https://github.com/CatLabInteractive/charon/pulls)2MITPHPPHP &gt;=8.0CI passing

Since May 3Pushed 2mo ago2 watchersCompare

[ Source](https://github.com/CatLabInteractive/charon)[ Packagist](https://packagist.org/packages/catlabinteractive/charon)[ RSS](/packages/catlabinteractive-charon/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (3)Versions (90)Used By (2)

Charon
======

[](#charon)

[![Build Status](https://camo.githubusercontent.com/afd83249908af59b99283cea0d8242b498faf9eac18d9c3e34322dd615e7c46d/68747470733a2f2f7472617669732d63692e6f72672f4361744c6162496e7465726163746976652f636861726f6e2e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/CatLabInteractive/charon)

*Fractal on steroids.*

What?
=====

[](#what)

Charon is a PHP framework for building self documented RESTful API's.

Please visit [our website](https://charon.catlab.eu/) for more information.

Getting started
===============

[](#getting-started)

While Charon can be used with any framework, I have created a laravel skeleton project to get you started fast.

Installation
------------

[](#installation)

`composer create-project catlabinteractive/laravel-charon api`

Configuration
-------------

[](#configuration)

Please follow the instructions on

Why?
====

[](#why)

When building a RESTful API there are a few things that keep coming back:

- Entity to resource transformation
- API description
- Resource field filtering
- Relationship and expanding these relationships
- Filtering
- Sorting
- Pagination

Charon tries to take some of this work away by providing a framework that takes care of most of these features.

- Instead of transformers, write definitions
- Filter and sort based on these definitions
- Allow clients to choose fields that should be returned
- Expand relationships in a single request
- Handle all pagination in one single middleware

Documentation
=============

[](#documentation)

By default, Charon generates Swagger 2.0 documentation. Other documentors can be implemented by implementing the interface.

Frameworks
==========

[](#frameworks)

Charon works very well with Laravel, but the library is built so that it can be incorporated in other frameworks.

An ORM is not required, but makes implementing certain functionality (like pagination and filtering) a lot easier.

Context options
===============

[](#context-options)

For both fields and expand parameters: add a \* to repeat the field (for recursive models).

###  Health Score

56

—

FairBetter than 98% of packages

Maintenance83

Actively maintained with recent releases

Popularity26

Limited adoption so far

Community16

Small or concentrated contributor base

Maturity84

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 96.7% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~44 days

Recently: every ~320 days

Total

73

Last Release

88d ago

Major Versions

v0.1.66 → v1.0.212018-08-10

PHP version history (4 changes)v0.1.66PHP &gt;=7.0.0

v1.4.7PHP &gt;=7.4

v1.4.9PHP &gt;=7.1

1.8.1PHP &gt;=8.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/6e6016e16c88f6c0d2f3a70340123494278a082167068c53f698f65553b21a61?d=identicon)[catlab](/maintainers/catlab)

---

Top Contributors

[![daedeloth](https://avatars.githubusercontent.com/u/1168599?v=4)](https://github.com/daedeloth "daedeloth (416 commits)")[![Copilot](https://avatars.githubusercontent.com/in/1143301?v=4)](https://github.com/Copilot "Copilot (8 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (6 commits)")

---

Tags

apicharonframeworkphp7

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/catlabinteractive-charon/health.svg)

```
[![Health](https://phpackages.com/badges/catlabinteractive-charon/health.svg)](https://phpackages.com/packages/catlabinteractive-charon)
```

###  Alternatives

[stripe/stripe-php

Stripe PHP Library

4.0k143.3M480](/packages/stripe-stripe-php)[twilio/sdk

A PHP wrapper for Twilio's API

1.6k92.9M272](/packages/twilio-sdk)[facebook/php-business-sdk

PHP SDK for Facebook Business

90821.9M34](/packages/facebook-php-business-sdk)[meilisearch/meilisearch-php

PHP wrapper for the Meilisearch API

74513.7M114](/packages/meilisearch-meilisearch-php)[google/gax

Google API Core for PHP

265103.1M454](/packages/google-gax)[google/common-protos

Google API Common Protos for PHP

173103.7M50](/packages/google-common-protos)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
