Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/judge0/judge0

🔥 The most advanced open-source online code execution system in the world.
https://github.com/judge0/judge0

code-execution code-executor code-runner competitive-programming online-compiler online-judge online-judges onlinejudge onlinejudge-solution

Last synced: 3 months ago
JSON representation

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

Awesome Lists containing this project

README

        

[![Judge0 Wallpaper](./.github/judge0-colored.png)](https://ce.judge0.com)
# Judge0 CE

[![License](https://img.shields.io/github/license/judge0/judge0?color=2185d0&style=flat-square)](LICENSE)
[![Release](https://img.shields.io/github/v/release/judge0/judge0?color=2185d0&style=flat-square)](https://github.com/judge0/judge0/releases)
[![Stars](https://img.shields.io/github/stars/judge0/judge0?color=2185d0&style=flat-square)](https://github.com/judge0/judge0/stargazers)

[![DigitalOcean Referral Badge](https://web-platforms.sfo2.digitaloceanspaces.com/WWW/Badge%203.svg)](https://www.digitalocean.com/?refcode=b428451eb426&utm_campaign=Referral_Invite&utm_medium=Referral_Program&utm_source=badge)

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

## Table of Contents
* [About](#about)
* [Features](#features)
* [Get Started](#get-started)
* [Flavors](#flavors)
* [Supported Languages](#supported-languages)
* [References](#references)
* [Citation](#citation)
* [Community](#community)
* [Author and Contributors](#author-and-contributors)
* [Changelog](#changelog)
* [Special Thanks](#special-thanks)
* [License](#license)

## About
[Judge0](https://ce.judge0.com) (pronounced like "judge zero") is a robust, scalable, and [open-source](https://github.com/judge0/judge0) **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](https://paper.judge0.com), 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](https://ide.judge0.com) - our free and open-source online code editor.

## Features
- Quick and easy [installation](https://judge0.com/#pricing)
- Rich and verbose [API documentation](https://ce.judge0.com)
- Scalable architecture
- Sandboxed compilation and execution
- Support for [60+ languages](#supported-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](https://ce.judge0.com).

## Get Started
Get started with Judge0 today on [**Sulu**](https://sparkhub.sulu.sh/apis/judge0/judge0-ce/readme) and get [**20K Free Submissions**](https://sparkhub.sulu.sh/auth/signup) to try it when you sign up.

You can also get started with the [**FREE Basic Plan**](https://judge0.com/ce) on RapidAPI or [host it yourself](https://github.com/judge0/judge0/blob/master/CHANGELOG.md#deployment-procedure).

You can find our detailed plans and pricing [here](https://judge0.com/#pricing). So far our clients have run with us more than ![](https://img.shields.io/endpoint?color=2185d0&style=flat-square&url=https%3A%2F%2Fjudge0.com%2Fstatistics-badge) programs.

### Why should you use Judge0 on Sulu or RapidAPI?
Our infrastructure allows you to **focus on building your product** and forget about the know-how of maintaining and scaling Judge0.

### Sulu or RapidAPI plans are not (good) enough for you?
Let's talk. [Contact us](mailto:[email protected]).

## Flavors
Judge0 comes in two flavors: [Judge0 CE](https://judge0.com/ce) and [Judge0 Extra CE](https://judge0.com/extra-ce). They differ mostly in the [supported languages](#supported-languages).

You can find the source code for Judge0 CE on the [`master`](https://github.com/judge0/judge0/tree/master) branch, while you can find the source code for Judge0 Extra CE on the [`extra`](https://github.com/judge0/judge0/tree/extra) branch.

Judge0 Extra CE is also available on [Sulu](https://judge0.com/extra-ce) and [RapidAPI](https://judge0.com/extra-ce).

## Supported Languages
Judge0 comes in two flavors: [Judge0 CE](https://judge0.com/ce) and [Judge0 Extra CE](https://judge0.com/extra-ce). They differ mostly in the [supported languages](#supported-languages).

### [Judge0 CE](https://judge0.com/ce)
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)

### [Judge0 Extra CE](https://judge0.com/extra-ce)
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.](https://judge0.com/#clients)

### Scientific Articles
These scientific articles mention Judge0.

### Other Online References

## Citation
Please [cite us](https://ieeexplore.ieee.org/abstract/document/9245310) 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?

* [Subscribe to Judge0 newsletter](https://subscribe.judge0.com)
* [Join our Discord server](https://discord.gg/GRc3v6n)
* [Watch asciicasts](https://asciinema.org/~hermanzdosilovic)
* [Report an issue](https://github.com/judge0/judge0/issues/new)
* [Contact us](mailto:[email protected])
* [Schedule an online meeting with us](https://meet.judge0.com)

## Author and Contributors
Judge0 was created and is maintained by [Herman Zvonimir Došilović](https://hermanz.dosilovic.com).

Thanks a lot to all [contributors](https://github.com/judge0/judge0/graphs/contributors) for their contributions to this project.



## Changelog
You can find the detailed specification of changes between versions in [CHANGELOG.md](CHANGELOG.md).

## Special Thanks
Special thanks to open-source projects without whom Judge0 probably wouldn't exist: [Isolate](https://github.com/ioi/isolate), [Docker](https://github.com/docker), [Ruby on Rails](https://github.com/rails/rails) and others.

## License
Judge0 is licensed under the [GNU General Public License v3.0](LICENSE).