|
| 1 | +[build-system] |
| 2 | +requires = ["setuptools", "setuptools-scm>8.1"] |
| 3 | +build-backend = "setuptools.build_meta" |
| 4 | + |
| 5 | +[project] |
| 6 | +name = "edx-codejail" |
| 7 | +description = "CodeJail manages execution of untrusted code in secure sandboxes. It is designed primarily for Python execution, but can be used for other languages as well." |
| 8 | +requires-python = ">=3.12" |
| 9 | +license = "Apache-2.0" |
| 10 | +license-files = ["LICENSE*"] |
| 11 | +authors = [ |
| 12 | + {name = "Open edX Project", email = "oscm@openedx.org"}, |
| 13 | +] |
| 14 | +classifiers = [ |
| 15 | + "Development Status :: 5 - Production/Stable", |
| 16 | + "Operating System :: POSIX :: Linux", |
| 17 | + "Intended Audience :: Developers", |
| 18 | + "Programming Language :: Python", |
| 19 | + "Programming Language :: Python :: 3", |
| 20 | + "Programming Language :: Python :: 3.12", |
| 21 | +] |
| 22 | +keywords = [ |
| 23 | + "Python", |
| 24 | + "edx", |
| 25 | + "codejail", |
| 26 | +] |
| 27 | + |
| 28 | +dynamic = ["readme", "version"] |
| 29 | + |
| 30 | +dependencies = [ |
| 31 | + "six", |
| 32 | +] |
| 33 | + |
| 34 | +[project.urls] |
| 35 | +Homepage = "https://github.com/openedx/codejail" |
| 36 | +Repository = "https://github.com/openedx/codejail" |
| 37 | + |
| 38 | +[dependency-groups] |
| 39 | +sandbox = [ |
| 40 | + "numpy", |
| 41 | + "six", |
| 42 | +] |
| 43 | +test-base = [ |
| 44 | + {include-group = "sandbox"}, |
| 45 | + "pylint", |
| 46 | + "pytest", |
| 47 | + "isort", |
| 48 | + "pycodestyle", |
| 49 | +] |
| 50 | +test = [ |
| 51 | + {include-group = "test-base"}, |
| 52 | + "Django>=5.2,<6.0", |
| 53 | +] |
| 54 | +django42 = [ |
| 55 | + {include-group = "test-base"}, |
| 56 | + "Django>=4.2,<5.0", |
| 57 | +] |
| 58 | +quality = [ |
| 59 | + {include-group = "test"}, |
| 60 | + "edx-lint", |
| 61 | +] |
| 62 | +ci = [ |
| 63 | + "tox", |
| 64 | + "tox-uv", |
| 65 | +] |
| 66 | +dev = [ |
| 67 | + {include-group = "quality"}, |
| 68 | + {include-group = "ci"}, |
| 69 | +] |
| 70 | + |
| 71 | +[tool.setuptools] |
| 72 | +include-package-data = true |
| 73 | +script-files = ["memory_stress.py"] |
| 74 | + |
| 75 | +[tool.setuptools.dynamic] |
| 76 | +readme = {file = ["README.rst"], content-type = "text/x-rst"} |
| 77 | + |
| 78 | +[tool.setuptools.packages.find] |
| 79 | +where = ["src"] |
| 80 | + |
| 81 | +[tool.setuptools.package-data] |
| 82 | +"*" = [ |
| 83 | + "tests/hello.txt", |
| 84 | +] |
| 85 | + |
| 86 | +[tool.semantic_release] |
| 87 | +build_command = "pip install build && SETUPTOOLS_SCM_PRETEND_VERSION=$NEW_VERSION python -m build" |
| 88 | + |
| 89 | +[tool.setuptools_scm] |
| 90 | +version_scheme = 'only-version' |
| 91 | +local_scheme = 'no-local-version' |
| 92 | +fallback_version = "0.0.0.dev0" |
| 93 | + |
| 94 | +[tool.uv] |
| 95 | +package = true |
| 96 | +conflicts = [ |
| 97 | + [{group = "django42"}, {group = "test"}], |
| 98 | + [{group = "django42"}, {group = "quality"}], |
| 99 | + [{group = "dev"}, {group = "django42"}], |
| 100 | +] |
| 101 | +constraint-dependencies = [ |
| 102 | + "Django<6.0", |
| 103 | + "elasticsearch<7.14.0", |
| 104 | + "social-auth-app-django<6.0.0", |
| 105 | + "social-auth-core<5.0.0", |
| 106 | + "pip<26.2.1", |
| 107 | +] |
| 108 | + |
| 109 | +[tool.edx_lint] |
| 110 | +uv_constraints = [] |
| 111 | + |
| 112 | +[tool.coverage.run] |
| 113 | +branch = true |
| 114 | +source = ["codejail"] |
| 115 | +omit = [ |
| 116 | + "*/tests/doit.py", |
| 117 | +] |
| 118 | + |
| 119 | +[tool.coverage.report] |
| 120 | +show_missing = true |
| 121 | + |
| 122 | +[tool.isort] |
| 123 | +include_trailing_comma = true |
| 124 | +indent = " " |
| 125 | +line_length = 120 |
| 126 | +multi_line_output = 3 |
0 commit comments