-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathpyproject.toml
More file actions
executable file
·85 lines (73 loc) · 2.49 KB
/
pyproject.toml
File metadata and controls
executable file
·85 lines (73 loc) · 2.49 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
83
84
85
[build-system]
requires = ["setuptools>=69"]
build-backend = "setuptools.build_meta"
[project]
name = "quorus"
version = "0.1.0"
description = "A framework for quantum federated learning across heterogeneous quantum clients"
readme = { file = "README.md", content-type = "text/markdown" }
requires-python = ">=3.12"
license = { file = "LICENSE" }
authors = [
{ name = "Positive Technology Lab", email = "info@positivetechnologylab.com" }
]
keywords = [
"quantum", "federated-learning", "qml", "pennylane", "qiskit", "pytorch"
]
classifiers = [
"Development Status :: 3 - Alpha",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Operating System :: OS Independent",
"Topic :: Scientific/Engineering :: Artificial Intelligence"
]
# Keep runtime deps focused. Use the "hardware" extra below for AWS/IBM backends, etc.
dependencies = [
"numpy>=1.26",
"scipy>=1.11",
"pandas>=2.0",
"scikit-learn>=1.3",
"matplotlib>=3.7",
"rich>=13.0",
"pennylane>=0.42",
"pennylane-lightning>=0.42",
"qiskit>=2.0",
"torch>=2.2",
"torchvision>=0.17",
"pytorch-fid>=0.3"
]
[project.optional-dependencies]
# Install with: pip install "quorus[hardware]"
hardware = [
# AWS Braket stack (use only if you’re targeting AWS hardware)
"amazon-braket-sdk>=1.90",
"amazon-braket-schemas>=1.21",
"amazon-braket-default-simulator>=1.12",
"amazon-braket-pennylane-plugin>=1.26",
# IBM stack (use only if you’re targeting IBM hardware)
"qiskit-aer>=0.13",
"qiskit-ibm-runtime>=0.22",
# Misc helpers you previously listed
"python-dotenv>=1.0",
"requests>=2.32",
]
[project.urls]
Homepage = "https://github.com/positivetechnologylab/Quorus"
Repository = "https://github.com/positivetechnologylab/Quorus"
Issues = "https://github.com/positivetechnologylab/Quorus/issues"
Documentation = "https://github.com/positivetechnologylab/Quorus#readme"
# CLI entry points (same names you already use)
[project.scripts]
quorus-exp = "quorus.cli.qfl_main_test:main"
quorus-hardware = "quorus.cli.ibm_hardware_runs:main"
# Use the src/ layout (your current config does this)
[tool.setuptools.packages.find]
where = ["src"]
include = ["quorus*"]
# If you have non-.py files to ship (configs, qasm, etc), uncomment and adjust:
# [tool.setuptools.package-data]
# "quorus" = ["**/*.qasm", "**/*.json", "**/*.yaml", "**/*.txt"]