PHPackages                             evilscott/junior - 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. evilscott/junior

ActiveLibrary[API Development](/categories/api)

evilscott/junior
================

JSONRPC 2.0 Client and Server

v1.1.3(12y ago)4014.2k10[1 PRs](https://github.com/EvilScott/junior/pulls)MITPHPCI passing

Since Apr 9Pushed 2mo ago3 watchersCompare

[ Source](https://github.com/EvilScott/junior)[ Packagist](https://packagist.org/packages/evilscott/junior)[ RSS](/packages/evilscott-junior/feed)WikiDiscussions next Synced yesterday

READMEChangelogDependencies (2)Versions (8)Used By (0)

Junior - A JSON-RPC Client/Server in PHP [![Build Status](https://camo.githubusercontent.com/36cec752d3e9150c38247fe3ba711b6d5b91f0fbcae6a0fafa4661e609b18840/68747470733a2f2f7365637572652e7472617669732d63692e6f72672f4576696c53636f74742f6a756e696f722e706e67)](http://travis-ci.org/EvilScott/junior)
=========================================================================================================================================================================================================================================================================================================

[](#junior---a-json-rpc-clientserver-in-php-)

What is JSON-RPC?
-----------------

[](#what-is-json-rpc)

From the [JSON-RPC Spec](http://www.jsonrpc.org/spec.html):

"JSON-RPC is a stateless, light-weight remote procedure call (RPC) protocol. Primarily this specification defines several data structures and the rules around their processing. It is transport agnostic in that the concepts can be used within the same process, over sockets, over http, or in many various message passing environments. It uses JSON (RFC 4627) as data format. It is designed to be simple!"

Why should I use Junior?
------------------------

[](#why-should-i-use-junior)

Junior is JSON-RPC 2.0 viable and follows the JSON-RPC spec as of March 2012. It supports batching, named parameters, and notifications.

Is Junior available for Composer?
---------------------------------

[](#is-junior-available-for-composer)

[Yes](https://packagist.org/packages/evilscott/junior), and this is the recommended method to deploy it.

How do I use the client?
------------------------

[](#how-do-i-use-the-client)

Include lib/autoload.php load all necessary files. Alternatively, just include junior.phar if taking advantage of the PHAR format. Create a new instance of Junior\\Client() and pass it the URI of the server you wish to communicate with. All communication through this instance. See the example folder for more details.

How do I use the server?
------------------------

[](#how-do-i-use-the-server)

Include lib/autoload.php load all necessary files. Alternatively, just include junior.phar if taking advantage of the PHAR format. Create a new instance of Junior\\Server() and pass it an instance of the class you wish to expose for communication. Then call the process() function on your server instance and you are ready to go! See the example folder for more details.

What if I don't like PHP (or I need to talk to Ruby)?
-----------------------------------------------------

[](#what-if-i-dont-like-php-or-i-need-to-talk-to-ruby)

Try out [Jimson](https://github.com/chriskite/jimson), written by Chris Kite for Ruby. It was made at the same time as Junior, and supports all the same features.

What do I need to run Junior?
-----------------------------

[](#what-do-i-need-to-run-junior)

- PHP &gt;= 5.3

Does it have tests?
-------------------

[](#does-it-have-tests)

Yes and as of February 2012 Junior has a robust, working test suite! The tests were written using [Spray](https://github.com/jimbojsb/spray) to stub stream wrappers and PHPUnit version 3.6.10. UPDATE: Junior is hooked into [Travis CI](http://travis-ci.org/EvilScott/junior) as of March 2012.

###  Health Score

47

—

FairBetter than 93% of packages

Maintenance57

Moderate activity, may be stable

Popularity33

Limited adoption so far

Community18

Small or concentrated contributor base

Maturity68

Established project with proven stability

 Bus Factor1

Top contributor holds 52.2% 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 ~78 days

Total

3

Last Release

4674d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/204677730?v=4)[Evil Scott](/maintainers/EvilScott)[@EvilScott](https://github.com/EvilScott)

---

Top Contributors

[![MollsReis](https://avatars.githubusercontent.com/u/489227?v=4)](https://github.com/MollsReis "MollsReis (12 commits)")[![chriskite](https://avatars.githubusercontent.com/u/72308?v=4)](https://github.com/chriskite "chriskite (3 commits)")[![jimbojsb](https://avatars.githubusercontent.com/u/107836?v=4)](https://github.com/jimbojsb "jimbojsb (3 commits)")[![benknowles](https://avatars.githubusercontent.com/u/605103?v=4)](https://github.com/benknowles "benknowles (2 commits)")[![xak2000](https://avatars.githubusercontent.com/u/1576014?v=4)](https://github.com/xak2000 "xak2000 (2 commits)")[![frankmayer](https://avatars.githubusercontent.com/u/825497?v=4)](https://github.com/frankmayer "frankmayer (1 commits)")

---

Tags

json-rpcphp

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/evilscott-junior/health.svg)

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

###  Alternatives

[exsyst/swagger

A php library to manipulate Swagger specifications

35916.4M7](/packages/exsyst-swagger)[hubspot/api-client

Hubspot API client

24016.2M19](/packages/hubspot-api-client)[pocketmine/bedrock-protocol

An implementation of the Minecraft: Bedrock Edition protocol in PHP

172445.0k11](/packages/pocketmine-bedrock-protocol)[botman/driver-telegram

Telegram driver for BotMan

93459.5k6](/packages/botman-driver-telegram)

PHPackages © 2026

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