mirror of
https://github.com/Balshgit/mosgortrans.git
synced 2025-09-11 13:00:40 +03:00
add develop dependencies
This commit is contained in:
parent
908e300301
commit
7ac33d13a8
38
Makefile
Normal file
38
Makefile
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
PY_TARGET_DIRS=app # settings tests
|
||||||
|
PY_TARGET_FILES=
|
||||||
|
|
||||||
|
PORT=8000
|
||||||
|
|
||||||
|
.PHONY: app
|
||||||
|
app:
|
||||||
|
poetry run python app/main.py
|
||||||
|
|
||||||
|
# standard commands to run on every commit
|
||||||
|
format:
|
||||||
|
autoflake --recursive --ignore-init-module-imports --remove-all-unused-imports --remove-unused-variables --in-place $(PY_TARGET_DIRS)
|
||||||
|
pyupgrade --keep-runtime-typing $(PY_TARGET_FILES)
|
||||||
|
isort --color --quiet $(PY_TARGET_DIRS)
|
||||||
|
black $(PY_TARGET_DIRS) -S
|
||||||
|
|
||||||
|
check-style:
|
||||||
|
black --check $(PY_TARGET_DIRS) -S --diff --color
|
||||||
|
|
||||||
|
check-imports:
|
||||||
|
isort --check-only $(PY_TARGET_DIRS)
|
||||||
|
|
||||||
|
lint-typing:
|
||||||
|
mypy $(PY_TARGET_DIRS)
|
||||||
|
|
||||||
|
lint-complexity:
|
||||||
|
flake8 $(PY_TARGET_DIRS)
|
||||||
|
|
||||||
|
# special commands
|
||||||
|
lint-deps:
|
||||||
|
safety check --full-report
|
||||||
|
|
||||||
|
# docker commands
|
||||||
|
test-deps-up:
|
||||||
|
docker compose -f tests/docker-compose.yml up -d
|
||||||
|
|
||||||
|
test-deps-down:
|
||||||
|
docker compose -f tests/docker-compose.yml down -v
|
67
lefthook.yml
Normal file
67
lefthook.yml
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
# Refer for explanation to following link:
|
||||||
|
# https://github.com/evilmartians/lefthook/blob/master/docs/full_guide.md
|
||||||
|
|
||||||
|
# NOTE: use `lefthook install` when you make change in stages (groups like pre-commit, format, etc.)
|
||||||
|
|
||||||
|
pre-commit:
|
||||||
|
commands:
|
||||||
|
format:
|
||||||
|
run: lefthook run format
|
||||||
|
lint:
|
||||||
|
run: lefthook run lint
|
||||||
|
check-format:
|
||||||
|
run: lefthook run check-format
|
||||||
|
|
||||||
|
pre-push:
|
||||||
|
parallel: true
|
||||||
|
commands:
|
||||||
|
isort:
|
||||||
|
glob: "*.py"
|
||||||
|
run: isort --check-only {all_files}
|
||||||
|
black:
|
||||||
|
glob: "*.py"
|
||||||
|
run: black --check {all_files}
|
||||||
|
mypy:
|
||||||
|
glob: "*.py"
|
||||||
|
run: mypy {all_files} --namespace-packages
|
||||||
|
flake8:
|
||||||
|
glob: "*.py"
|
||||||
|
run: flake8 {all_files}
|
||||||
|
|
||||||
|
format:
|
||||||
|
piped: true
|
||||||
|
parallel: false
|
||||||
|
commands:
|
||||||
|
# number prefix used to save ordering
|
||||||
|
1_autoflake:
|
||||||
|
glob: "*.py"
|
||||||
|
run: autoflake --recursive --ignore-init-module-imports --remove-all-unused-imports --remove-unused-variables --in-place {staged_files}
|
||||||
|
2_isort:
|
||||||
|
glob: "*.py"
|
||||||
|
run: isort --color --quiet {staged_files}
|
||||||
|
3_black:
|
||||||
|
glob: "*.py"
|
||||||
|
run: black {staged_files}
|
||||||
|
4_black_check:
|
||||||
|
glob: "*.py"
|
||||||
|
run: black --check {staged_files}
|
||||||
|
|
||||||
|
lint:
|
||||||
|
parallel: true
|
||||||
|
commands:
|
||||||
|
mypy:
|
||||||
|
glob: "*.py"
|
||||||
|
run: mypy {staged_files} --namespace-packages
|
||||||
|
flake8:
|
||||||
|
glob: "*.py"
|
||||||
|
run: flake8 {staged_files}
|
||||||
|
|
||||||
|
check-format:
|
||||||
|
parallel: true
|
||||||
|
commands:
|
||||||
|
isort:
|
||||||
|
glob: "*.py"
|
||||||
|
run: isort --check-only {staged_files}
|
||||||
|
black:
|
||||||
|
glob: "*.py"
|
||||||
|
run: black --check {staged_files}
|
1723
poetry.lock
generated
1723
poetry.lock
generated
File diff suppressed because it is too large
Load Diff
@ -1,6 +1,6 @@
|
|||||||
[tool.poetry]
|
[tool.poetry]
|
||||||
name = "mosgortrans"
|
name = "mosgortrans"
|
||||||
version = "0.1.0"
|
version = "0.7.1"
|
||||||
description = "Bot to help with mosgortans"
|
description = "Bot to help with mosgortans"
|
||||||
authors = ["Dmitry Afanasyev <Balshbox@gmail.com>"]
|
authors = ["Dmitry Afanasyev <Balshbox@gmail.com>"]
|
||||||
|
|
||||||
@ -13,9 +13,77 @@ wget = "^3.2"
|
|||||||
loguru = "^0.6.0"
|
loguru = "^0.6.0"
|
||||||
python-decouple = "^3.6"
|
python-decouple = "^3.6"
|
||||||
apscheduler = "^3.9.1"
|
apscheduler = "^3.9.1"
|
||||||
|
SQLAlchemy = {version = "^1.4", extras = ["mypy", "asyncio"]}
|
||||||
|
|
||||||
[tool.poetry.dev-dependencies]
|
[tool.poetry.dev-dependencies]
|
||||||
|
ipython = "^8.2.0"
|
||||||
|
pre-commit = "^2.14.0"
|
||||||
|
safety = "^1.10.3"
|
||||||
|
yamllint = "^1.26.3"
|
||||||
|
tomlkit = "^0.7.2"
|
||||||
|
bandit = "1.7.4"
|
||||||
|
requests = "^2.26.0"
|
||||||
|
SQLAlchemy = {version = "^1.4", extras = ["mypy"]}
|
||||||
|
|
||||||
[build-system]
|
pyupgrade = "^2.24.0"
|
||||||
requires = ["poetry-core>=1.0.0"]
|
isort = "^5.9.3"
|
||||||
build-backend = "poetry.core.masonry.api"
|
black = "^22.3.0"
|
||||||
|
|
||||||
|
mypy = "^0.961"
|
||||||
|
types-PyMySQL = "^1.0.11"
|
||||||
|
types-python-dateutil = "^2.8.4"
|
||||||
|
|
||||||
|
pytest = "^6.0"
|
||||||
|
pytest-asyncio = "^0.15.1"
|
||||||
|
pytest-deadfixtures = "^2.2.1"
|
||||||
|
pytest-testmon = "^1.1.2"
|
||||||
|
pytest-mock = "^3.6.1"
|
||||||
|
pytest-cov = "^2.12.1"
|
||||||
|
pytest-timeout = "^1.4.2"
|
||||||
|
pytest-sugar = "^0.9.4"
|
||||||
|
pytest-clarity = "^1.0.1"
|
||||||
|
pytest-env = "^0.6.2"
|
||||||
|
nest-asyncio = "^1.5.1"
|
||||||
|
|
||||||
|
autoflake = "^1.4"
|
||||||
|
flake8 = "^3.9"
|
||||||
|
flake8-logging-format = "^0.6.0"
|
||||||
|
flake8-comprehensions = "^3.6.1"
|
||||||
|
flake8-eradicate = "^1.1.0"
|
||||||
|
flake8-pytest-style = "^1.5.0"
|
||||||
|
flake8-aaa = "^0.12.0"
|
||||||
|
flake8-bugbear = "^21.4.3"
|
||||||
|
flake8-debugger = "^4.0.0"
|
||||||
|
flake8-expression-complexity = "^0.0.11"
|
||||||
|
flake8-fixme = "^1.1.1"
|
||||||
|
flake8-simplify = "^0.18.2"
|
||||||
|
flake8-variables-names = "^0.0.4"
|
||||||
|
flake8-bandit = "3.0.0"
|
||||||
|
flake8-tidy-imports = "^4.4.1"
|
||||||
|
|
||||||
|
|
||||||
|
[tool.isort]
|
||||||
|
profile = "black"
|
||||||
|
multi_line_output = 3
|
||||||
|
src_paths = ["LenokWinServer",]
|
||||||
|
|
||||||
|
[tool.mypy]
|
||||||
|
strict = true
|
||||||
|
ignore_missing_imports = true
|
||||||
|
allow_subclassing_any = true
|
||||||
|
allow_untyped_calls = true
|
||||||
|
pretty = true
|
||||||
|
show_error_codes = true
|
||||||
|
implicit_reexport = true
|
||||||
|
allow_untyped_decorators = true
|
||||||
|
warn_return_any = false
|
||||||
|
plugins = ["sqlalchemy.ext.mypy.plugin"]
|
||||||
|
|
||||||
|
[tool.coverage.run]
|
||||||
|
relative_files = true
|
||||||
|
|
||||||
|
[tool.pytest.ini_options]
|
||||||
|
filterwarnings = [
|
||||||
|
"error",
|
||||||
|
"ignore::DeprecationWarning",
|
||||||
|
]
|
||||||
|
51
setup.cfg
Normal file
51
setup.cfg
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
[flake8]
|
||||||
|
statistics = False
|
||||||
|
inline-quotes = single
|
||||||
|
max-line-length = 120
|
||||||
|
max-expression-complexity = 10
|
||||||
|
max-complexity = 10
|
||||||
|
ban-relative-imports = parents
|
||||||
|
nested-classes-whitelist = Config, Meta
|
||||||
|
docstring_style=reStructuredText
|
||||||
|
exclude =
|
||||||
|
tests/*,
|
||||||
|
./.git,
|
||||||
|
./venv,
|
||||||
|
ignore =
|
||||||
|
; use isort instead
|
||||||
|
I,
|
||||||
|
; use black style
|
||||||
|
E203, W
|
||||||
|
G004,
|
||||||
|
VNE003,
|
||||||
|
; conflict with fastapi di
|
||||||
|
B008,
|
||||||
|
per-file-ignores =
|
||||||
|
; too complex queries
|
||||||
|
*/repositories.py: ECE001
|
||||||
|
tests/*: TAE001, S101, S311
|
||||||
|
tests/*/factories/*: S5720
|
||||||
|
|
||||||
|
[mypy]
|
||||||
|
# Mypy configuration:
|
||||||
|
# https://mypy.readthedocs.io/en/latest/config_file.html
|
||||||
|
allow_redefinition = False
|
||||||
|
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
|
Loading…
x
Reference in New Issue
Block a user