Repository navigation
Expand file tree
/
Copy pathpyproject.toml
More file actions
112 lines (101 loc) · 2.78 KB
/
Copy pathpyproject.toml
File metadata and controls
112 lines (101 loc) · 2.78 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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
[build-system]
requires = ["setuptools>=68.0", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "scope-protocol"
version = "2.2.0"
description = "Scoped Scientific Authorization Protocol for AI-shaped science"
readme = "README.md"
license = { text = "MIT" }
requires-python = ">=3.10"
authors = [{ name = "SCOPE Contributors" }]
keywords = ["scope", "authorization", "scientific-review", "akta"]
classifiers = [
"Development Status :: 4 - Beta",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Topic :: Scientific/Engineering",
]
dependencies = [
"scientific-authorization-contracts==2.2.0",
"jsonschema>=4.21",
"PyYAML>=6.0",
"click>=8.1",
"cryptography>=42.0",
]
[project.urls]
Homepage = "https://github.com/fraware/SCOPE"
Repository = "https://github.com/fraware/SCOPE"
Documentation = "https://github.com/fraware/SCOPE/tree/main/docs"
Issues = "https://github.com/fraware/SCOPE/issues"
[project.optional-dependencies]
dev = [
"pytest>=8.0",
"pytest-cov>=4.1",
"hypothesis>=6.100",
"ruff>=0.4",
"mypy>=1.10",
"types-PyYAML>=6.0",
"fastapi>=0.110",
"uvicorn>=0.27",
"httpx>=0.27",
"setuptools>=68.0",
"build>=1.2",
]
rest = [
"fastapi>=0.110",
"uvicorn>=0.27",
]
# Adapters ship in the base wheel; this extra pulls REST runtime deps.
integration = [
"scope-protocol[rest]",
]
postgres = [
"psycopg[binary]>=3.1",
]
[project.scripts]
scope = "scope.cli:main"
[tool.setuptools]
packages = [
"scope",
"scope.schemas",
"adapters",
"adapters.pf_core",
"adapters.pcs",
"adapters.generic_rest",
"adapters.akta",
"adapters.vsa",
"adapters.workflow",
]
package-dir = { "scope.schemas" = "schemas" }
[tool.setuptools.package-data]
"scope.schemas" = ["*.json", "policy/*.json"]
adapters = ["*/examples/**"]
[tool.pytest.ini_options]
testpaths = ["tests"]
pythonpath = ["."]
addopts = "-v --tb=short"
markers = [
"live_contract: optional live PF/PCS/AKTA repo validation (requires env paths)",
"live_postgres: optional live PostgreSQL ledger/outbox tests (requires DSN)",
"enforce_manifest: require signed authorization manifest (disable unsigned escape hatch)",
]
[tool.ruff]
line-length = 100
target-version = "py310"
[tool.ruff.lint]
select = ["E", "F", "I", "UP", "B"]
[tool.ruff.lint.per-file-ignores]
"evals/run_review_cases.py" = ["E402"]
"adapters/generic_rest/server.py" = ["B008"]
[tool.mypy]
python_version = "3.10"
warn_return_any = true
warn_unused_ignores = true
ignore_missing_imports = true
check_untyped_defs = true
exclude = ["build/", "dist/"]