-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyproject.toml
More file actions
39 lines (34 loc) · 1.51 KB
/
Copy pathpyproject.toml
File metadata and controls
39 lines (34 loc) · 1.51 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
[build-system]
requires = ["setuptools>=61"]
build-backend = "setuptools.build_meta"
[project]
name = "decluster"
version = "0.1.0"
description = "Evidence-weighted de-anonymization of Bitcoin transactions"
requires-python = ">=3.10"
# PEP 639: the expression and `license-files` replace the license classifier, and setuptools
# refuses the pair.
license = "MIT"
license-files = ["LICENSE"]
[project.scripts]
decluster-data = "decluster.data_cli:main"
decluster-bundle = "decluster.bundle_cli:main"
decluster-source = "decluster.source_snapshot:main"
[project.optional-dependencies]
data = ["zstandard>=0.23"]
test = ["pytest>=8"]
# The exact subset-sum counter. It is a Rust extension built from a pinned revision rather than a
# release on an index, so it is named by that revision: the same one `catalog/runs` declares and
# the evidence bundles ship a wheel of. Absent it, the tests that need it skip.
exact = ["dss @ git+https://github.com/bc1cindy/dense-subset-sum@d8099bc540c9de7d0f3c9f095e8b2aad8f9d8c8d"]
# Imported lazily by scale_cluster, fs_ablation and ancestry; nothing outside those paths needs it.
scale = ["numpy>=1.24"]
[tool.setuptools.packages.find]
include = ["decluster", "decluster.*"]
[tool.pytest.ini_options]
addopts = "-m 'not live'"
markers = [
"canonical: exact artifact comparison in the declared CPython 3.13 environment",
"live: requires external network services and is excluded from the offline suite",
"reproduction: materializes and reexecutes evidence bundles in their pinned environment",
]