PHPackages                             jimlind/pie7o - 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. [HTTP &amp; Networking](/categories/http)
4. /
5. jimlind/pie7o

ActiveLibrary[HTTP &amp; Networking](/categories/http)

jimlind/pie7o
=============

Simple PSR7 Tweeter

05

Since Nov 16Compare

[ Source](https://github.com/jimlind/pie7o)[ Packagist](https://packagist.org/packages/jimlind/pie7o)[ RSS](/packages/jimlind-pie7o/feed)WikiDiscussions Synced 2w ago

READMEChangelogDependenciesVersions (1)Used By (0)

PIE7O
=====

[](#pie7o)

The PSR7 Tweeter

#### Features

[](#features)

- You can tweet
- You can tweet with a picture
- Nothing else

#### Badges

[](#badges)

[![Build Status](https://camo.githubusercontent.com/17a0f8cc3c4220e3af60d281d2159efcf8cd5c1c46b8d97e9356baeb0c906a81/68747470733a2f2f7472617669732d63692e6f72672f6a696d6c696e642f706965376f2e706e673f6272616e63683d6d6173746572)](https://travis-ci.org/jimlind/pie7o)[![Coverage Status](https://camo.githubusercontent.com/2dc027b959e07ad563046bc85d0415ae9e87a97f3660eb511f57b186f20c800f/68747470733a2f2f636f766572616c6c732e696f2f7265706f732f6a696d6c696e642f706965376f2f62616467652e7376673f6272616e63683d6d617374657226736572766963653d676974687562)](https://coveralls.io/github/jimlind/pie7o?branch=master)[![Code Climate](https://camo.githubusercontent.com/2072cd6a7cb4f38a19f141f726c9d6b9230a8e369a7a11822e780ad10d392338/68747470733a2f2f636f6465636c696d6174652e636f6d2f6769746875622f6a696d6c696e642f706965376f2f6261646765732f6770612e737667)](https://codeclimate.com/github/jimlind/pie7o)[![StyleCI](https://camo.githubusercontent.com/a31f8446f7a157bd9a1e901d9bd201a1941d97c0d8806d73166f0ce5b85b3223/68747470733a2f2f7374796c6563692e696f2f7265706f732f34303235343836352f736869656c64)](https://styleci.io/repos/40254865)[![Latest Stable Version](https://camo.githubusercontent.com/b100bdc3c205c19fdc678a01b5644c35fce106b53f9b35d9b6cf9b86dd784618/68747470733a2f2f706f7365722e707567782e6f72672f6a696d6c696e642f706965376f2f762f737461626c65)](https://packagist.org/packages/jimlind/pie7o)[![Total Downloads](https://camo.githubusercontent.com/0b5a79078f4b9df0c92a1604c34bc4ca06974c3c81a8d9bbb35969518fec2c5d/68747470733a2f2f706f7365722e707567782e6f72672f6a696d6c696e642f706965376f2f646f776e6c6f616473)](https://packagist.org/packages/jimlind/pie7o)[![License](https://camo.githubusercontent.com/7d0576156bee8ba6a0e6632dd66a5553dc35a38f56f2f52e4dcbcad52ee13039/68747470733a2f2f706f7365722e707567782e6f72672f6a696d6c696e642f706965376f2f6c6963656e7365)](https://packagist.org/packages/jimlind/pie7o)

#### Documentation

[](#documentation)

Configuration may seem a little more difficult than it needs to be, but it keeps things flexible. You'll only ever have to configure it once. I find that learning by example is the best way so here are some examples:

- [The easy way](example.php)
- [The dependency injection way](example.di.php)
- [The silex service provider way](example.silex.php)

The library will quietly succeed if there are no problems communicating with Twitter, but if there is a problem it throws a Pie7oException that extends the RuntimeException class.

#### Why Does This Exist?

[](#why-does-this-exist)

I needed a Twitter library that was modern, maintainable, and easy to use. After PSR-7 and Guzzle 6 were released it seemed like a good enough excuse to write my own and use the new interfaces.

I've never had a reason to do anything other than post to Twitter via robot so only supporting that made my job a lot easier.

#### Why Name it Pie7o?

[](#why-name-it-pie7o)

As a post only Twitter client this is basically a Tweeter. Some tweeter speakers are just a piezo. There are already a good number of applications and libraries called "Piezo." Replacing the Z with a 7 means you get a unique name and a reference to the PSR-7 usage.

#### How do you pronounce it?

[](#how-do-you-pronounce-it)

If there is ever a reason that two humans might want to mention this library via voice I'd be shocked.

#### Anything else?

[](#anything-else)

I don't base64 encode the images before uploading them. A lot of other libraries I looked at were doing that. It's not hard to send the binaries, you just have to read the Twitter documentation.

Code Quality Metrics
--------------------

[](#code-quality-metrics)

#### 100% Code Coverage\*

[](#100-code-coverage)

```
composer install
vendor/bin/phpunit --coverage-text
```

#### 100% Code Sniffed

[](#100-code-sniffed)

```
composer install
bash sniff.sh
```

\*Except the optional Silex Service Provider

###  Health Score

20

—

LowBetter than 12% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity4

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 89.3% 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.

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/500897?v=4)[Jim Lind](/maintainers/jimlind)[@jimlind](https://github.com/jimlind)

---

Top Contributors

[![jimlind](https://avatars.githubusercontent.com/u/500897?v=4)](https://github.com/jimlind "jimlind (67 commits)")[![jlind](https://avatars.githubusercontent.com/u/148872?v=4)](https://github.com/jlind "jlind (8 commits)")

### Embed Badge

![Health badge](/badges/jimlind-pie7o/health.svg)

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

###  Alternatives

[php-http/cache-plugin

PSR-6 Cache plugin for HTTPlug

25026.8M85](/packages/php-http-cache-plugin)[httpsoft/http-message

Strict and fast implementation of PSR-7 and PSR-17

85997.3k126](/packages/httpsoft-http-message)[serpapi/google-search-results-php

Get Google, Bing, Baidu, Ebay, Yahoo, Yandex, Home depot, Naver, Apple, Duckduckgo, Youtube search results via SerpApi.com

69131.6k](/packages/serpapi-google-search-results-php)[thesis/nats

Async (fiber based) client for Nats.

758.3k](/packages/thesis-nats)

PHPackages © 2026

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