gpt_chat_bot/pyproject.toml
Dmitry Afanasyev a95403f594
Feat/fix start (#1)
format code
2023-09-16 20:09:40 +03:00

198 lines
3.9 KiB
TOML

[tool.poetry]
name = "chat_gpt_bot"
version = "0.8.0"
description = "Bot to integrated with chat-gpt"
authors = ["Dmitry Afanasyev <Balshbox@gmail.com>"]
[tool.poetry.dependencies]
fastapi = "^0.103.1"
python-telegram-bot = {version = "^20.5", extras=["ext"]}
python = "^3.11"
python-dotenv = "^1.0"
httpx = "^0.24"
loguru = "^0.7"
pydantic = "^2.3"
pydantic-settings = "^2.0.3"
gunicorn = "^21.2"
uvicorn = "^0.23"
wheel = "^0.41"
orjson = "^3.9"
websocket-client = "^1.6"
requests = "^2.31"
selenium = "^4.11"
tls-client = "^0.2"
pypasser = "^0.0.5"
names = "^0.3"
colorama = "^0.4"
curl_cffi = "^0.5"
aiohttp = "^3.8.5"
flask = "^2.3"
flask_cors = "^4.0"
flask-babel = "^3.1"
streamlit = "^1.26"
fake-useragent = "^1.2"
twocaptcha = "^0.0.1"
pymailtm = "^1.1"
Levenshtein = "^0.21"
retrying = "^1.3"
mailgw_temporary_email = "^0.0.2"
pycryptodome = "^3.18"
random-password-generator = "^2.2"
numpy = "^1.25"
tornado = "^6.3"
PyExecJS = "^1.5"
browser_cookie3 = "^0.19"
[tool.poetry.dev-dependencies]
factory-boy = "^3.3"
Faker = "^19"
ipython = "^8.14"
safety = "^2.3.5"
pip-audit = "^2.6"
yamllint = "^1.32"
tomlkit = "^0.12"
bandit = "^1.7"
aresponses = "^2.1"
pyupgrade = "^3.10"
isort = "^5.12"
black = "^23.3"
mypy = "^1.5"
types-PyMySQL = "^1.0"
types-python-dateutil = "^2.8"
pytest = "^7.4"
pytest-asyncio = "^0.21"
pytest-deadfixtures = "^2.2"
pytest-repeat = "^0.9"
pytest-testmon = "^2.0"
pytest-mock = "^3.11"
pytest-cov = "^4.1"
pytest-timeout = "^2.1"
pytest-timeouts = "^1.2"
pytest-sugar = "^0.9"
pytest-clarity = "^1.0"
pytest-env = "^1.0.1"
nest-asyncio = "^1.5"
pytest-html = "^4.0"
pytest-randomly = "^3.15"
pytest-split = "^0.8"
pytest-freezegun = "^0.4"
pytest-socket = "^0.6"
assertpy = "^1.1"
coverage = "^7.3"
autoflake = "2.2"
flake8 = "^6.1"
flake8-logging-format = "^0.9"
flake8-comprehensions = "^3.14"
flake8-eradicate = "^1.5"
flake8-deprecated = "^2.0"
flake8-pytest-style = "^1.7"
flake8-aaa = "^0.16"
flake8-bugbear = "^23.7"
flake8-warnings = "^0.4"
flake8-debugger = "^4.1"
flake8-annotations-complexity = "^0.0.8"
flake8-fixme = "^1.1"
flake8-simplify = "^0.20"
flake8-variables-names = "^0.0.6"
flake8-bandit = "^4.1"
flake8-tidy-imports = "^4.10"
flake8-noqa = "^1.3"
flake8-useless-assert = "^0.4"
flake8-mock = "^0.4"
flake8-comments = "^0.1"
flake8-newspaper-style = "^0.4"
Flake8-pyproject = "^1.2.3"
[tool.flake8]
inline-quotes = "double"
max-line-length = 120
max-expression-complexity = 10
max-complexity = 10
ban-relative-imports = true
nested-classes-whitelist = ["Config", "Meta"]
pytest-parametrize-names-type = "csv"
exclude = [
"app/chat-gpt/*",
".cache/*",
".pytest_cache/*",
"*/__pycache__/*",
]
ignore = [
# use isort instead
"I",
# use black style
"E203", "W", "G004", "VNE003"
]
per-file-ignores = [
# too complex queries
"./app/tests/*: TAE001, S101, S311",
"app/tests/*/factories/*: S5720",
"settings/config.py: S104"
]
[tool.autoflake]
in-place = true
ignore-init-module-imports = true
remove-unused-variables = true
remove-all-unused-imports = true
remove-duplicate-keys = true
[tool.isort]
profile = "black"
multi_line_output = 3
src_paths = ["app", "settings", "tests"]
combine_as_imports = true
[tool.mypy]
allow_redefinition = false
namespace_packages = true
check_untyped_defs = true
disallow_untyped_decorators = false
disallow_any_explicit = false
disallow_any_generics = true
disallow_untyped_calls = true
disallow_untyped_defs = true
ignore_errors = false
ignore_missing_imports = true
implicit_reexport = false
local_partial_types = true
strict_optional = true
strict_equality = true
show_error_codes = true
no_implicit_optional = true
warn_unused_ignores = true
warn_redundant_casts = true
warn_unused_configs = true
warn_unreachable = true
warn_no_return = true
exclude = [
"app/chat-gpt/*"
]
[tool.coverage.run]
relative_files = true
[tool.pytest.ini_options]
filterwarnings = [
"error",
"ignore::DeprecationWarning",
]
[tool.black]
line-length = 120
target-version = ['py311']