[build-system] requires = ["setuptools>=61.0", "setuptools_scm[toml]>=6.2"] build-backend = "setuptools.build_meta" [project] name = "pyecsca" dynamic = ["version"] authors = [ { name = "Jan Jancar", email = "johny@neuromancer.sk" }, { name = "Jan Jancar"}, { name = "Tomas Jusko" }, { name = "Andrej Batora" }, { name = "Vojtech Suchanek" } ] maintainers = [ { name = "Jan Jancar", email = "johny@neuromancer.sk" } ] description = "Python Elliptic Curve cryptography Side Channel Analysis toolkit." readme = "README.md" license = { "text" = "MIT" } classifiers = [ "Development Status :: 4 - Beta", "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", "Programming Language :: Python :: 3.13", "Intended Audience :: Developers", "Intended Audience :: Science/Research" ] requires-python = ">=3.9" dependencies = [ "numpy", "scipy", "sympy>=1.7.1,!=1.14.0", "pandas", "atpublic", "cython", "fastdtw", "asn1crypto", "h5py", "holoviews", "bokeh", "matplotlib", "seaborn", "datashader", "dask[dataframe]", "xarray", "astunparse", "numba", "networkx", "importlib-resources", "anytree", "loky", "tqdm" ] [project.urls] "Homepage" = "https://pyecsca.org" "Documentation" = "https://pyecsca.org" "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"] "flint" = ["python-flint>=0.5.0"] "pari" = ["cysignals", "cypari2"] "dev" = ["mypy", "flake8", "interrogate", "black", "types-setuptools", "pydocstyle"] "test" = ["pytest>=7.0.0", "coverage", "pytest-cov", "pytest-sugar", "pytest-mock", "nbmake", "pyinstrument"] "doc" = ["sphinx", "sphinx-autodoc-typehints", "nbsphinx", "sphinx-paramlinks", "sphinx_design", "sphinx-plausible", "alabaster>=0.7.16"] [tool.setuptools.packages.find] include = ["pyecsca*"] namespaces = true [tool.setuptools.package-data] pyecsca = ["ec/efd/*/*", "ec/efd/*/*/*", "ec/efd/*/*/*/*", "ec/std/*", "ec/std/*/*", "ec/data/*", "ec/data/*/*"] [tool.setuptools_scm] [tool.pytest.ini_options] consider_namespace_packages = true testpaths = ["pyecsca", "test"] pythonpath = ["."] markers = [ "slow: marks tests as slow (deselect with '-m \"not slow\"')", ] addopts = ["--doctest-modules"] filterwarnings = [ "ignore:(?s).*pkg_resources is deprecated as an API:UserWarning:chipwhisperer.capture.trace.TraceWhisperer", # ChipWhisperer "ignore:Deprecated call to `pkg_resources.declare_namespace", # sphinxcontrib "ignore:(?s).*Pyarrow will become a required dependency of pandas:DeprecationWarning", # pandas pyarrow (pandas<3.0), "ignore:(?s).*builtin type SwigPyPacked has no __module__ attribute:DeprecationWarning", # ??? ] [tool.mypy] [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/"]