aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJ08nY2023-07-24 17:18:50 +0200
committerJ08nY2023-07-24 17:18:50 +0200
commit68dfba98f98e4839c3bd6a1ad3009e4eba6d59fb (patch)
tree2f7d63347065b83bb3f8db230ab27d57931ca65c
parentfbf3e4530971a93ca9e5e2e2822665f319ced2b9 (diff)
downloadpyecsca-68dfba98f98e4839c3bd6a1ad3009e4eba6d59fb.tar.gz
pyecsca-68dfba98f98e4839c3bd6a1ad3009e4eba6d59fb.tar.zst
pyecsca-68dfba98f98e4839c3bd6a1ad3009e4eba6d59fb.zip
-rw-r--r--docs/Makefile2
-rw-r--r--docs/index.rst3
-rw-r--r--pyproject.toml67
-rw-r--r--setup.py60
4 files changed, 70 insertions, 62 deletions
diff --git a/docs/Makefile b/docs/Makefile
index 9f705ec..ca7ffb1 100644
--- a/docs/Makefile
+++ b/docs/Makefile
@@ -16,7 +16,7 @@ apidoc:
mkdir -p api/
sphinx-apidoc ../pyecsca/ --implicit-namespaces --ext-autodoc --no-toc -M -f -e -o api/
sphinx-apidoc ../../pyecsca-codegen/pyecsca/ --implicit-namespaces --ext-autodoc --no-toc -M -f -e -o api/
- mv _modules.rst api/modules.rst
+ rm api/pyecsca.rst #It is jumbled anyway.
.PHONY: help apidoc Makefile
diff --git a/docs/index.rst b/docs/index.rst
index d8788d6..421ae1f 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -121,7 +121,8 @@ Requirements
- matplotlib_
- xarray_
- astunparse_
- - numba_
+ - numba_
+
- **Optionally**:
- **Oscilloscope support:**
diff --git a/pyproject.toml b/pyproject.toml
new file mode 100644
index 0000000..c8a704d
--- /dev/null
+++ b/pyproject.toml
@@ -0,0 +1,67 @@
+[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" }
+ ]
+ 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.8",
+ "Programming Language :: Python :: 3.9",
+ "Programming Language :: Python :: 3.10",
+ "Programming Language :: Python :: 3.11",
+ "Intended Audience :: Developers",
+ "Intended Audience :: Science/Research"
+ ]
+ requires-python = ">=3.8"
+ 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"
+ ]
+
+[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"]
+"dev" = ["mypy", "flake8", "interrogate", "pyinstrument", "black", "types-setuptools"]
+"test" = ["nose2", "parameterized", "coverage"]
+"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/*/*"]
diff --git a/setup.py b/setup.py
deleted file mode 100644
index d2a304f..0000000
--- a/setup.py
+++ /dev/null
@@ -1,60 +0,0 @@
-#!/usr/bin/env python3
-from setuptools import setup, find_namespace_packages
-
-setup(
- name='pyecsca',
- author='Jan Jancar',
- author_email='johny@neuromancer.sk',
- version='0.2.0',
- url="https://neuromancer.sk/pyecsca/",
- packages=find_namespace_packages(include=["pyecsca.*"]),
- license="MIT",
- description="Python Elliptic Curve cryptography Side Channel Analysis toolkit.",
- long_description=open("README.md").read(),
- long_description_content_type="text/markdown",
- classifiers=[
- "Development Status :: 3 - Alpha",
- "License :: OSI Approved :: MIT License",
- "Topic :: Security",
- "Topic :: Security :: Cryptography",
- "Programming Language :: Python :: 3.8",
- "Programming Language :: Python :: 3.9",
- "Programming Language :: Python :: 3.10",
- "Programming Language :: Python :: 3.11",
- "Intended Audience :: Developers",
- "Intended Audience :: Science/Research"
- ],
- package_data={
- "pyecsca.ec": ["efd/*/*", "efd/*/*/*", "efd/*/*/*/*", "std/*", "std/*/*"]
- },
- # install_package_data=True,
- python_requires='>=3.8',
- install_requires=[
- "numpy==1.24.4",
- "scipy",
- "sympy>=1.7.1",
- "atpublic",
- "cython",
- "fastdtw",
- "asn1crypto",
- "h5py",
- "holoviews",
- "bokeh",
- "matplotlib",
- "datashader",
- "xarray",
- "astunparse",
- "numba==0.57.1"
- ],
- extras_require={
- "picoscope_sdk": ["picosdk"],
- "picoscope_alt": ["picoscope"],
- "chipwhisperer": ["chipwhisperer"],
- "smartcard": ["pyscard"],
- "leia": ["smartleia"],
- "gmp": ["gmpy2"],
- "dev": ["mypy", "flake8", "interrogate", "pyinstrument", "black", "types-setuptools"],
- "test": ["nose2", "parameterized", "coverage"],
- "doc": ["sphinx", "sphinx-autodoc-typehints", "nbsphinx", "sphinx-paramlinks", "sphinx_design"]
- }
-)