Skip to content

Commit 4aa823e

Browse files
New: use pyproject.toml; updated Dockerfile
1 parent d59922e commit 4aa823e

File tree

5 files changed

+106
-80
lines changed

5 files changed

+106
-80
lines changed

binder/Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,8 +82,8 @@ ENV PATH="/home/${NB_USER}/.local/bin:$PATH"
8282
# RUN conda activate myenv
8383

8484
# Install the required Python packages
85-
RUN pip install -r requirements.txt; exit 0
86-
RUN pip install -r binder/requirements.txt; exit 0
85+
RUN python3 -m pip install .
86+
RUN python3 -m pip install ".[binder]"
8787

8888
# Run the postBuild script (to set up Jupyter, sign notebooks and more)
8989
RUN bash binder/postBuild

binder/requirements.txt

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,4 @@
1-
# Debuggingbook Binder requirements
2-
3-
## Import the packages required to run the code
4-
5-
-r ../requirements.txt
1+
# Fuzzingbook Binder requirements
62

73
## These packages are additionally required in Binder
84

code/setup.py.in

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,7 @@ with open("README.md", "rb") as fh:
88
# See https://packaging.python.org/tutorials/packaging-projects/ for details
99
setuptools.setup(
1010
name="fuzzingbook",
11-
version="1.2.3wast *
12-
",
11+
version="1.2.3",
1312
author="Andreas Zeller et al.",
1413
author_email="zeller@cispa.de",
1514
description="Code for 'The Fuzzing Book' (https://www.fuzzingbook.org/)",

pyproject.toml

Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
[build-system]
2+
requires = [
3+
"setuptools>=73.0.1",
4+
# "wheel"
5+
]
6+
build-backend = "setuptools.build_meta"
7+
8+
[project]
9+
name = "fuzzingbook"
10+
version = "1.2.3"
11+
authors = [
12+
{ name = "Andreas Zeller", email = "andreas.zeller@cispa.de" },
13+
{ name = "Rahul Gopinath", email = "rahul@gopinath.org" },
14+
{ name = "Marcel Böhme", email = "marcel.boehme@acm.org" },
15+
{ name = "Gordon Fraser", email = "Gordon.Fraser@uni-passau.de" },
16+
{ name = "Christian Holler", email = "choller@mozilla.com" },
17+
]
18+
description = "Code for 'The Fuzzing Book' (https://www.fuzzingbook.org/)"
19+
readme = "README.md"
20+
license = "MIT"
21+
license-files = [ "LICENSE.md" ]
22+
requires-python = ">=3.10,<4.0"
23+
classifiers = [
24+
"Development Status :: 5 - Production/Stable",
25+
"Framework :: Jupyter",
26+
"Intended Audience :: Developers",
27+
"Intended Audience :: Education",
28+
"Programming Language :: Python :: 3",
29+
"Operating System :: OS Independent",
30+
"Topic :: Software Development :: Testing",
31+
"Topic :: Education :: Testing",
32+
"Topic :: Software Development :: Quality Assurance",
33+
"Topic :: Security"
34+
]
35+
dependencies = [
36+
'beautifulsoup4>=4.9.3',
37+
'cargo>=0.3',
38+
'diff_match_patch>=20200713',
39+
'easyplotly>=0.1.3',
40+
'enforce>=0.3.4',
41+
'graphviz>=0.14.2',
42+
'ipython>=7.16.1',
43+
"isla-solver>=0.8.9;python_version >= '3.10'",
44+
'lxml>=4.5.1',
45+
'Markdown>=3.3.4',
46+
'markdown>=3.4.3',
47+
'matplotlib>=3.3.2',
48+
'multiprocess>=0.70.12.2',
49+
'nbconvert>=6.0.7',
50+
'nbformat>=5.0.8',
51+
'networkx>=2.5',
52+
'notedown>=1.5.1',
53+
'numpy>=1.16.5',
54+
'pandas>=1.3.3',
55+
# Can't have external packages referenced on pypi, so commented out:
56+
# 'pyan@git+https://github.com/uds-se/pyan#egg=pyan',
57+
'pydriller>=2.0',
58+
'pyparsing==2.4.7', # newer versions conflict with bibtexparser
59+
'pygraphviz>=1.9',
60+
'Pygments>=2.7.1',
61+
'python-magic>=0.4.18',
62+
'requests>=2.26.0',
63+
'scikit_learn>=0.23.2',
64+
'scipy>=1.7.1',
65+
'selenium>=3.141.0',
66+
'showast2>=0.3.1',
67+
'svglib>=1.1.0',
68+
'yapf>=0.31.0',
69+
'z3-solver>=4.8.13.0',
70+
"isla-solver>=0.8.2; python_version >= '3.10'",
71+
]
72+
73+
[tool.setuptools.packages.find]
74+
where = ["code"]
75+
exclude = ["fuzzingbook*"]
76+
77+
[project.urls]
78+
homepage = "https://fuzzingbook.org/"
79+
repository = "https://github.com/uds-se/fuzzingbook/"
80+
"Bug Tracker" = "https://github.com/uds-se/fuzzingbook/issues"
81+
82+
[project.optional-dependencies]
83+
dev = [
84+
"autopep8>=1.5.4",
85+
"bibtexparser>=1.0.1",
86+
"entrypoints>=0.3",
87+
"ipython-genutils>=0.2.0", # required by (our) ipypublish
88+
"jupyter>=1.0.0",
89+
"jupyter-client>=6.1.7",
90+
"mypy>=0.910",
91+
"spellchecker>=0.4",
92+
"testpath>=0.6.0",
93+
"types-Markdown>=3",
94+
"types-requests>=2.25.11",
95+
]
96+
binder = [
97+
"svglib",
98+
"selenium",
99+
"valgrind",
100+
"jupyter_contrib_nbextensions",
101+
"python-magic"
102+
]

requirements.txt

Lines changed: 0 additions & 71 deletions
This file was deleted.

0 commit comments

Comments
 (0)