-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyproject.toml
More file actions
82 lines (76 loc) · 2.81 KB
/
pyproject.toml
File metadata and controls
82 lines (76 loc) · 2.81 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
81
82
[build-system]
# We use scikit-build-core to build our project, which heavily relies on certain
# dependencies to be installed:
# - CMake
# - Ninja
# - A compatible compiler (GCC recommended)
requires = ["scikit-build-core", "setuptools-scm>=8"]
build-backend = "scikit_build_core.build"
[project]
name = "icspacket"
dynamic = ["version"]
description = "Python classes to interact with industrial control systems (ICS) using various protocols."
readme = "README.md"
# Currently, Python 3.11 is NOT supported due to breaking changes within the
# typing module. Caterpillar-py requires at least Python 3.12 because of these
# changes.
requires-python = ">=3.10"
keywords = [
"ics",
"ics-security",
"libiec61850",
"iec61850",
"iso8823",
"iso8237",
"cotp",
"tpkt",
"goose",
]
authors = [{ name = "MatrixEditor" }]
classifiers = [
"Development Status :: 4 - Beta",
"Programming Language :: Python",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
# Python 3.14 installation works but CI is not configured yet, so installation
# must be performed manually.
"Programming Language :: Python :: 3.14",
"Programming Language :: Python :: Implementation :: CPython",
"License :: OSI Approved :: GNU General Public License v3 (GPLv3)",
]
dependencies = [
"caterpillar-py", # binary protocols
"bitarray", # asn1c-python extensions
"typing-extensions", # compatibility with 3.10
# --- dependencies for examples
"rich", # colored terminal output and logging
"cmd2", # advanced command shells (cmd 2.0)
"crcmod", # dnp3 checksum algorithm
"scapy", # GOOSE and SV send/recv
]
[project.urls]
Documentation = "https://github.com/MatrixEditor/icspacket#readme"
Issues = "https://github.com/MatrixEditor/icspacket/issues"
GitHub = "https://github.com/MatrixEditor/icspacket"
[tool.scikit-build.cmake]
# NOTE: To enable extra debugging output at runtime you might also add
# -DASN_EMIT_DEBUG=1 as a compile-time define.
# build-type = "Debug"
# --- Dynamic Version scheme
[tool.scikit-build]
metadata.version.provider = "scikit_build_core.metadata.setuptools_scm"
sdist.include = ["src/icspacket/_version.py"]
[tool.setuptools_scm]
write_to = "src/icspacket/_version.py"
# --- example scripts
[project.scripts]
"mms_utility.py" = "icspacket.examples.mms_utility:cli_main"
"mmsclient.py" = "icspacket.examples.mmsclient:cli_main"
"iedmap.py" = "icspacket.examples.iedmap:cli_main"
"iedctrl.py" = "icspacket.examples.iedctrl:cli_main"
"dnp3dump.py" = "icspacket.examples.dnp3dump:cli_main"
"dnp3read.py" = "icspacket.examples.dnp3read:cli_main"
"dnp3linkaddr.py" = "icspacket.examples.dnp3linkaddr:cli_main"
"gooseobserv.py" = "icspacket.examples.gooseobserv:cli_main"