@@ -21,18 +21,17 @@ classifiers = [
2121 " Topic :: Software Development :: Code Generators" ,
2222 " Programming Language :: Python" ,
2323 " Programming Language :: Python :: 3" ,
24- " Programming Language :: Python :: 3.7" ,
25- " Programming Language :: Python :: 3.8" ,
2624 " Programming Language :: Python :: 3.9" ,
2725 " Programming Language :: Python :: 3.10" ,
2826 " Programming Language :: Python :: 3.11" ,
27+ " Programming Language :: Python :: 3.12" ,
28+ " Programming Language :: Python :: 3.13" ,
2929]
30- requires-python = " >=3.7 "
30+ requires-python = " >=3.9 "
3131dependencies = [
32- " SQLAlchemy >= 1.4.36 " ,
32+ " SQLAlchemy >= 2.0.23 " ,
3333 " inflect >= 4.0.0" ,
3434 " importlib_metadata; python_version < '3.10'" ,
35- " greenlet >= 3.0.0a1; python_version >= '3.12'" ,
3635]
3736dynamic = [" version" ]
3837
@@ -42,16 +41,16 @@ dynamic = ["version"]
4241
4342[project .optional-dependencies ]
4443test = [
45- " pytest" ,
46- " pytest-cov" ,
44+ " sqlacodegen[sqlmodel]" ,
45+ " pytest >= 7.4" ,
46+ " coverage >= 7" ,
4747 " psycopg2-binary" ,
4848 " mysql-connector-python" ,
4949]
50- sqlmodel = [
51- " sqlmodel" ,
52- ]
50+ sqlmodel = [" sqlmodel >= 0.0.22" ]
5351citext = [" sqlalchemy-citext >= 1.7.0" ]
5452geoalchemy2 = [" geoalchemy2 >= 0.11.1" ]
53+ pgvector = [" pgvector >= 0.2.4" ]
5554
5655[project .entry-points ."sqlacodegen .generators" ]
5756tables = " sqlacodegen.generators:TablesGenerator"
@@ -67,22 +66,24 @@ version_scheme = "post-release"
6766local_scheme = " dirty-tag"
6867
6968[tool .ruff ]
70- select = [
71- " E" , " F" , " W" , # default Flake8
69+ src = [" src" ]
70+
71+ [tool .ruff .lint ]
72+ extend-select = [
7273 " I" , # isort
7374 " ISC" , # flake8-implicit-str-concat
7475 " PGH" , # pygrep-hooks
7576 " RUF100" , # unused noqa (yesqa)
7677 " UP" , # pyupgrade
78+ " W" , # pycodestyle warnings
7779]
7880src = [" src" ]
7981
8082[tool .mypy ]
8183strict = true
82- plugins = [" sqlalchemy.ext.mypy.plugin" ]
8384
8485[tool .pytest .ini_options ]
85- addopts = " -rsx --tb=short"
86+ addopts = " -rsfE --tb=short"
8687testpaths = [" tests" ]
8788
8889[coverage .run ]
@@ -93,15 +94,10 @@ relative_files = true
9394show_missing = true
9495
9596[tool .tox ]
96- legacy_tox_ini = """
97- [tox]
98- envlist = py37, py38, py39, py310, py311, py312
97+ env_list = [" py39" , " py310" , " py311" , " py312" , " py313" ]
9998skip_missing_interpreters = true
100- isolated_build = true
10199
102- [testenv]
103- extras = test
104- setenv =
105- SQLALCHEMY_WARN_20 = true
106- commands = python -m pytest {posargs}
107- """
100+ [tool .tox .env_run_base ]
101+ package = " editable"
102+ commands = [[" python" , " -m" , " pytest" , { replace = " posargs" , extend = true }]]
103+ extras = [" test" ]
0 commit comments