Skip to content

Commit ff39d1a

Browse files
fix: restore pyproject.toml (lost in squash merge)
1 parent 5452c01 commit ff39d1a

File tree

1 file changed

+131
-0
lines changed

1 file changed

+131
-0
lines changed

pyproject.toml

Lines changed: 131 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,131 @@
1+
[build-system]
2+
requires = ["hatchling"]
3+
build-backend = "hatchling.build"
4+
5+
[project]
6+
name = "qp-vault"
7+
version = "0.9.0"
8+
description = "Governed knowledge store for autonomous organizations. Trust tiers, cryptographic audit trails, content-addressed storage, air-gap native."
9+
readme = "README.md"
10+
license = "Apache-2.0"
11+
requires-python = ">=3.12"
12+
authors = [
13+
{ name = "Quantum Pipes", email = "team@quantumpipes.io" },
14+
]
15+
keywords = [
16+
"knowledge-store",
17+
"vector-search",
18+
"trust-tiers",
19+
"audit-trail",
20+
"content-addressed",
21+
"air-gap",
22+
"post-quantum",
23+
"rag",
24+
"enterprise",
25+
"governance",
26+
]
27+
classifiers = [
28+
"Development Status :: 3 - Alpha",
29+
"Intended Audience :: Developers",
30+
"Intended Audience :: Science/Research",
31+
"License :: OSI Approved :: Apache Software License",
32+
"Operating System :: OS Independent",
33+
"Programming Language :: Python :: 3",
34+
"Programming Language :: Python :: 3.12",
35+
"Programming Language :: Python :: 3.13",
36+
"Programming Language :: Python :: 3.14",
37+
"Topic :: Database",
38+
"Topic :: Scientific/Engineering :: Artificial Intelligence",
39+
"Topic :: Security :: Cryptography",
40+
"Typing :: Typed",
41+
]
42+
dependencies = [
43+
"pydantic>=2.12",
44+
]
45+
46+
[project.optional-dependencies]
47+
sqlite = [
48+
"aiosqlite>=0.22",
49+
]
50+
postgres = [
51+
"sqlalchemy>=2.0.48",
52+
"asyncpg>=0.31",
53+
"pgvector>=0.4.2",
54+
]
55+
docling = [
56+
"docling>=2.73",
57+
]
58+
local = [
59+
"sentence-transformers>=3.0",
60+
]
61+
openai = [
62+
"openai>=1.0",
63+
]
64+
capsule = [
65+
"qp-capsule>=1.5",
66+
]
67+
encryption = [
68+
"cryptography>=42",
69+
"pynacl>=1.6.2",
70+
]
71+
integrity = [
72+
"numpy>=2.0",
73+
]
74+
fastapi = [
75+
"fastapi>=0.135",
76+
]
77+
atlas = [
78+
"gitpython>=3.1",
79+
]
80+
cli = [
81+
"typer>=0.21",
82+
"rich>=14.3",
83+
]
84+
dev = [
85+
"pytest>=8.0",
86+
"pytest-asyncio>=0.25",
87+
"pytest-cov>=6.0",
88+
"httpx>=0.28",
89+
"mypy>=1.14",
90+
"ruff>=0.9",
91+
]
92+
all = [
93+
"qp-vault[sqlite,postgres,docling,capsule,encryption,integrity,fastapi,atlas,cli]",
94+
]
95+
96+
[project.scripts]
97+
vault = "qp_vault.cli.main:app"
98+
99+
[project.urls]
100+
Homepage = "https://github.com/quantumpipes/vault"
101+
Documentation = "https://docs.quantumpipes.io/vault"
102+
Repository = "https://github.com/quantumpipes/vault"
103+
Changelog = "https://github.com/quantumpipes/vault/blob/main/CHANGELOG.md"
104+
105+
[tool.hatch.build.targets.wheel]
106+
packages = ["src/qp_vault"]
107+
108+
[tool.pytest.ini_options]
109+
testpaths = ["tests"]
110+
asyncio_mode = "auto"
111+
markers = [
112+
"unit: Unit tests (no external deps)",
113+
"integration: Integration tests (may need database)",
114+
"e2e: End-to-end tests (full pipeline)",
115+
"postgres: Requires PostgreSQL",
116+
"slow: Tests that take > 5 seconds",
117+
]
118+
119+
[tool.mypy]
120+
python_version = "3.12"
121+
strict = true
122+
warn_return_any = true
123+
warn_unused_configs = true
124+
125+
[tool.ruff]
126+
target-version = "py312"
127+
line-length = 100
128+
129+
[tool.ruff.lint]
130+
select = ["E", "F", "I", "N", "UP", "B", "SIM", "TCH"]
131+
ignore = ["E501"] # Long SQL strings and complex comprehensions

0 commit comments

Comments
 (0)