Initial commit.

This commit is contained in:
2026-02-14 15:20:52 -05:00
commit 067b7c5a0a
48 changed files with 12169 additions and 0 deletions
+80
View File
@@ -0,0 +1,80 @@
[project]
name = "owlbot"
dynamic = ["version"]
description = "An Owncast chat bot with a modular event-driven architecture"
requires-python = ">=3.14"
license = "Apache-2.0"
authors = [
{ name = "Logan Fick" },
]
dependencies = [
"aiohttp>=3.13.3",
"aiosqlite>=0.22.1",
"cronsim>=2.7",
"jinja2>=3.1.6",
"pyyaml>=6.0.3",
]
[project.scripts]
owlbot = "owlbot.__main__:main"
[project.urls]
Repository = "https://git.logal.dev/LogalDeveloper/Owlbot"
[dependency-groups]
dev = [
"pytest>=9.0.2",
"pytest-asyncio>=1.3.0",
"mypy>=1.18.1",
"types-PyYAML>=6.0.12.20250915",
"ruff>=0.15.1",
]
[tool.uv]
extra-index-url = ["https://git.logal.dev/api/packages/LogalDeveloper/pypi/simple/"]
publish-url = "https://git.logal.dev/api/packages/LogalDeveloper/pypi"
[build-system]
requires = ["hatchling>=1.28.0", "hatch-vcs>=0.5.0"]
build-backend = "hatchling.build"
[tool.hatch.version]
source = "vcs"
[tool.hatch.build.targets.wheel]
packages = ["owlbot"]
[tool.hatch.build.targets.wheel.force-include]
"config.example.yaml" = "owlbot/_defaults/config.example.yaml"
[tool.hatch.build.hooks.vcs]
version-file = "owlbot/_version.py"
[tool.mypy]
python_version = "3.14"
strict = true
warn_unreachable = true
explicit_package_bases = true
[tool.pytest.ini_options]
asyncio_mode = "auto"
[tool.ruff]
target-version = "py314"
extend-exclude = ["owlbot/_version.py"] # auto-generated by hatch-vcs
[tool.ruff.lint]
select = [
"F", # Pyflakes
"E", # pycodestyle errors
"W", # pycodestyle warnings
"I", # isort
"UP", # pyupgrade
"B", # flake8-bugbear
"SIM", # flake8-simplify
"TCH", # flake8-type-checking
"RUF", # Ruff-specific rules
]
[tool.ruff.lint.per-file-ignores]
"owlbot/__init__.py" = ["E402"] # constants defined before imports intentionally