|
4 | 4 | <a href="https://paypal.me/hermanzdosilovic" target="_blank"><img src="https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif" alt="Donate with PayPal" height="43px" /></a>
|
5 | 5 |
|
6 | 6 | ## About
|
7 |
| -This is a Docker image with installed compilers, interpreters and [sandbox](https://github.com/ioi/isolate). It is used as a base image for [Judge0](https://github.com/judge0/judge0). |
| 7 | +This is a Docker image with installed compilers, interpreters, and [sandbox](https://github.com/ioi/isolate). It is used as a base image for [Judge0](https://github.com/judge0/judge0). |
8 | 8 |
|
9 | 9 | ## Get Started
|
10 |
| -<a href="https://rapidapi.com/hermanzdosilovic/api/judge0" target="_blank"><img src="https://storage.googleapis.com/code-snippets/connect-on-rapidapi-light.png" width="215px" alt="Connect on RapidAPI"></a> |
11 |
| -<span style="margin-left: 20px"></span> |
| 10 | +Start with the [**FREE Basic Plan**](https://rapidapi.com/hermanzdosilovic/api/judge0/pricing) on RapidAPI or [host it yourself](https://github.com/judge0/judge0/blob/master/CHANGELOG.md#deployment-procedure). |
12 | 11 |
|
13 |
| -or [deploy](https://github.com/judge0/judge0/blob/master/CHANGELOG.md#deployment-procedure) on your server. |
| 12 | +### Why should you use Judge0 on RapidAPI? |
| 13 | +Our infrastructure behind RapidAPI allows you to focus on building your product and forget about the know-how of maintaining and scaling Judge0. |
| 14 | + |
| 15 | +### RapidAPI plans are not (good) enough for you? |
| 16 | +Let's talk. [Contact us ](mailto:[email protected]). |
14 | 17 |
|
15 | 18 | ## Supported Languages
|
16 |
| -### [Standard Edition](https://rapidapi.com/hermanzdosilovic/api/judge0) |
17 |
| -|#|Name| |
18 |
| -|:---:|:---:| |
19 |
| -|1|Assembly (NASM 2.14.02)| |
20 |
| -|2|Bash (5.0.0)| |
21 |
| -|3|Basic (FBC 1.07.1)| |
22 |
| -|4|C (Clang 7.0.1)| |
23 |
| -|5|C (GCC 7.4.0)| |
24 |
| -|6|C (GCC 8.3.0)| |
25 |
| -|7|C (GCC 9.2.0)| |
26 |
| -|8|C# (Mono 6.6.0.161)| |
27 |
| -|9|C++ (Clang 7.0.1)| |
28 |
| -|10|C++ (GCC 7.4.0)| |
29 |
| -|11|C++ (GCC 8.3.0)| |
30 |
| -|12|C++ (GCC 9.2.0)| |
31 |
| -|13|Clojure (1.10.1)| |
32 |
| -|14|COBOL (GnuCOBOL 2.2)| |
33 |
| -|15|Common Lisp (SBCL 2.0.0)| |
34 |
| -|16|D (DMD 2.089.1)| |
35 |
| -|17|Elixir (1.9.4)| |
36 |
| -|18|Erlang (OTP 22.2)| |
37 |
| -|19|Executable| |
38 |
| -|20|F# (.NET Core SDK 3.1.202)| |
39 |
| -|21|Fortran (GFortran 9.2.0)| |
40 |
| -|22|Go (1.13.5)| |
41 |
| -|23|Groovy (3.0.3)| |
42 |
| -|24|Haskell (GHC 8.8.1)| |
43 |
| -|25|Java (OpenJDK 13.0.1)| |
44 |
| -|26|JavaScript (Node.js 12.14.0)| |
45 |
| -|27|Kotlin (1.3.70)| |
46 |
| -|28|Lua (5.3.5)| |
47 |
| -|29|Objective-C (Clang 7.0.1)| |
48 |
| -|30|OCaml (4.09.0)| |
49 |
| -|31|Octave (5.1.0)| |
50 |
| -|32|Pascal (FPC 3.0.4)| |
51 |
| -|33|Perl (5.28.1)| |
52 |
| -|34|PHP (7.4.1)| |
53 |
| -|35|Plain Text| |
54 |
| -|36|Prolog (GNU Prolog 1.4.5)| |
55 |
| -|37|Python (2.7.17)| |
56 |
| -|38|Python (3.8.1)| |
57 |
| -|39|R (4.0.0)| |
58 |
| -|40|Ruby (2.7.0)| |
59 |
| -|41|Rust (1.40.0)| |
60 |
| -|42|Scala (2.13.2)| |
61 |
| -|43|SQL (SQLite 3.27.2)| |
62 |
| -|44|Swift (5.2.3)| |
63 |
| -|45|TypeScript (3.7.4)| |
64 |
| -|46|Visual Basic<span>.</span>Net (vbnc 0.0.0.5943)| |
| 19 | +Judge0 comes in two flavors: [Judge0](https://rapidapi.com/hermanzdosilovic/api/judge0/pricing) and [Judge0 Extra](https://rapidapi.com/hermanzdosilovic/api/judge0-extra/pricing). They differ mostly in the supported languages. |
| 20 | + |
| 21 | +### [Judge0](https://rapidapi.com/hermanzdosilovic/api/judge0/pricing) |
| 22 | +<details><summary>Click here to expand the list</summary> |
| 23 | +<table> |
| 24 | +<thead> |
| 25 | +<tr> |
| 26 | +<th style="text-align:center">#</th> |
| 27 | +<th style="text-align:center">Name</th> |
| 28 | +</tr> |
| 29 | +</thead> |
| 30 | +<tbody> |
| 31 | +<tr> |
| 32 | +<td style="text-align:center">1</td> |
| 33 | +<td style="text-align:center">Assembly (NASM 2.14.02)</td> |
| 34 | +</tr> |
| 35 | +<tr> |
| 36 | +<td style="text-align:center">2</td> |
| 37 | +<td style="text-align:center">Bash (5.0.0)</td> |
| 38 | +</tr> |
| 39 | +<tr> |
| 40 | +<td style="text-align:center">3</td> |
| 41 | +<td style="text-align:center">Basic (FBC 1.07.1)</td> |
| 42 | +</tr> |
| 43 | +<tr> |
| 44 | +<td style="text-align:center">4</td> |
| 45 | +<td style="text-align:center">C (Clang 7.0.1)</td> |
| 46 | +</tr> |
| 47 | +<tr> |
| 48 | +<td style="text-align:center">5</td> |
| 49 | +<td style="text-align:center">C (GCC 7.4.0)</td> |
| 50 | +</tr> |
| 51 | +<tr> |
| 52 | +<td style="text-align:center">6</td> |
| 53 | +<td style="text-align:center">C (GCC 8.3.0)</td> |
| 54 | +</tr> |
| 55 | +<tr> |
| 56 | +<td style="text-align:center">7</td> |
| 57 | +<td style="text-align:center">C (GCC 9.2.0)</td> |
| 58 | +</tr> |
| 59 | +<tr> |
| 60 | +<td style="text-align:center">8</td> |
| 61 | +<td style="text-align:center">C# (Mono 6.6.0.161)</td> |
| 62 | +</tr> |
| 63 | +<tr> |
| 64 | +<td style="text-align:center">9</td> |
| 65 | +<td style="text-align:center">C++ (Clang 7.0.1)</td> |
| 66 | +</tr> |
| 67 | +<tr> |
| 68 | +<td style="text-align:center">10</td> |
| 69 | +<td style="text-align:center">C++ (GCC 7.4.0)</td> |
| 70 | +</tr> |
| 71 | +<tr> |
| 72 | +<td style="text-align:center">11</td> |
| 73 | +<td style="text-align:center">C++ (GCC 8.3.0)</td> |
| 74 | +</tr> |
| 75 | +<tr> |
| 76 | +<td style="text-align:center">12</td> |
| 77 | +<td style="text-align:center">C++ (GCC 9.2.0)</td> |
| 78 | +</tr> |
| 79 | +<tr> |
| 80 | +<td style="text-align:center">13</td> |
| 81 | +<td style="text-align:center">Clojure (1.10.1)</td> |
| 82 | +</tr> |
| 83 | +<tr> |
| 84 | +<td style="text-align:center">14</td> |
| 85 | +<td style="text-align:center">COBOL (GnuCOBOL 2.2)</td> |
| 86 | +</tr> |
| 87 | +<tr> |
| 88 | +<td style="text-align:center">15</td> |
| 89 | +<td style="text-align:center">Common Lisp (SBCL 2.0.0)</td> |
| 90 | +</tr> |
| 91 | +<tr> |
| 92 | +<td style="text-align:center">16</td> |
| 93 | +<td style="text-align:center">D (DMD 2.089.1)</td> |
| 94 | +</tr> |
| 95 | +<tr> |
| 96 | +<td style="text-align:center">17</td> |
| 97 | +<td style="text-align:center">Elixir (1.9.4)</td> |
| 98 | +</tr> |
| 99 | +<tr> |
| 100 | +<td style="text-align:center">18</td> |
| 101 | +<td style="text-align:center">Erlang (OTP 22.2)</td> |
| 102 | +</tr> |
| 103 | +<tr> |
| 104 | +<td style="text-align:center">19</td> |
| 105 | +<td style="text-align:center">Executable</td> |
| 106 | +</tr> |
| 107 | +<tr> |
| 108 | +<td style="text-align:center">20</td> |
| 109 | +<td style="text-align:center">F# (.NET Core SDK 3.1.202)</td> |
| 110 | +</tr> |
| 111 | +<tr> |
| 112 | +<td style="text-align:center">21</td> |
| 113 | +<td style="text-align:center">Fortran (GFortran 9.2.0)</td> |
| 114 | +</tr> |
| 115 | +<tr> |
| 116 | +<td style="text-align:center">22</td> |
| 117 | +<td style="text-align:center">Go (1.13.5)</td> |
| 118 | +</tr> |
| 119 | +<tr> |
| 120 | +<td style="text-align:center">23</td> |
| 121 | +<td style="text-align:center">Groovy (3.0.3)</td> |
| 122 | +</tr> |
| 123 | +<tr> |
| 124 | +<td style="text-align:center">24</td> |
| 125 | +<td style="text-align:center">Haskell (GHC 8.8.1)</td> |
| 126 | +</tr> |
| 127 | +<tr> |
| 128 | +<td style="text-align:center">25</td> |
| 129 | +<td style="text-align:center">Java (OpenJDK 13.0.1)</td> |
| 130 | +</tr> |
| 131 | +<tr> |
| 132 | +<td style="text-align:center">26</td> |
| 133 | +<td style="text-align:center">JavaScript (Node.js 12.14.0)</td> |
| 134 | +</tr> |
| 135 | +<tr> |
| 136 | +<td style="text-align:center">27</td> |
| 137 | +<td style="text-align:center">Kotlin (1.3.70)</td> |
| 138 | +</tr> |
| 139 | +<tr> |
| 140 | +<td style="text-align:center">28</td> |
| 141 | +<td style="text-align:center">Lua (5.3.5)</td> |
| 142 | +</tr> |
| 143 | +<tr> |
| 144 | +<td style="text-align:center">29</td> |
| 145 | +<td style="text-align:center">Objective-C (Clang 7.0.1)</td> |
| 146 | +</tr> |
| 147 | +<tr> |
| 148 | +<td style="text-align:center">30</td> |
| 149 | +<td style="text-align:center">OCaml (4.09.0)</td> |
| 150 | +</tr> |
| 151 | +<tr> |
| 152 | +<td style="text-align:center">31</td> |
| 153 | +<td style="text-align:center">Octave (5.1.0)</td> |
| 154 | +</tr> |
| 155 | +<tr> |
| 156 | +<td style="text-align:center">32</td> |
| 157 | +<td style="text-align:center">Pascal (FPC 3.0.4)</td> |
| 158 | +</tr> |
| 159 | +<tr> |
| 160 | +<td style="text-align:center">33</td> |
| 161 | +<td style="text-align:center">Perl (5.28.1)</td> |
| 162 | +</tr> |
| 163 | +<tr> |
| 164 | +<td style="text-align:center">34</td> |
| 165 | +<td style="text-align:center">PHP (7.4.1)</td> |
| 166 | +</tr> |
| 167 | +<tr> |
| 168 | +<td style="text-align:center">35</td> |
| 169 | +<td style="text-align:center">Plain Text</td> |
| 170 | +</tr> |
| 171 | +<tr> |
| 172 | +<td style="text-align:center">36</td> |
| 173 | +<td style="text-align:center">Prolog (GNU Prolog 1.4.5)</td> |
| 174 | +</tr> |
| 175 | +<tr> |
| 176 | +<td style="text-align:center">37</td> |
| 177 | +<td style="text-align:center">Python (2.7.17)</td> |
| 178 | +</tr> |
| 179 | +<tr> |
| 180 | +<td style="text-align:center">38</td> |
| 181 | +<td style="text-align:center">Python (3.8.1)</td> |
| 182 | +</tr> |
| 183 | +<tr> |
| 184 | +<td style="text-align:center">39</td> |
| 185 | +<td style="text-align:center">R (4.0.0)</td> |
| 186 | +</tr> |
| 187 | +<tr> |
| 188 | +<td style="text-align:center">40</td> |
| 189 | +<td style="text-align:center">Ruby (2.7.0)</td> |
| 190 | +</tr> |
| 191 | +<tr> |
| 192 | +<td style="text-align:center">41</td> |
| 193 | +<td style="text-align:center">Rust (1.40.0)</td> |
| 194 | +</tr> |
| 195 | +<tr> |
| 196 | +<td style="text-align:center">42</td> |
| 197 | +<td style="text-align:center">Scala (2.13.2)</td> |
| 198 | +</tr> |
| 199 | +<tr> |
| 200 | +<td style="text-align:center">43</td> |
| 201 | +<td style="text-align:center">SQL (SQLite 3.27.2)</td> |
| 202 | +</tr> |
| 203 | +<tr> |
| 204 | +<td style="text-align:center">44</td> |
| 205 | +<td style="text-align:center">Swift (5.2.3)</td> |
| 206 | +</tr> |
| 207 | +<tr> |
| 208 | +<td style="text-align:center">45</td> |
| 209 | +<td style="text-align:center">TypeScript (3.7.4)</td> |
| 210 | +</tr> |
| 211 | +<tr> |
| 212 | +<td style="text-align:center">46</td> |
| 213 | +<td style="text-align:center">Visual Basic<span>.</span>Net (vbnc 0.0.0.5943)</td> |
| 214 | +</tr> |
| 215 | +</tbody> |
| 216 | +</table> |
| 217 | +</details> |
65 | 218 |
|
66 |
| -### [Extra Edition](https://rapidapi.com/hermanzdosilovic/api/judge0-extra) |
67 |
| -|#|Name| |
68 |
| -|:---:|:---:| |
69 |
| -|1|Bosque (latest)| |
70 |
| -|2|C (Clang 10.0.1)| |
71 |
| -|3|C (Clang 9.0.1)| |
72 |
| -|4|C# (.NET Core SDK 3.1.302)| |
73 |
| -|5|C# (Mono 6.10.0.104)| |
74 |
| -|6|C# Test (.NET Core SDK 3.1.302, NUnit 3.12.0)| |
75 |
| -|7|C++ (Clang 10.0.1)| |
76 |
| -|8|C++ (Clang 9.0.1)| |
77 |
| -|9|C++ Test (Clang 10.0.1, Google Test 1.8.1)| |
78 |
| -|10|C++ Test (GCC 8.4.0, Google Test 1.8.1)| |
79 |
| -|11|C3 (latest)| |
80 |
| -|12|F# (.NET Core SDK 3.1.302)| |
81 |
| -|13|Java (OpenJDK 14.0.1)| |
82 |
| -|14|Java Test (OpenJDK 14.0.1, JUnit Platform Console Standalone 1.6.2)| |
83 |
| -|15|MPI (OpenRTE 3.1.3) with C (GCC 8.4.0)| |
84 |
| -|16|MPI (OpenRTE 3.1.3) with C++ (GCC 8.4.0)| |
85 |
| -|17|MPI (OpenRTE 3.1.3) with Python (3.7.7)| |
86 |
| -|18|Nim (stable)| |
87 |
| -|19|Python for ML (3.7.7)| |
88 |
| -|20|Visual Basic<span>.</span>Net (vbnc 0.0.0.5943)| |
| 219 | +### [Judge0 Extra](https://rapidapi.com/hermanzdosilovic/api/judge0-extra/pricing) |
| 220 | +<details><summary>Click here to expand the list</summary> |
| 221 | +<table> |
| 222 | +<thead> |
| 223 | +<tr> |
| 224 | +<th style="text-align:center">#</th> |
| 225 | +<th style="text-align:center">Name</th> |
| 226 | +</tr> |
| 227 | +</thead> |
| 228 | +<tbody> |
| 229 | +<tr> |
| 230 | +<td style="text-align:center">1</td> |
| 231 | +<td style="text-align:center">Bosque (latest)</td> |
| 232 | +</tr> |
| 233 | +<tr> |
| 234 | +<td style="text-align:center">2</td> |
| 235 | +<td style="text-align:center">C (Clang 10.0.1)</td> |
| 236 | +</tr> |
| 237 | +<tr> |
| 238 | +<td style="text-align:center">3</td> |
| 239 | +<td style="text-align:center">C (Clang 9.0.1)</td> |
| 240 | +</tr> |
| 241 | +<tr> |
| 242 | +<td style="text-align:center">4</td> |
| 243 | +<td style="text-align:center">C# (.NET Core SDK 3.1.302)</td> |
| 244 | +</tr> |
| 245 | +<tr> |
| 246 | +<td style="text-align:center">5</td> |
| 247 | +<td style="text-align:center">C# (Mono 6.10.0.104)</td> |
| 248 | +</tr> |
| 249 | +<tr> |
| 250 | +<td style="text-align:center">6</td> |
| 251 | +<td style="text-align:center">C# Test (.NET Core SDK 3.1.302, NUnit 3.12.0)</td> |
| 252 | +</tr> |
| 253 | +<tr> |
| 254 | +<td style="text-align:center">7</td> |
| 255 | +<td style="text-align:center">C++ (Clang 10.0.1)</td> |
| 256 | +</tr> |
| 257 | +<tr> |
| 258 | +<td style="text-align:center">8</td> |
| 259 | +<td style="text-align:center">C++ (Clang 9.0.1)</td> |
| 260 | +</tr> |
| 261 | +<tr> |
| 262 | +<td style="text-align:center">9</td> |
| 263 | +<td style="text-align:center">C++ Test (Clang 10.0.1, Google Test 1.8.1)</td> |
| 264 | +</tr> |
| 265 | +<tr> |
| 266 | +<td style="text-align:center">10</td> |
| 267 | +<td style="text-align:center">C++ Test (GCC 8.4.0, Google Test 1.8.1)</td> |
| 268 | +</tr> |
| 269 | +<tr> |
| 270 | +<td style="text-align:center">11</td> |
| 271 | +<td style="text-align:center">C3 (latest)</td> |
| 272 | +</tr> |
| 273 | +<tr> |
| 274 | +<td style="text-align:center">12</td> |
| 275 | +<td style="text-align:center">F# (.NET Core SDK 3.1.302)</td> |
| 276 | +</tr> |
| 277 | +<tr> |
| 278 | +<td style="text-align:center">13</td> |
| 279 | +<td style="text-align:center">Java (OpenJDK 14.0.1)</td> |
| 280 | +</tr> |
| 281 | +<tr> |
| 282 | +<td style="text-align:center">14</td> |
| 283 | +<td style="text-align:center">Java Test (OpenJDK 14.0.1, JUnit Platform Console Standalone 1.6.2)</td> |
| 284 | +</tr> |
| 285 | +<tr> |
| 286 | +<td style="text-align:center">15</td> |
| 287 | +<td style="text-align:center">MPI (OpenRTE 3.1.3) with C (GCC 8.4.0)</td> |
| 288 | +</tr> |
| 289 | +<tr> |
| 290 | +<td style="text-align:center">16</td> |
| 291 | +<td style="text-align:center">MPI (OpenRTE 3.1.3) with C++ (GCC 8.4.0)</td> |
| 292 | +</tr> |
| 293 | +<tr> |
| 294 | +<td style="text-align:center">17</td> |
| 295 | +<td style="text-align:center">MPI (OpenRTE 3.1.3) with Python (3.7.7)</td> |
| 296 | +</tr> |
| 297 | +<tr> |
| 298 | +<td style="text-align:center">18</td> |
| 299 | +<td style="text-align:center">Nim (stable)</td> |
| 300 | +</tr> |
| 301 | +<tr> |
| 302 | +<td style="text-align:center">19</td> |
| 303 | +<td style="text-align:center">Python for ML (3.7.7)</td> |
| 304 | +</tr> |
| 305 | +<tr> |
| 306 | +<td style="text-align:center">20</td> |
| 307 | +<td style="text-align:center">Visual Basic<span>.</span>Net (vbnc 0.0.0.5943)</td> |
| 308 | +</tr> |
| 309 | +</tbody> |
| 310 | +</table> |
| 311 | +</details> |
89 | 312 |
|
90 | 313 | ## Sandbox
|
91 |
| -For sandbox we are using [isolate](https://github.com/ioi/isolate) (licensed under [GPL v2](https://github.com/ioi/isolate/blob/master/LICENSE)). |
| 314 | +For sandbox we are using [Isolate](https://github.com/ioi/isolate) (licensed under [GPL v2](https://github.com/ioi/isolate/blob/master/LICENSE)). |
92 | 315 |
|
93 | 316 | >Isolate is a sandbox built to safely run untrusted executables, offering them a limited-access environment and preventing them from affecting the host system. It takes advantage of features specific to the Linux kernel, like namespaces and control groups.
|
94 | 317 |
|
95 |
| -Huge thanks to [Martin Mareš](https://github.com/gollux) and [Bernard Blackham](https://github.com/bblackham) for developing and maintaining this project. Thanks to all [contributors](https://github.com/ioi/isolate/graphs/contributors) for their contributions to isolate project. |
| 318 | +Huge thanks to [Martin Mareš](https://github.com/gollux) and [Bernard Blackham](https://github.com/bblackham) for developing and maintaining Isolate. Thanks to all [contributors](https://github.com/ioi/isolate/graphs/contributors) for their contributions to Isolate project. |
96 | 319 |
|
97 |
| -Isolate was used as sandbox environment (part of [CMS](https://github.com/cms-dev/cms) system) on big programming contests like [International Olympiad in Informatics](http://www.ioinformatics.org/index.shtml) (a.k.a. IOI) in 2012, and we trust that it works and does its job. |
| 320 | +Isolate was used as a sandbox environment (part of [CMS](https://github.com/cms-dev/cms) system) on big programming contests like [International Olympiad in Informatics](http://www.ioinformatics.org/index.shtml) (a.k.a. IOI) in 2012, and we trust that it works and does its job. |
98 | 321 |
|
99 | 322 | ## Donate
|
100 | 323 | Your are more than welcome to support Judge0 development on [Patreon](https://www.patreon.com/hermanzdosilovic), via [PayPal](https://paypal.me/hermanzdosilovic) or [Revolut](https://pay.revolut.com/profile/hermancy5).
|
0 commit comments