[tool.poetry] name = "sir-lancebot" version = "0.1.0" description = "A Discord bot designed as a fun and beginner-friendly learning environment for writing bot features and learning open-source." authors = ["Python Discord "] license = "MIT" package-mode = false [tool.poetry.dependencies] python = "3.12.*" # See https://bot-core.pythondiscord.com/ for docs. pydis_core = { version = "11.5.0", extras = ["all"] } arrow = "1.3.0" beautifulsoup4 = "4.12.3" colorama = { version = "0.4.6", markers = "sys_platform == 'win32'" } coloredlogs = "15.0.1" emoji = "2.14.0" emojis = "0.7.0" lxml = "5.3.0" pillow = "11.0.0" pydantic = { version = "2.10.1", extras = ["dotenv"]} pydantic-settings = "2.6.1" pyjokes = "0.8.3" PyYAML = "6.0.2" rapidfuzz = "3.10.1" sentry-sdk = "2.19.0" [tool.poetry.dev-dependencies] pip-licenses = "5.0.0" pre-commit = "4.0.1" python-dotenv = "1.0.1" ruff = "0.8.0" taskipy = "1.14.0" [tool.taskipy.tasks] start = "python -m bot" lint = "pre-commit run --all-files" precommit = "pre-commit install" [build-system] requires = ["poetry-core>=1.0.0"] build-backend = "poetry.core.masonry.api" [tool.isort] multi_line_output = 6 order_by_type = false case_sensitive = true combine_as_imports = true line_length = 120 atomic = true known_first_party = ["bot"] [tool.ruff] target-version = "py312" extend-exclude = [".cache"] output-format = "concise" line-length = 120 unsafe-fixes = true preview = true [tool.ruff.lint] select = ["ANN", "B", "C4", "D", "DTZ", "E", "F", "I", "ISC", "INT", "N", "PGH", "PIE", "Q", "RET", "RSE", "RUF", "S", "SIM", "T20", "TID", "UP", "W"] ignore = [ "ANN002", "ANN003", "ANN101", "ANN102", "ANN204", "ANN206", "ANN401", "B904", "C401", "C408", "D100", "D104", "D105", "D107", "D203", "D212", "D214", "D215", "D301", "D400", "D401", "D402", "D404", "D405", "D406", "D407", "D408", "D409", "D410", "D411", "D412", "D413", "D414", "D416", "D417", "E226", "E731", "RET504", "RUF005", "RUF029", "S311", "SIM102", "SIM108", ] [tool.ruff.lint.isort] known-first-party = ["bot"] order-by-type = false case-sensitive = true combine-as-imports = true