From 389e0b94f6e5f4710950a514243a4eab781221f9 Mon Sep 17 00:00:00 2001 From: Arusekk Date: Sun, 20 Aug 2023 12:46:27 +0200 Subject: [PATCH] make optional deps actually install-time optional --- README.md | 2 +- pyproject.toml | 20 ++++++++++++-------- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index c9d31bf4bc..26222e1dfc 100644 --- a/README.md +++ b/README.md @@ -40,7 +40,7 @@ Python3 is suggested, but Pwntools still works with Python 2.7. Most of the fun apt-get update apt-get install python3 python3-pip python3-dev git libssl-dev libffi-dev build-essential python3 -m pip install --upgrade pip -python3 -m pip install --upgrade pwntools +python3 -m pip install --upgrade pwntools[full] ``` diff --git a/pyproject.toml b/pyproject.toml index 832f7ef9d3..c28dba207d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -34,30 +34,34 @@ keywords = ["pwntools", "exploit", "ctf", "capture", "the", "flag", "binary", "w requires-python = ">=2.7" dependencies = [ - "paramiko>=1.15.2", "mako>=1.0.0", "pyelftools>=0.2.4", - "capstone>=3.0.5rc2", # see Gallopsled/pwntools#971, Gallopsled/pwntools#1160 "ropgadget>=5.3", - "pyserial>=2.7", - "requests>=2.0", "pip>=6.0.8", "pygments>=2.0", - "pysocks", "python-dateutil", "packaging", "psutil>=3.3.0", "intervaltree>=3.0", "sortedcontainers", - "unicorn>=1.0.2rc1", # see unicorn-engine/unicorn#1100 and #1170 "six>=1.12.0", - "rpyc", - "colored_traceback", "pathlib2; python_version < '3.4'", "unix-ar; python_version >= '3'", "zstandard", ] +[project.optional-dependencies] +full = [ + "capstone>=3.0.5rc2", # see Gallopsled/pwntools#971, Gallopsled/pwntools#1160 + "colored_traceback", + "paramiko>=1.15.2", + "pyserial>=2.7", + "pysocks", + "requests>=2.0", + "rpyc", + "unicorn>=1.0.2rc1", # see unicorn-engine/unicorn#1100 and #1170 +] + [project.urls] homepage = "https://pwntools.com" download = "https://github.com/Gallopsled/pwntools/releases"