-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathpyproject.toml
More file actions
91 lines (83 loc) · 2.58 KB
/
Copy pathpyproject.toml
File metadata and controls
91 lines (83 loc) · 2.58 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
86
87
88
89
90
91
[project]
name = "ralph-subnet"
version = "0.1.0"
description = "Ralph — Bittensor subnet for decentralized autonomous AI research"
readme = "README.md"
requires-python = ">=3.10"
license = {text = "Apache-2.0"}
authors = [
{name = "bitzic", email = "bitzylabs@gmail.com"},
]
dependencies = [
"torch>=2.4.0",
"numpy>=1.24.0",
"tiktoken>=0.7.0",
"cryptography>=42.0",
]
[project.optional-dependencies]
data = [
"datasets>=2.19.0",
"huggingface-hub>=0.23.0",
]
monitoring = [
"wandb>=0.17.0",
]
dashboard = [
"streamlit>=1.35.0",
"plotly>=5.22.0",
"pandas>=2.1.0",
]
hub = [
"huggingface-hub>=0.23.0",
]
chain = [
"bittensor>=10.0.0",
]
attest = [
"pyjwt[crypto]>=2.7",
"dcap-qvl>=0.5",
"pynacl>=1.5",
]
dev = [
"pytest>=7.4",
"ruff>=0.4",
]
all = ["ralph-subnet[data,monitoring,dashboard,hub,chain,attest,dev]"]
[build-system]
requires = ["setuptools>=68.0"]
build-backend = "setuptools.build_meta"
[tool.setuptools.packages.find]
include = ["model*", "recipe*", "data*", "eval*", "calibration*", "miner*", "validator*", "proof*"]
[tool.ruff]
line-length = 120
target-version = "py310"
extend-exclude = ["runs", "submissions", "queue", "chain", "backup_h100", "agents", "logs", ".venv", "venv"]
[tool.ruff.lint]
select = ["E", "F", "W", "I"]
# E741 (ambiguous variable name `l`) is style-only; we use `l` as a loop var
# in several places and renaming everywhere is churn for no real benefit.
# E501 is enforced via the line-length=120 setting above; keep it on.
ignore = ["E741"]
[tool.ruff.lint.per-file-ignores]
# Test scripts + smoke tests use throwaway locals for diagnostic inspection;
# F841 (unused local) is acceptable there.
"scripts/testnet_cycle.py" = ["F841"]
"scripts/smoke_test.py" = ["F841"]
"scripts/gpu.py" = ["F841"]
"calibration/benchmark.py" = ["F841"]
# proof.real_attest imports nv_attestation_sdk solely for ImportError-based
# capability detection in detect_nvcc(); the module reference itself is
# unused but the side-effect of the import is the point.
"proof/real_attest.py" = ["F401", "F841"]
# proof.runner accepts a config_overrides parameter from the proof_request
# JSON for future use; reserved name even though current code doesn't
# consume it.
"proof/runner.py" = ["F841"]
# validator.audit caches miner_manifest at top of function for future
# reference; safe placeholder.
"validator/audit.py" = ["F841"]
# miner.submit imports Ed25519PublicKey inside _ensure_keypair to surface
# the cryptography ImportError at the right phase, not for direct use.
"miner/submit.py" = ["F401"]
[tool.pytest.ini_options]
testpaths = ["tests"]