Ideone is a pastebin, as well as an online compiler and debugger. This project is a Pythonic binding to the Ideone API.
The Ideone API can also be installed with pip from PyPI using
pip install ideone. Alternately, you can clone the repository and
use setup.py like so
git clone https://github.com/jschaf/ideone-api.git cd ideone-api python setup.py install
You need an Ideone account and an API password which you can create at the Ideone registration page. After that, open up a Python shell and begin hacking.
>>> from ideone import Ideone
>>> i = Ideone('username', 'APIpassword')
>>> i.test()
{'answerToLifeAndEverything': 42,
'error': "OK",
'moreHelp': "ideone.com",
'oOok': True,
'pi': 3.14}
>>> i.create_submission('print(42)', language_name='python')
{'error': 'OK',
'link' : 'LsSbo'}
>>> i.create_submission('print(42)', language_id=166)
{'error': 'OK',
'link' : 'FDfrM'}
>>> i.submission_details('LsSbo')
{'cmpinfo': "",
'date': "2011-04-18 15:24:14",
'error': "OK",
'input': "",
'langId': 116,
'langName': "Python 3",
'langVersion': "python-3.1.2",
'memory': 5852,
'output': 42,
'public': True,
'result': 15,
'signal': 0,
'source': "print(42)",
'status': 0,
'stderr': "",
'time': 0.02}
>>> i.languages()
{'error': 'OK',
'languages': {1: "C++ (gcc-4.3.4)",
2: "Pascal (gpc) (gpc 20070904)",
...
...
...
125: "Falcon (falcon-0.9.6.6)"}}
As of 27 May 2012, Ideone supports the following languages. You don't
need to use the full names for language_name. The simplified name
works just as well with this API.
| Index | Ideone Full Name | Simplified Name |
|---|---|---|
| 1 | C++ (gcc-4.3.4) | C++ |
| 2 | Pascal (gpc) (gpc 20070904) | Pascal |
| 3 | Perl (perl 5.12.1) | Perl |
| 4 | Python (python 2.7.2) | Python |
| 5 | Fortran (gfortran-4.3.4) | Fortran |
| 6 | Whitespace (wspace 0.3) | Whitespace |
| 7 | Ada (gnat-4.3.2) | Ada |
| 8 | Ocaml (ocamlopt 3.10.2) | Ocaml |
| 9 | Intercal (c-intercal 28.0-r1) | Intercal |
| 10 | Java (sun-jdk-1.6.0.31) | Java |
| 11 | C (gcc-4.3.4) | C |
| 12 | Brainf**k (bff-1.0.3.1) | Brainf**k |
| 13 | Assembler (nasm-2.07) | Assembler |
| 14 | CLIPS (clips 6.24) | CLIPS |
| 15 | Prolog (swi) (swipl 5.6.64) | Prolog |
| 16 | Icon (iconc 9.4.3) | Icon |
| 17 | Ruby (ruby-1.9.2) | Ruby |
| 19 | Pike (pike 7.6.86) | Pike |
| 21 | Haskell (ghc-6.8.2) | Haskell |
| 22 | Pascal (fpc) (fpc 2.2.0) | Pascal |
| 23 | Smalltalk (gst 3.1) | Smalltalk |
| 25 | Nice (nicec 0.9.6) | Nice |
| 26 | Lua (luac 5.1.4) | Lua |
| 27 | C# (mono-2.8) | C# |
| 28 | Bash (bash 4.0.35) | Bash |
| 29 | PHP (php 5.2.11) | PHP |
| 30 | Nemerle (ncc 0.9.3) | Nemerle |
| 32 | Common Lisp (clisp) (clisp 2.47) | Common Lisp |
| 33 | Scheme (guile) (guile 1.8.5) | Scheme |
| 34 | C99 strict (gcc-4.3.4) | C99 strict |
| 35 | JavaScript (rhino) (rhino-1.6.5) | JavaScript |
| 36 | Erlang (erl-5.7.3) | Erlang |
| 38 | Tcl (tclsh 8.5.7) | Tcl |
| 39 | Scala (scala-2.9.1) | Scala |
| 40 | SQL (sqlite3-3.7.3) | SQL |
| 43 | Objective-C (gcc-4.5.1) | Objective-C |
| 44 | C++0x (gcc-4.5.1) | C++0x |
| 45 | Assembler (gcc-4.3.4) | Assembler |
| 54 | Perl 6 (rakudo-2010.08) | Perl 6 |
| 55 | Java7 (sun-jdk-1.7.0_03) | Java7 |
| 62 | Text (text 6.10) | Text |
| 101 | VB.NET (mono-2.4.2.3) | VB.NET |
| 102 | D (dmd) (dmd-2.042) | D |
| 104 | AWK (gawk) (gawk-3.1.6) | AWK |
| 105 | AWK (mawk) (mawk-1.3.3) | AWK |
| 106 | COBOL 85 (tinycobol-0.65.9) | COBOL 85 |
| 107 | Forth (gforth-0.7.0) | Forth |
| 108 | Prolog (gnu) (gprolog-1.3.1) | Prolog |
| 110 | bc (bc-1.06.95) | bc |
| 111 | Clojure (clojure 1.3) | Clojure |
| 112 | JavaScript (spidermonkey) (spidermonkey-1.7) | JavaScript |
| 114 | Go (gc-2010-07-14) | Go |
| 115 | Unlambda (unlambda-2.0.0) | Unlambda |
| 116 | Python 3 (python-3.1.2) | Python 3 |
| 117 | R (R-2.11.1) | R |
| 118 | COBOL (open-cobol-1.0) | COBOL |
| 119 | Oz (mozart-1.4.0) | Oz |
| 121 | Groovy (groovy-1.8.6) | Groovy |
| 122 | Nimrod (nimrod-0.8.8) | Nimrod |
| 123 | Factor (factor-0.93) | Factor |
| 124 | F# (fsharp-2.0.0) | F# |
| 125 | Falcon (falcon-0.9.6.6) | Falcon |