feat: init
This commit is contained in:
+16
@@ -0,0 +1,16 @@
|
|||||||
|
# Python-generated files
|
||||||
|
__pycache__/
|
||||||
|
*.py[oc]
|
||||||
|
build/
|
||||||
|
dist/
|
||||||
|
wheels/
|
||||||
|
*.egg-info
|
||||||
|
|
||||||
|
# Virtual environments
|
||||||
|
.venv
|
||||||
|
|
||||||
|
# Sloppy
|
||||||
|
docs/
|
||||||
|
|
||||||
|
# IDE
|
||||||
|
.idea
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
3.13
|
||||||
@@ -0,0 +1,66 @@
|
|||||||
|
[project]
|
||||||
|
name = "beaver-gateway"
|
||||||
|
version = "0.1.0"
|
||||||
|
description = "Agentic registry, gateway and head of operations for Beaver agent"
|
||||||
|
readme = "README.md"
|
||||||
|
authors = [
|
||||||
|
{ name = "h", email = "h@kotikot.com" }
|
||||||
|
]
|
||||||
|
requires-python = ">=3.13"
|
||||||
|
dependencies = [
|
||||||
|
"aiohttp>=3.13.5",
|
||||||
|
"anthropic>=0.103.0",
|
||||||
|
"anyio>=4.13.0",
|
||||||
|
"argon2-cffi>=25.1.0",
|
||||||
|
"fastapi>=0.136.1",
|
||||||
|
"fastmcp>=3.3.1",
|
||||||
|
"itsdangerous>=2.2.0",
|
||||||
|
"jinja2>=3.1.6",
|
||||||
|
"psycopg[binary]>=3.3.4",
|
||||||
|
"pydantic>=2.13.4",
|
||||||
|
"pydantic-settings>=2.14.1",
|
||||||
|
"sqlmodel>=0.0.38",
|
||||||
|
"uvicorn[standard]>=0.47.0",
|
||||||
|
"uvloop>=0.22.1",
|
||||||
|
]
|
||||||
|
|
||||||
|
[project.optional-dependencies]
|
||||||
|
local = [
|
||||||
|
"raycast-api",
|
||||||
|
"claude-code-api",
|
||||||
|
]
|
||||||
|
prod = [
|
||||||
|
"raycast-api",
|
||||||
|
"claude-code-api",
|
||||||
|
]
|
||||||
|
|
||||||
|
[tool.uv]
|
||||||
|
conflicts = [
|
||||||
|
[{ extra = "local" }, { extra = "prod" }],
|
||||||
|
]
|
||||||
|
|
||||||
|
[tool.uv.sources]
|
||||||
|
raycast-api = [
|
||||||
|
{ path = "../raycast-api", editable = true, extra = "local" },
|
||||||
|
{ git = "https://git.kotikot.com/beaver/raycast-api.git", extra = "prod" },
|
||||||
|
]
|
||||||
|
claude-code-api = [
|
||||||
|
{ path = "../claude-code-api", editable = true, extra = "local" },
|
||||||
|
{ git = "https://git.kotikot.com/beaver/claude-code-api.git", extra = "prod" },
|
||||||
|
]
|
||||||
|
|
||||||
|
[project.scripts]
|
||||||
|
beaver-gateway = "beaver_gateway:main"
|
||||||
|
|
||||||
|
[build-system]
|
||||||
|
requires = ["uv_build>=0.11.14,<0.12.0"]
|
||||||
|
build-backend = "uv_build"
|
||||||
|
|
||||||
|
[dependency-groups]
|
||||||
|
dev = [
|
||||||
|
"aioresponses>=0.7.8",
|
||||||
|
"pytest>=9.0.3",
|
||||||
|
"pytest-asyncio>=1.3.0",
|
||||||
|
"ruff>=0.15.13",
|
||||||
|
"ty>=0.0.37",
|
||||||
|
]
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
target-version = "py313"
|
||||||
|
|
||||||
|
[lint]
|
||||||
|
select = ["ALL"]
|
||||||
|
ignore = [
|
||||||
|
"D203",
|
||||||
|
"D212",
|
||||||
|
"COM812",
|
||||||
|
"T201",
|
||||||
|
"D1",
|
||||||
|
"PLC0415",
|
||||||
|
"ANN401",
|
||||||
|
"PLR0913",
|
||||||
|
"PLR2004",
|
||||||
|
"C901",
|
||||||
|
"PLR0911",
|
||||||
|
"PLR0912",
|
||||||
|
]
|
||||||
|
unfixable = ["F401"]
|
||||||
|
|
||||||
|
[lint.per-file-ignores]
|
||||||
|
"tests/*" = ["ALL"]
|
||||||
|
"examples/*" = ["ALL"]
|
||||||
|
"t/*" = ["ALL"]
|
||||||
|
"*.lock" = ["ALL"]
|
||||||
|
|
||||||
|
[lint.pydocstyle]
|
||||||
|
convention = "google"
|
||||||
|
|
||||||
|
[lint.isort]
|
||||||
|
split-on-trailing-comma = false
|
||||||
|
|
||||||
|
[format]
|
||||||
|
docstring-code-format = true
|
||||||
|
skip-magic-trailing-comma = true
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
def main() -> None:
|
||||||
|
print("Hello from beaver-gateway!")
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
[environment]
|
||||||
|
python = ".venv"
|
||||||
|
|
||||||
|
[src]
|
||||||
|
exclude = ["_extracted", "docs", "tests"]
|
||||||
Reference in New Issue
Block a user