Guzzle: PHP HTTP client and framework for building RESTful web service clients

http://docs.guzzlephp.org/en/latest/

Github page here: https://github.com/guzzle/guzzle

$client = new GuzzleHttp\Client();
$response = $client->get('http://guzzlephp.org');
$res = $client->get('https://api.github.com/user', ['auth' =>  ['user', 'pass']]);
echo $res->getStatusCode();
// "200"
echo $res->getHeader('content-type');
// 'application/json; charset=utf8'
echo $res->getBody();
// {"type":"User"...'
var_export($res->json());
// Outputs the JSON decoded data

// Send an asynchronous request.
$req = $client->createRequest('GET', 'http://httpbin.org', ['future' => true]);
$client->send($req)->then(function ($response) {
    echo 'I completed! ' . $response;
});

git-extras: Wonderful collection of Git utilities such as repository summary, REPL, author commit percentages, etc

https://github.com/tj/git-extras


List of Commands

From the Github page:

Flow: Open Source JavaScript Static Type Checker from Facebook

Flow logo

http://flowtype.org/


Example 1:

/* @flow */
function foo(x) {
  return x * 10;
}
foo('Hello, world!');
$> flow
hello.js:5:5,19: string
This type is incompatible with
  hello.js:3:10,15: number

Example 2:

/* @flow */
function foo(x: string, y: number): string {
  return x.length * y;
}
foo('Hello', 42);
$> flow
hello.js:3:10,21: number
This type is incompatible with
  hello.js:2:37,42: string