aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar MarkKoz <[email protected]>2022-05-30 14:34:17 -0700
committerGravatar MarkKoz <[email protected]>2022-05-30 14:34:17 -0700
commit063ed5585ba13e4629cf783f4fbe6a5a360744c1 (patch)
tree03b6d2b83d57d87222fdbedcdf8d67658fedb68a
parentMerge #139 - use pip-tools instead of Pipenv (diff)
Add a pyproject.toml
-rw-r--r--.dockerignore1
-rw-r--r--Makefile2
-rw-r--r--pyproject.toml44
-rw-r--r--requirements/requirements.in7
-rw-r--r--requirements/requirements.pip12
5 files changed, 52 insertions, 14 deletions
diff --git a/.dockerignore b/.dockerignore
index 30ecfd4..b2a96dd 100644
--- a/.dockerignore
+++ b/.dockerignore
@@ -7,3 +7,4 @@
!requirements/
!tests
!LICENSE
+!pyproject.toml
diff --git a/Makefile b/Makefile
index 8a2705f..e4c8383 100644
--- a/Makefile
+++ b/Makefile
@@ -13,7 +13,7 @@ setup: install-piptools
.PHONY: upgrade
upgrade: install-piptools
- $(PIP_COMPILE_CMD) -o requirements/requirements.pip requirements/requirements.in
+ $(PIP_COMPILE_CMD) -o requirements/requirements.pip pyproject.toml
$(PIP_COMPILE_CMD) -o requirements/coverage.pip requirements/coverage.in
$(PIP_COMPILE_CMD) -o requirements/coveralls.pip requirements/coveralls.in
$(PIP_COMPILE_CMD) -o requirements/lint.pip requirements/lint.in
diff --git a/pyproject.toml b/pyproject.toml
new file mode 100644
index 0000000..da921bb
--- /dev/null
+++ b/pyproject.toml
@@ -0,0 +1,44 @@
+[build-system]
+requires = ["setuptools>=61"]
+build-backend = "setuptools.build_meta"
+
+[project]
+name = "snekbox"
+version = "1.0.0"
+description = "HTTP REST API for sanboxed execution of arbitrary Python code."
+readme = "README.md"
+license = {text = "MIT"}
+authors = [{name = "Python Discord", email = "[email protected]"}]
+keywords = ["sandbox", "nsjail", "HTTP REST API"]
+classifiers = [
+ "Development Status :: 5 - Production/Stable",
+ "Environment :: Console",
+ "Intended Audience :: Developers",
+ "License :: OSI Approved :: MIT License",
+ "Operating System :: POSIX :: Linux",
+ "Programming Language :: Python :: 3 :: Only",
+ "Programming Language :: Python :: 3.10",
+ "Topic :: Internet :: WWW/HTTP :: WSGI :: Application",
+ "Topic :: Security",
+ "Topic :: Software Development :: Interpreters",
+]
+
+requires-python = ">=3.10"
+dependencies = [
+ # Sentry's Falcon integration relies on api_helpers (falconry/falcon#1902).
+ "falcon>=3.0.1",
+ "gunicorn>=20",
+ "jsonschema>=4.0",
+ "protobuf>=3.19",
+ "sentry-sdk[falcon]>=1.5.4"
+]
+
+[project.urls]
+source = "https://github.com/python-discord/snekbox"
+tracker = "https://github.com/python-discord/snekbox/issues"
+
+[project.scripts]
+snekbox = "snekbox.__main__:main"
+
+[tool.setuptools]
+packages = ["snekbox"]
diff --git a/requirements/requirements.in b/requirements/requirements.in
deleted file mode 100644
index 775ad39..0000000
--- a/requirements/requirements.in
+++ /dev/null
@@ -1,7 +0,0 @@
-# Sentry's Falcon integration relies on api_helpers. See falconry/falcon#1902
-falcon>=3.0.1
-
-gunicorn>=20
-jsonschema>=4.0
-protobuf>=3.19
-sentry-sdk[falcon]>=1.5.4
diff --git a/requirements/requirements.pip b/requirements/requirements.pip
index 21b6678..d9587c1 100644
--- a/requirements/requirements.pip
+++ b/requirements/requirements.pip
@@ -2,7 +2,7 @@
# This file is autogenerated by pip-compile with python 3.10
# To update, run:
#
-# pip-compile --output-file=requirements/requirements.pip requirements/requirements.in
+# pip-compile --output-file=requirements/requirements.pip pyproject.toml
#
attrs==21.4.0
# via jsonschema
@@ -10,18 +10,18 @@ certifi==2022.5.18.1
# via sentry-sdk
falcon==3.1.0
# via
- # -r requirements/requirements.in
# sentry-sdk
+ # snekbox (pyproject.toml)
gunicorn==20.1.0
- # via -r requirements/requirements.in
+ # via snekbox (pyproject.toml)
jsonschema==4.5.1
- # via -r requirements/requirements.in
+ # via snekbox (pyproject.toml)
protobuf==4.21.1
- # via -r requirements/requirements.in
+ # via snekbox (pyproject.toml)
pyrsistent==0.18.1
# via jsonschema
sentry-sdk[falcon]==1.5.12
- # via -r requirements/requirements.in
+ # via snekbox (pyproject.toml)
urllib3==1.26.9
# via sentry-sdk