Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Devour computational knowledge on the commandline with wolframalpha
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
bin
lib
.gemspec
CHANGELOG.rdoc
LICENSE.txt
README.rdoc
Rakefile
deps.rip

README.rdoc

Description

Devour computational knowledge on the commandline with wolframalpha.

Install

To install this gem:

gem install wolf

Setup

Get a free Wolfram Appid (api key) by creating an account here and then clicking on the 'Get an APPID' button.

Once you have your own appid, set it in your shell, preferably in your ~/.zshrc or ~/.bashrc:

export WOLFRAM_APPID='YOURKEY'

Or you can set your appid in your ~/.wolfrc:

Wolfram.appid = "YOURKEY"

Usage

wolf displays results to wolfram queries as tables:

# Calculate distance and travel time between places
$ wolf boston to new york
Distance
+-------------+
| 184.3 miles |
+-------------+

Direct travel times
+---------------------+-------------------------+
| aircraft  (550 mph) | 20 minutes              |
| sound               | 14 minutes  30 seconds  |
| light in fiber      | 1.39 ms  (milliseconds) |
| light in vacuum     | 0.99 ms  (milliseconds) |
+---------------------+-------------------------+
...

# Solve an equation
ru wolf 'x^3 - sinx = e^-x'
+--------------------+---------------------------+
| Input              | x^3-sin(x) = e^(-x)       |
| Numerical solution | x ~~ 1.068531813164789... |
+--------------------+---------------------------+

# Compare stocks
$ wolf goog, apple, microsoft
Latest trades
+------+---------------+--------+----------------+--------------------+
| GOOG | $600.30 (GOOG | NASDAQ | 4:02:42 pm EST | 5 hrs 41 mins ago) |
| AAPL | $339.30 (AAPL | NASDAQ | 4:21:45 pm EST | 5 hrs 22 mins ago) |
| MSFT | $27.73 (MSFT  | NASDAQ | 4:00:00 pm EST | 5 hrs 43 mins ago) |
+------+---------------+--------+----------------+--------------------+

Fundamentals and financials
+--------------------------+----------------+----------------+----------------+
|                          | Google         | Apple          | Microsoft      |
+--------------------------+----------------+----------------+----------------+
| market cap               | $192 billion   | $312.6 billion | $233 billion   |
| revenue                  | $27.55 billion | $76.28 billion | $66.69 billion |
| employees                | 23331          | 49400          | 89000          |
...

# Display local weather info
$ wolf weather
Latest recorded weather for boston, massachusetts
+-------------------+----------------------------+
| temperature       | 34 °F  (wind chill: 25 °F) |
| conditions        | cloudy                     |
| relative humidity | 47%  (dew point: 16 °F)    |
| wind speed        | 12 mph                     |
+-------------------+----------------------------+
...

In some cases wolf displays information more concisely than the website itself. Compare the website to:

$ wolf pi
+-----------------------------+---------------------------------------------------------------------------------------+
| Input                       | pi                                                                                    |
| Decimal approximation       | 3.1415926535897932384626433832795028841971693993751058209749...                       |
| Property                    | pi is a transcendental number                                                         |
| Continued fraction          | [3; 7, 15, 1, 292, 1, 1, 1, 2, 1, 3, 1, 14, 2, 1, 1, 2, 2, 2, 2, 1, 84, 2, 1, 1, ...] |
| Alternative representations | pi = 180 °                                                                            |
| Series representations      | pi = 4 sum_(k=0)^infinity(-1)^k/(2 k+1)                                               |
| Integral representations    | pi = 2 integral_0^infinity1/(t^2+1) dt                                                |
+-----------------------------+---------------------------------------------------------------------------------------+

If you clicked on the previous link, you'll notice links to more information about the current result. wolf makes this available via the menu option (-m):

$ wolf pi -m

+-----------------------------+---------------------------------------------------------------------------------------+
| Input                       | pi                                                                                    |
| Decimal approximation       | 3.1415926535897932384626433832795028841971693993751058209749...                       |
| Property                    | pi is a transcendental number                                                         |
| Continued fraction          | [3; 7, 15, 1, 292, 1, 1, 1, 2, 1, 3, 1, 14, 2, 1, 1, 2, 2, 2, 2, 1, 84, 2, 1, 1, ...] |
| Alternative representations | pi = 180 °                                                                            |
| Series representations      | pi = 4 sum_(k=0)^infinity(-1)^k/(2 k+1)                                               |
| Integral representations    | pi = 2 integral_0^infinity1/(t^2+1) dt                                                |
+-----------------------------+---------------------------------------------------------------------------------------+

** LINKS **
+--------+-----------------------------+---------------+
| number | Section                     | Choice        |
+--------+-----------------------------+---------------+
| 1      | Decimal approximation       | More digits   |
| 2      | Continued fraction          | Fraction form |
| 3      | Continued fraction          | More terms    |
| 4      | Alternative representations | More          |
| 5      | Series representations      | More          |
| 6      | Integral representations    | More          |
+--------+-----------------------------+---------------+
Choose one link to requery: 

# User types '1'
Choose one link to requery: 1

# To get back
+-----------------------------+-------------------------------------------------------------------------------------------------------------------------+
| Input                       | pi                                                                                                                      |
| Decimal approximation       | 3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067982148086513282... |
| Property                    | pi is a transcendental number                                                                                           |
| Continued fraction          | [3; 7, 15, 1, 292, 1, 1, 1, 2, 1, 3, 1, 14, 2, 1, 1, 2, 2, 2, 2, 1, 84, 2, 1, 1, ...]                                   |
| Alternative representations | pi = 180 °                                                                                                              |
| Series representations      | pi = 4 sum_(k=0)^infinity(-1)^k/(2 k+1)                                                                                 |
| Integral representations    | pi = 2 integral_0^infinity1/(t^2+1) dt                                                                                  |
+-----------------------------+-------------------------------------------------------------------------------------------------------------------------+

wolf has more options you can explore with:

$ wolf -h

Some examples of options:

# Only display tables whose titles match the case insensitive regex
$ wolf .me -t=name
Name
+------------------+------------------------+
| full name        | Republic of Montenegro |
| full native name | Republika Crna Gora    |
| internet code    | .me                    |
+------------------+------------------------+

# Print a query's xml response
$ wolf -x 4th monday in march
<queryresult success="true" error="false" numpods="9" datatypes="CalendarEvent,City" timedout=""
timing="1.985" parsetiming="0.559" parsetimedout="false" recalculate="" version="2.0">
...

# Load local xml file(s) to read in console
$ wolf -l fourth_monday.xml
Result
+------------------------+
| Monday, March 28, 2011 |
+------------------------+
...

# Append additional params to a query with --PARAM=VALUE
# Read API docs for available query params
$ wolf --format=html 50 euros
<queryresult success="true" error="false" numpods="4" datatypes="Quantity" timedout=""
timing="2.566" parsetiming="0.115" parsetimedout="false" recalculate="" version="2.0">
 <pod title="Input interpretation" scanner="Identity" id="Input" position="100" error="false"
 numsubpods="0">
   <markup>
   ...

Links

Todo

  • Tests!

  • Better aliasing of commands

  • option to tab delimit results for easy nix slicing + dicing

Something went wrong with that request. Please try again.