[tool.poetry] name = "bot" version = "1.0.0" description = "The community bot for the Python Discord community." authors = ["Python Discord "] license = "MIT" [tool.poetry.dependencies] python = "3.10.*" # See https://bot-core.pythondiscord.com/ for docs. pydis_core = { version = "9.5.1", extras = ["async-rediscache"] } aiohttp = "3.8.3" arrow = "1.2.3" beautifulsoup4 = "4.11.2" colorama = { version = "0.4.6", markers = "sys_platform == 'win32'" } coloredlogs = "15.0.1" deepdiff = "6.2.3" emoji = "2.2.0" feedparser = "6.0.10" lxml = "4.9.2" markdownify = "0.11.6" more-itertools = "9.1.0" python-dateutil = "2.8.2" python-frontmatter = "1.0.0" pyyaml = "6.0" rapidfuzz = "2.13.7" regex = "2022.10.31" sentry-sdk = "1.16.0" tldextract = "3.4.0" pydantic = { version = "1.10.5", extras = ["dotenv"]} [tool.poetry.dev-dependencies] coverage = "7.2.1" flake8 = "6.0.0" flake8-annotations = "3.0.0" flake8-bugbear = "23.2.13" flake8-docstrings = "1.7.0" flake8-string-format = "0.3.0" flake8-tidy-imports = "4.8.0" flake8-todo = "0.7" flake8-isort = "6.0.0" pep8-naming = "0.13.3" pre-commit = "3.1.1" pip-licenses = "4.1.0" pytest = "7.2.2" pytest-cov = "4.0.0" pytest-subtests = "0.10.0" pytest-xdist = "3.2.0" taskipy = "1.10.3" httpx = "0.23.3" [build-system] requires = ["poetry-core>=1.0.0"] build-backend = "poetry.core.masonry.api" [tool.taskipy.tasks] start = "python -m bot" configure = "python -m botstrap" lint = "pre-commit run --all-files" precommit = "pre-commit install" build = "docker build -t ghcr.io/python-discord/bot:latest -f Dockerfile ." push = "docker push ghcr.io/python-discord/bot:latest" test-nocov = "pytest -n auto" test = "pytest -n auto --cov-report= --cov --ff" retest = "pytest -n auto --cov-report= --cov --lf" html = "coverage html" report = "coverage report" isort = "isort ." [tool.coverage.run] branch = true source_pkgs = ["bot"] source = ["tests"] [tool.isort] multi_line_output = 6 order_by_type = false case_sensitive = true combine_as_imports = true line_length = 120 atomic = true [tool.pytest.ini_options] # We don't use nose style tests so disable them in pytest. # This stops pytest from running functions named `setup` in test files. # See https://github.com/python-discord/bot/pull/2229#issuecomment-1204436420 addopts = "-p no:nose"