1{
2 lib,
3 buildPythonPackage,
4 colorama,
5 fetchFromGitHub,
6 online-judge-api-client,
7 packaging,
8 requests,
9 setuptools,
10}:
11
12buildPythonPackage rec {
13 pname = "online-judge-tools";
14 version = "12.0.0";
15 pyproject = true;
16
17 src = fetchFromGitHub {
18 owner = "online-judge-tools";
19 repo = "oj";
20 tag = "v${version}";
21 hash = "sha256-m6V4Sq3yU/KPnbpA0oCLI/qaSrAPA6TutcBL5Crb/Cc=";
22 };
23
24 build-system = [ setuptools ];
25
26 dependencies = [
27 colorama
28 online-judge-api-client
29 packaging
30 requests
31 ];
32
33 pythonImportsCheck = [
34 "onlinejudge"
35 "onlinejudge_command"
36 ];
37
38 # Requires internet access
39 doCheck = false;
40
41 meta = with lib; {
42 description = "Tools for various online judges. Download sample cases, generate additional test cases, test your code, and submit it";
43 mainProgram = "oj";
44 homepage = "https://github.com/online-judge-tools/oj";
45 license = licenses.mit;
46 maintainers = with maintainers; [ sei40kr ];
47 };
48}