Repository navigation
Expand file tree
/
Copy pathpyproject.toml
More file actions
80 lines (72 loc) · 2.39 KB
/
Copy pathpyproject.toml
File metadata and controls
80 lines (72 loc) · 2.39 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
# Packaging config for the "fpbinject" distribution.
# The S0 packaging step (see Tools/WebServer/docs/packaging-and-distribution-design.md)
# is complete: Tools/WebServer/{__init__,__main__}.py exist and all imports use
# the "fpbinject." prefix, so `python -m build` produces working wheels/sdists.
[build-system]
requires = ["setuptools>=64", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "fpbinject"
dynamic = ["version"]
description = "Runtime code injection for ARM Cortex-M via the FPB (Flash Patch and Breakpoint) hardware unit"
readme = "README.md"
requires-python = ">=3.8"
license = { text = "MIT" }
authors = [{ name = "VIFEX", email = "vifextech@foxmail.com" }]
keywords = ["arm", "cortex-m", "fpb", "firmware", "code-injection", "debugging"]
classifiers = [
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.8",
"Topic :: Software Development :: Embedded Systems",
"Operating System :: POSIX :: Linux",
"Operating System :: MacOS",
]
dependencies = [
"Flask",
"Flask-Cors",
"pyserial",
"pygdbmi",
"watchdog",
"tree_sitter",
"zeroconf>=0.131",
"platformdirs",
]
[project.optional-dependencies]
dev = ["pytest", "coverage", "black", "flake8"]
[project.urls]
Homepage = "https://github.com/FASTSHIFT/FPBInject"
Repository = "https://github.com/FASTSHIFT/FPBInject"
[project.scripts]
fpbinject = "fpbinject.cli.fpb_cli:main"
fpbinject-server = "fpbinject.main:main"
[tool.setuptools.dynamic]
version = { attr = "fpbinject.__version__" }
[tool.setuptools]
# Keep the physical directory in place; map it to the import name "fpbinject".
package-dir = { "fpbinject" = "Tools/WebServer" }
# Enumerate packages explicitly under the fpbinject.* namespace. Using
# packages.find with where=Tools/WebServer would (wrongly) expose the
# subdirs (core, cli, app, ...) as top-level packages instead of
# fpbinject.core etc.
packages = [
"fpbinject",
"fpbinject.app",
"fpbinject.app.routes",
"fpbinject.app.utils",
"fpbinject.cli",
"fpbinject.core",
"fpbinject.services",
"fpbinject.utils",
]
[tool.setuptools.package-data]
fpbinject = [
"templates/*.html",
"templates/**/*.html",
"static/css/*.css",
"static/js/**/*.js",
"static/js/**/*.json",
"static/js/**/*.css",
]