@@ -47,32 +47,26 @@ optional = true
4747
4848[tool .poetry .group .dev .dependencies ]
4949aiosqlite = " >=0.18.0"
50- bandit = " >=1.7.7"
5150coverage = " >=6.5.0"
52- black = " >=22.10.0"
5351mike = " >=2.0.0"
5452mkdocs = " >=1.4.3"
5553mkdocstrings = { version = " >=0.24.0" , extras = [" python" ] }
5654mkdocs-gen-files = " >=0.5.0"
5755mkdocs-material = " >=9.1.16"
5856mypy = " >=0.990"
5957pymdown-extensions = " >=10.0.1"
60- pytest = " >=7.2 .0"
58+ pytest = " ^8.0 .0"
6159pytest-asyncio = " >=0.20.3"
6260pytest-cov = " >=4.0.0"
6361pytest-factoryboy = " >=2.5.0"
6462pytest-xdist = " >=3.0.2"
6563ruff = " >=0.0.263"
64+ tox = " ^4.14.1"
6665mkdocs-awesome-pages-plugin = " ^2.9.2"
6766
68- [tool .pytest .ini_options ]
69- asyncio_mode = " auto"
70- minversion = " 6.0"
71- addopts = " -n auto --cov-report=term-missing"
72- testpaths = [
73- " tests" ,
74- ]
75-
67+ # ###########################
68+ # ## Tools configuration ###
69+ # ###########################
7670[tool .coverage .run ]
7771branch = true
7872source = [" sqlalchemy_bind_manager" ]
@@ -89,20 +83,51 @@ exclude_also = [
8983
9084[tool .mypy ]
9185files = " sqlalchemy_bind_manager"
86+ python_version = " 3.8"
9287plugins = " pydantic.mypy"
9388
89+ [tool .pytest .ini_options ]
90+ asyncio_mode = " auto"
91+ minversion = " 6.0"
92+ addopts = " -n auto --cov-report=term-missing"
93+ testpaths = [
94+ " tests" ,
95+ ]
96+
9497[tool .ruff ]
95- select = [" E " , " F " , " I " ]
96- extend-exclude = [ " docs " ]
98+ extend-exclude = [" docs " , " .tox " ]
99+ target-version = " py38 "
97100
98- [tool .ruff .per-file-ignores ]
101+ [tool .ruff .lint ]
102+ select = [
103+ " E" , # pycodestyle
104+ " W" , # pycodestyle
105+ " F" , # pyflakes
106+ " I" , # isort
107+ " N" , # pep8-naming
108+ " S" , # flake8-bandit
109+ " RUF" , # ruff-specific-rules
110+ ]
111+ # Ignoring rules problematic with formatter
112+ # https://docs.astral.sh/ruff/formatter/#conflicting-lint-rules
113+ ignore = [
114+ " W191" ,
115+ " E111" ,
116+ " E114" ,
117+ " E117" ,
118+ " D206" ,
119+ " D300" ,
120+ " Q000" ,
121+ " Q001" ,
122+ " Q002" ,
123+ " Q003" ,
124+ " COM812" ,
125+ " COM819" ,
126+ " ISC001" ,
127+ " ISC002" ,
128+ ]
129+
130+ [tool .ruff .lint .per-file-ignores ]
99131"__init__.py" = [" F401" ]
100132"repository.py" = [" F401" ]
101-
102- [tool .black ]
103- target-version = [" py38" , " py39" , " py310" , " py311" , " py312" ]
104- extend-exclude = '''
105- (
106- /docs
107- )
108- '''
133+ "tests/**/*.py" = [" S101" ] # Allow assert usage on tests
0 commit comments