/judge0

🔥 The most advanced open-source online code execution system in the world.

Primary LanguageHTMLGNU General Public License v3.0GPL-3.0

Judge0 Wallpaper

Judge0 CE

License Release Stars

DigitalOcean Referral Badge

🔥 The most advanced open-source online code execution system in the world.

Table of Contents

About

Judge0 (pronounced like "judge zero") is a robust, scalable, and open-source online code execution system. You can use it to build a wide range of applications that need online code execution features. Some examples include competitive programming platforms, e-learning platforms, candidate assessment and recruitment platforms, online code editors, online IDEs, and many more.

In our research paper Robust and Scalable Online Code Execution System, we present Judge0's modern modular architecture that can be easily deployed and scaled. We study its design, comment on the various challenges in building such systems, and compare it with other available online code execution systems and online judge systems.

To see Judge0 in action, try Judge0 IDE - our free and open-source online code editor.

Features

  • Quick and easy installation
  • Rich and verbose API documentation
  • Scalable architecture
  • Sandboxed compilation and execution
  • Support for 60+ languages
  • Compilation and execution of multi-file programs
  • Support for additional files alongside the user's program
  • Support for custom user-defined compiler options, command-line arguments, and time and memory limits
  • Detailed execution results
  • Webhooks (HTTP callbacks)

For more information about these and other features, please read the documentation.

Get Started

Feel free to start with the FREE Basic Plan on RapidAPI or host it yourself.

You can find our detailed plans and pricing here. So far our clients have run with us more than programs.

Why should you use Judge0 on RapidAPI?

Our infrastructure allows you to focus on building your product and forget about the know-how of maintaining and scaling Judge0.

RapidAPI plans are not (good) enough for you?

Let's talk. Contact us.

Flavors

Judge0 comes in two flavors: Judge0 CE and Judge0 Extra CE. They differ mostly in the supported languages.

You can find the source code for Judge0 CE on the master branch, while you can find the source code for Judge0 Extra CE on the extra branch.

Judge0 Extra CE is also available on RapidAPI.

Supported Languages

Judge0 comes in two flavors: Judge0 CE and Judge0 Extra CE. They differ mostly in the supported languages.

Click here to expand the list
# Name
1 Assembly (NASM 2.14.02)
2 Bash (5.0.0)
3 Basic (FBC 1.07.1)
4 C (Clang 7.0.1)
5 C (GCC 7.4.0)
6 C (GCC 8.3.0)
7 C (GCC 9.2.0)
8 C# (Mono 6.6.0.161)
9 C++ (Clang 7.0.1)
10 C++ (GCC 7.4.0)
11 C++ (GCC 8.3.0)
12 C++ (GCC 9.2.0)
13 Clojure (1.10.1)
14 COBOL (GnuCOBOL 2.2)
15 Common Lisp (SBCL 2.0.0)
16 D (DMD 2.089.1)
17 Elixir (1.9.4)
18 Erlang (OTP 22.2)
19 Executable
20 F# (.NET Core SDK 3.1.202)
21 Fortran (GFortran 9.2.0)
22 Go (1.13.5)
23 Groovy (3.0.3)
24 Haskell (GHC 8.8.1)
25 Java (OpenJDK 13.0.1)
26 JavaScript (Node.js 12.14.0)
27 Kotlin (1.3.70)
28 Lua (5.3.5)
29 Objective-C (Clang 7.0.1)
30 OCaml (4.09.0)
31 Octave (5.1.0)
32 Pascal (FPC 3.0.4)
33 Perl (5.28.1)
34 PHP (7.4.1)
35 Plain Text
36 Prolog (GNU Prolog 1.4.5)
37 Python (2.7.17)
38 Python (3.8.1)
39 R (4.0.0)
40 Ruby (2.7.0)
41 Rust (1.40.0)
42 Scala (2.13.2)
43 SQL (SQLite 3.27.2)
44 Swift (5.2.3)
45 TypeScript (3.7.4)
46 Visual Basic.Net (vbnc 0.0.0.5943)
Click here to expand the list
# Name
1 Bosque (latest)
2 C (Clang 10.0.1)
3 C (Clang 9.0.1)
4 C# (.NET Core SDK 3.1.302)
5 C# (Mono 6.10.0.104)
6 C# Test (.NET Core SDK 3.1.302, NUnit 3.12.0)
7 C++ (Clang 10.0.1)
8 C++ (Clang 9.0.1)
9 C++ Test (Clang 10.0.1, Google Test 1.8.1)
10 C++ Test (GCC 8.4.0, Google Test 1.8.1)
11 C3 (latest)
12 F# (.NET Core SDK 3.1.302)
13 Java (OpenJDK 14.0.1)
14 Java Test (OpenJDK 14.0.1, JUnit Platform Console Standalone 1.6.2)
15 MPI (OpenRTE 3.1.3) with C (GCC 8.4.0)
16 MPI (OpenRTE 3.1.3) with C++ (GCC 8.4.0)
17 MPI (OpenRTE 3.1.3) with Python (3.7.7)
18 Nim (stable)
19 Python for ML (3.7.7)
20 Visual Basic.Net (vbnc 0.0.0.5943)

References

Companies, Organizations, and Projects

These companies, institutions and organizations use Judge0.

Scientific Articles

These scientific articles mention Judge0.

Other Online References

Citation

Please cite us if you found the resources in this repository useful.

@INPROCEEDINGS{9245310,
  author={Došilović, Herman Zvonimir and Mekterović, Igor},
  booktitle={2020 43rd International Convention on Information, Communication and Electronic Technology (MIPRO)},
  title={Robust and Scalable Online Code Execution System},
  year={2020},
  volume={},
  number={},
  pages={1627-1632},
  doi={10.23919/MIPRO48935.2020.9245310}}

Community

Do you have a question, feature request, or something else on your mind? Or you want to follow Judge0 news?

Author and Contributors

Judge0 was created and is maintained by Herman Zvonimir Došilović.

Thanks a lot to all contributors for their contributions to this project.

Changelog

You can find the detailed specification of changes between versions in CHANGELOG.md.

Special Thanks

Special thanks to open-source projects without whom Judge0 probably wouldn't exist: Isolate, Docker, Ruby on Rails and others.

License

Judge0 is licensed under the GNU General Public License v3.0.