PHPackages                             ubfr/c5tools - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. ubfr/c5tools

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

ubfr/c5tools
============

COUNTER Release 5.x Tools

v0.8.3(3mo ago)2352[3 issues](https://github.com/ubfr/c5tools/issues)Apache-2.0PHPPHP &gt;=8.2

Since Aug 5Pushed 3mo ago1 watchersCompare

[ Source](https://github.com/ubfr/c5tools)[ Packagist](https://packagist.org/packages/ubfr/c5tools)[ Docs](https://github.com/ubfr/c5tools)[ RSS](/packages/ubfr-c5tools/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (6)Versions (5)Used By (0)

COUNTER Release 5.x Tools (c5tools)
===================================

[](#counter-release-5x-tools-c5tools)

C5tools is a PHP library for fetching, parsing and validating COUNTER reports and COUNTER API (formerly SUSHI) responses. The main features are:

- Support for COUNTER Release 5 and Release 5.1
- Support for COUNTER Reports and Standard Views in both JSON and tabular format
- Support for common extensions as specified in Section 11 of the COUNTER Code of Practice
- A COUNTER API client that supports all COUNTER API paths and parameters
- Generating validation reports in text, Excel and JSON format
- Parsed COUNTER reports and API responses are available for further processing

The c5tools were originally developed for the German National Statistics Service ([NatStat](https://statistik.hebis.de/)) and later extended for performing the validation in the former COUNTER Validation Tool and now the [COUNTER Validator](https://validator.countermetrics.org/).

Please see the [COUNTER Metrics website](https://countermetrics.org/), the [COUNTER Code of Practice](https://cop5.countermetrics.org/) and the [COUNTER API Specification](https://countermetrics.stoplight.io/) for more information on COUNTER Metrics and the COUNTER standard.

Requirements
------------

[](#requirements)

Running the c5tools requires [PHP](https://www.php.net/) (8.2 or newer) and [Composer](https://getcomposer.org/) for managing the dependencies.

Running the c5tools in a [Docker](https://www.docker.com/) container is also supported, in this case only Docker is required.

Installation via Packagist
--------------------------

[](#installation-via-packagist)

PHP applications that use Composer can install the c5tools via [Packagist](https://packagist.org/) by requiring the ubfr/c5tools package.

Running the Demo Scripts
------------------------

[](#running-the-demo-scripts)

For running the scripts in the [demo directory](demo) please clone the project, install Composer in the project directory and run

```
php composer.phar install
```

to install the dependencies. Then run

```
php demo/validate_file.php
php demo/validate_api.php
```

to get a short help on using the demo scripts for validating COUNTER report files and COUNTER API requests and responses.

Running a Docker Container
--------------------------

[](#running-a-docker-container)

The Docker setup was provided by [@beda42](https://www.github.com/beda42), it is used by the [COUNTER Validator](https://github.com/Project-Counter/counter-validator) and was tested with Docker 27.3 and 28.2. The Docker container provides a simple REST API for performing COUNTER report file and COUNTER API validations (see the [public directory](public)).

For creating and running the Docker container please clone the project and run

```
docker compose up
```

in the project directory. A request to validate a COUNTER report file in Excel format for example could be submitted with [curl](https://curl.se/):

```
curl --data-binary '@/path/to/reportfile.xlsx' 'http://127.0.0.1:8180/file.php?extension=xlsx'
```

Note that the extension parameter in the URL must match the usual file extensions for the type of file submitted (e.g. json, tsv, csv, or xlsx). A COUNTER API validation can be performed by submitting the COUNTER API URL:

```
curl -d '{ "url": "https://counter.api.server/path/r51/status" }' 'http://127.0.0.1:8180/api.php'
```

For better readability the response could be piped through `jq .`

###  Health Score

34

—

LowBetter than 77% of packages

Maintenance61

Regular maintenance activity

Popularity14

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity42

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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 ~61 days

Total

4

Last Release

100d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/efc9d0541b555890d62d497f6d3a4986f377de2b996394704682e96215d03be7?d=identicon)[bo](/maintainers/bo)

![](https://www.gravatar.com/avatar/b1635f585df8024767ca5eda595fcd1646dc45c8c3699a689ab02b29ab55960a?d=identicon)[cjaegle](/maintainers/cjaegle)

---

Top Contributors

[![berndoberknapp](https://avatars.githubusercontent.com/u/8933431?v=4)](https://github.com/berndoberknapp "berndoberknapp (6 commits)")

###  Code Quality

Static AnalysisPHPStan

Code StylePHP\_CodeSniffer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/ubfr-c5tools/health.svg)

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

###  Alternatives

[civicrm/civicrm-core

Open source constituent relationship management for non-profits, NGOs and advocacy organizations.

728272.9k20](/packages/civicrm-civicrm-core)[blair2004/nexopos

The Free Modern Point Of Sale System build with Laravel, TailwindCSS and Vue.js.

1.2k2.3k](/packages/blair2004-nexopos)[ralphjsmit/laravel-helpers

A package containing handy helpers for your Laravel-application.

13704.6k2](/packages/ralphjsmit-laravel-helpers)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

245.2k](/packages/aedart-athenaeum)

PHPackages © 2026

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