aboutsummaryrefslogtreecommitdiff
path: root/pyproject.toml
blob: 320edba05094bba18b295cf3ed4bdd8d32722994 (plain)
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
83
84
85
86
87
88
89
90
91
[build-system]
  requires = ["setuptools>=61.0", "setuptools_scm[toml]>=6.2"]
  build-backend = "setuptools.build_meta"

[project]
  name = "pyecsca"
  version = "0.2.0"
  authors = [
    { name = "Jan Jancar", email = "johny@neuromancer.sk" },
    { name = "Tomas Jusko" },
    { name = "Andrej Batora" },
    { name = "Vojtech Suchanek" }
  ]
  description = "Python Elliptic Curve cryptography Side Channel Analysis toolkit."
  readme = "README.md"
  license = { "text" = "MIT" }
  classifiers = [
    "Development Status :: 3 - Alpha",
    "License :: OSI Approved :: MIT License",
    "Topic :: Security",
    "Topic :: Security :: Cryptography",
    "Programming Language :: Python :: 3.9",
    "Programming Language :: Python :: 3.10",
    "Programming Language :: Python :: 3.11",
    "Programming Language :: Python :: 3.12",
    "Intended Audience :: Developers",
    "Intended Audience :: Science/Research"
  ]
  requires-python = ">=3.9"
  dependencies = [
    "numpy==1.24.4",
    "scipy",
    "sympy>=1.7.1",
    "atpublic",
    "cython",
    "fastdtw",
    "asn1crypto",
    "h5py",
    "holoviews",
    "bokeh",
    "matplotlib",
    "datashader",
    "xarray",
    "astunparse",
    "numba==0.57.1",
    "networkx",
    "importlib-resources",
    "anytree"
  ]

[project.urls]
"Homepage" = "https://https://neuromancer.sk/pyecsca/"
"Documentation" = "https://https://neuromancer.sk/pyecsca/"
"Bug Tracker" = "https://github.com/J08nY/pyecsca/issues"
"Repository" = "https://github.com/J08nY/pyecsca"

[project.optional-dependencies]
"picoscope_sdk" = ["picosdk"]
"picoscope_alt" = ["picoscope"]
"chipwhisperer" = ["chipwhisperer"]
"smartcard" = ["pyscard"]
"leia" = ["smartleia"]
"gmp" = ["gmpy2"]
"pari" = ["cysignals", "cypari2"]
"dev" = ["mypy", "flake8", "interrogate", "pyinstrument", "black", "types-setuptools"]
"test" = ["pytest>=7.0.0", "coverage", "pytest-cov", "pytest-sugar"]
"doc" = ["sphinx", "sphinx-autodoc-typehints", "nbsphinx", "sphinx-paramlinks", "sphinx_design"]

[tool.setuptools.packages.find]
include = ["pyecsca*"]
namespaces = true

[tool.setuptools.package-data]
pyecsca = ["ec/efd/*/*", "ec/efd/*/*/*", "ec/efd/*/*/*/*", "ec/std/*", "ec/std/*/*"]

[tool.setuptools_scm]

[tool.pytest.ini_options]
testpaths = ["test"]
markers = [
    "slow: marks tests as slow (deselect with '-m \"not slow\"')",
]
filterwarnings = [
    "ignore:Deprecated call to `pkg_resources.declare_namespace"
]

[tool.mypy]
plugins = "numpy.typing.mypy_plugin"

[tool.interrogate]
exclude = ["pyecsca/ec/formula/fliparoo.py", "pyecsca/ec/formula/graph.py", "pyecsca/ec/formula/partitions.py", "pyecsca/ec/formula/switch_sign.py", "pyecsca/ec/std/.github/"]