-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpyproject.toml
124 lines (118 loc) · 3.98 KB
/
pyproject.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
[tool.poetry]
name = "cards-for-humanity"
version = "0.1.0"
description = "A party game for horrible people."
authors = ["Victor Enogwe <[email protected]>"]
license = "UNLICENSED"
readme = "README.md"
repository = "https://github.com/victor-enogwe/cards-for-humanity"
homepage = "https://www.victorenogwe.me"
keywords = ["cards", "cards for humanity"]
[tool.poetry.dependencies]
python = "^3.9"
channels = "^3.0.4"
channels-redis = "^3.3.1"
Django = "3.2.10"
django-channels-graphql-ws = "^0.9.0"
django-cors-headers = "^3.10.1"
django-cron = "^0.5.1"
django-csp = "^3.7"
django-filter = "^21.1"
django-graphql-jwt = "^0.3.4"
django-graphql-social-auth = "^0.1.4"
django-pgconnection = "^1.0.2"
django-pgtrigger = "^2.4.0"
django-phonenumber-field = "^6.0.0"
django-redis = "^5.1.0"
django-redis-cache = "^3.0.0"
djangorestframework = "^3.12.4"
graphene = "^2.1"
graphene-django-cud = "^0.9.0"
graphql-core = ">=2.2"
graphql-relay = ".0.12"
psycopg2 = "^2.9.2"
naked = {git = "https://github.com/chrissimpkins/naked.git/"}
phonenumberslite = "^8.12.38"
python-environ = "^0.4.54"
social-auth-app-django = "^5.0.0"
social-auth-core = "^4.1.0"
Rx = "Rx-1.6.1-py2.py3-none-any.whl"
celery = "^5.2.2"
django-celery-beat = "^2.2.1"
[tool.poetry.dev-dependencies]
black = { version = "*", allow-prereleases = true }
pre-commit = "*"
pydocstyle = "*"
pylint = "*"
pytest = "^3.4"
flake8 = "^4.0.1"
# ---------------------------------------------------------------- BLACK
# Black - the uncompromising code formatter.
flake8-colors = "^0.1.9"
# https://black.readthedocs.io/en/stable/index.html
[tool.black]
target-version = ['py39']
[tool.flake8]
ignore= ['E203', 'E501', 'W503']
select = ['B', 'C', 'E', 'F', 'W', 'T4' ,'B9']
format = "colored"
max-complexity = 18
max-line-length = 88
# --------------------------------------------------------------- PYLINT
# Pylint code checker configuration.
# - Pylint docs:
# https://pylint.readthedocs.io/en/latest/
# - Configuration reference:
# http://pylint.pycqa.org/en/latest/technical_reference/features.html
[tool.pylint.MASTER]
# Work in parallel.
# Parallel work disabled due to a bug in the pylint-django:
# https://github.com/PyCQA/pylint-django/issues/276
#jobs = "0"
jobs = "1"
load-plugins = "pylint_quotes,pylint_django"
# Do not store results of previous runs.
persistent = "no"
# Allow to load C extension modules.
unsafe-load-any-extension = "yes"
[tool.pylint."MESSAGES CONTROL"]
# bad-continuation: Black does the job, no need to check.
# design: Do not count lines, members, ..., no use.
# similarities: Duplication does not mean bad design by itself.
disable = "bad-continuation,design,similarities"
enable = "c-extension-no-member"
[tool.pylint.BASIC]
# It is OK to have 2-letters identifiers, e.g. 'id' or 'ok'. Also allow
# long identifiers, cause there is a strong line length limitation which
# will force engineers to thing twice before giving too long names.
argument-rgx = "[a-z_][a-z0-9_]{1,64}$"
attr-rgx = "[a-z_][a-z0-9_]{1,64}$"
bad-names = "foo,bar,baz,toto,tutu,tata,response,paths"
class-attribute-rgx = "([A-Za-z_][A-Za-z0-9_]{1,64}|(__.*__))$"
function-rgx = "[a-z_][a-z0-9_]{1,64}$"
good-names = "i,j,k,ex,Run,_"
method-rgx = "[a-z_][a-z0-9_]{1,64}$"
# Docstrings are needed everywhere.
no-docstring-rgx = "^$"
variable-rgx = "[a-z_][a-z0-9_]{1,64}$"
[tool.pylint.FORMAT]
max-line-length="88"
max-module-lines="9000" # Right, over nine thousand!
[tool.pylint.STRING_QUOTES]
docstring-quote = "double"
string-quote = "double-avoid-escape"
triple-quote = "double"
[tool.pylint.PYLINT_DJANGO]
# NOTE: When Pytest runs Pylint this setting is overwritten by the
# environment variable `DJANGO_SETTINGS_MODULE` set by `pytest-django`.
# Anyway, the setting is still useful when VS Code runs Pylint directly.
django-settings-module = "example.settings"
[tool.pylint.REFACTORING]
# We have line length 88, no need to check.
max-nested-blocks = "9000"
[tool.pylint.REPORTS]
reports = "no"
score = "no"
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"