Files
agentrhq__authsome/pyproject.toml
T

131 lines
2.5 KiB
TOML

[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "authsome"
version = "0.6.4"
description = "A portable local authentication library for AI agents and developer tools"
readme = "README.md"
license = "MIT"
license-files = ["LICENSE"]
requires-python = ">=3.13"
authors = [
{ name = "Manoj Bajaj", email = "manojbajaj95@gmail.com" },
]
keywords = ["auth", "credentials", "oauth2", "api-key", "mcp", "agents"]
classifiers = [
"Development Status :: 3 - Alpha",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.13",
"Topic :: Security",
"Topic :: Software Development :: Libraries",
]
dependencies = [
"pydantic>=2.0",
"pydantic-settings>=2.0",
"requests>=2.28",
"cryptography>=41.0",
"keyring>=24.0",
"click>=8.0",
"loguru>=0.7",
"mitmproxy>=11.0",
"fastapi>=0.115",
"uvicorn>=0.30",
"python-multipart>=0.0.27",
"py-key-value-aio[disk]",
"aiosqlite>=0.20",
"pyjwt>=2.12.1",
"argon2-cffi>=25.1.0",
"base58>=2.1.1",
"posthog>=3.0",
"browser-cookie3>=0.19",
"opentelemetry-api>=1.42.1",
"opentelemetry-sdk>=1.42.1",
"httpx>=0.28.1",
]
[project.optional-dependencies]
postgres = [
"asyncpg>=0.30",
]
redis = [
"redis>=5.0",
"py-key-value-aio[redis]",
]
dev = [
"pytest>=7.0",
"pytest-asyncio>=1.3.0",
"pytest-cov>=4.0",
"pytest-timeout>=2.4.0",
"ruff>=0.9",
"ty",
"pre-commit>=4.6.0",
]
[project.scripts]
authsome = "authsome.cli.main:cli"
[tool.hatch.build.targets.wheel]
packages = ["src/authsome"]
artifacts = ["src/authsome/ui/web/**"]
[tool.hatch.build]
exclude = [
"/.venv*",
"/ui/node_modules",
"/ui/.next",
"/ui/out",
]
[tool.hatch.build.targets.sdist.force-include]
"src/authsome/ui/web" = "src/authsome/ui/web"
[tool.pytest.ini_options]
testpaths = ["tests"]
pythonpath = ["src"]
timeout = 30
timeout_method = "signal"
[tool.coverage.run]
source = ["authsome"]
branch = true
[tool.coverage.report]
show_missing = true
skip_covered = false
[tool.ruff]
line-length = 120
target-version = "py313"
[tool.ruff.lint]
select = [
# pycodestyle
"E",
# Pyflakes
"F",
# pyupgrade
"UP",
# flake8-bugbear
"B",
# flake8-simplify
"SIM",
# isort
"I",
# pylint
"PL"]
ignore = ['B008']
[tool.ruff.lint.per-file-ignores]
"tests/**/*.py" = ["PLC0415"]
[tool.ruff.lint.mccabe]
max-complexity = 20
[dependency-groups]
dev = []