Rewrote Crabstero from Java to Python.

- Replaced Javacord with discord.py.
- Replaced Redis backend with SQLite via aiosqlite.
- Replaced Gradle build with pyproject.toml and uv.
- Added setuptools-scm for automatic versioning from git tags.
- Added argparse CLI with systemd credential support for the bot token.
- Replaced per-channel ingestion tasks with a bounded queue and worker pool.
- Removed Dockerfile and Gitea Actions workflow.
This commit is contained in:
2026-02-12 09:12:45 -05:00
parent fd26714ed2
commit b065c3dd05
39 changed files with 2008 additions and 1682 deletions
+36
View File
@@ -0,0 +1,36 @@
[project]
name = "crabstero"
dynamic = ["version"]
description = "The simple nonversation Discord bot."
license = "Apache-2.0"
requires-python = ">=3.14"
authors = [
{ name = "Logan Fick" },
]
dependencies = [
"discord.py>=2.6.4",
"aiosqlite>=0.22.1",
]
[project.scripts]
crabstero = "crabstero.__main__:main"
[project.urls]
Repository = "https://git.logal.dev/LogalDeveloper/Crabstero"
[dependency-groups]
dev = ["mypy>=1.18.1", "black>=26.1.0"]
[build-system]
requires = ["setuptools>=61.0", "setuptools-scm>=8.0"]
build-backend = "setuptools.build_meta"
[tool.setuptools.packages.find]
include = ["crabstero*"]
[tool.setuptools_scm]
version_file = "crabstero/_version.py"
[tool.mypy]
strict = true
exclude = ["crabstero/_version\\.py"]