[build-system]
requires = ["setuptools>=61.0", "wheel"]
build-backend = "setuptools.build_meta"

[project]
name = "secafs-sdk"
version = "0.6.0"
description = "SecAFS Python SDK - A secure filesystem and key-value store for AI agents (PostgreSQL)"
readme = "README.md"
requires-python = ">=3.10"
license = {text = "MulanPSL-2.0"}
keywords = ["ai", "agent", "postgres", "key-value", "filesystem", "secafs"]
authors = [
    {name = "SecAFS"}
]
classifiers = [
    "Development Status :: 3 - Alpha",
    "Intended Audience :: Developers",
    'Operating System :: POSIX :: Linux',
    'Operating System :: Microsoft :: Windows',
    'Operating System :: MacOS',
    "Programming Language :: Python :: 3",
    "Programming Language :: Python :: 3.10",
    "Programming Language :: Python :: 3.11",
    "Programming Language :: Python :: 3.12",
    "Topic :: Software Development :: Libraries :: Python Modules",
]

dependencies = [
    "asyncpg>=0.29.0",
]

[dependency-groups]
dev = [
    "pytest>=9.0.0",
    "pytest-asyncio>=1.3.0",
    "ruff>=0.14.0",
    "ty>=0.0.1a34",
]

[tool.setuptools.packages.find]
include = ["secafs_sdk*"]

[tool.ruff]
line-length = 100
target-version = "py310"

[tool.ruff.lint]
select = ["E", "F", "I"]
ignore = []

[tool.ruff.format]
quote-style = "double"
indent-style = "space"

[tool.pytest.ini_options]
asyncio_mode = "auto"
testpaths = ["tests"]