-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathpyproject.toml
More file actions
61 lines (53 loc) · 1.68 KB
/
Copy pathpyproject.toml
File metadata and controls
61 lines (53 loc) · 1.68 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
[build-system]
requires = ["setuptools", "wheel", "setuptools-rust"]
build-backend = "setuptools.build_meta"
[project]
name = "quantum_logical"
description = "logical state encodings for error-detection/correction of quantum states"
version = "0.1.0"
authors = [{ name = "Evan McKinney" }]
requires-python = ">=3.9"
dependencies = [
"tqdm",
"numpy",
"qiskit",
"qutip",
"scqubits",
"weylchamber",
"matplotlib",
"LovelyPlots",
"rustworkx",
]
[project.optional-dependencies]
dev = ["ipykernel", "pre-commit", "pylatexenc", "ipywidgets"]
format = [
"pre-commit",
"black[jupyter]",
"isort",
"tomli",
"pydocstyle",
"ruff",
"docformatter[tomli]",
]
test = ["pytest"]
[tool.ruff]
target-version = "py39"
line-length = 88
fix = true
[tool.black]
line-length = 88
[tool.isort]
profile = "black"
[[tool.setuptools-rust.ext-modules]]
target = "quantum_logical._lib"
# ^-- The last part of the target name (e.g. "rust") should match lib.name in Cargo.toml,
# but you can add a prefix to nest it inside of a parent Python package or namespace.
# Note that lib.name may not be defined in the Cargo.toml, but you still
# have to match the name of the function with the `#[pymodule]` attribute.
path = "rustlib/Cargo.toml"
# ^-- Default value for cargo's manifest (can be omitted)
# Each manifest can have a single [lib] definition.
# To specify multiple extension modules you can use different toml files (one each).
binding = "PyO3" # Default value, can be omitted
debug = false
# See reference for RustExtension in https://setuptools-rust.readthedocs.io/en/latest/reference.html