[project] name = "sqlalchemy-pgview" version = "0.1.0" description = "SQLAlchemy extension for PostgreSQL views and materialized views" readme = "README.md" authors = [ { name = "d3vyce", email = "nicolas.sudres@proton.me" } ] requires-python = ">=3.10" dependencies = [ "annotated-doc>=0.0.1", "sqlalchemy>=2.0", ] license = { text = "MIT" } keywords = ["sqlalchemy", "postgresql", "views", "materialized-views", "database"] classifiers = [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Topic :: Database", "Typing :: Typed", ] [project.optional-dependencies] alembic = ["alembic>=1.10"] [build-system] requires = ["uv_build>=0.9.17,<0.10.0"] build-backend = "uv_build" [tool.ruff] target-version = "py310" line-length = 100 [tool.ruff.lint] select = [ "E", # pycodestyle errors "W", # pycodestyle warnings "F", # pyflakes "I", # isort "UP", # pyupgrade "B", # flake8-bugbear "SIM", # flake8-simplify "TCH", # flake8-type-checking "RUF", # ruff-specific ] ignore = [ "E501", # line too long (handled by formatter) ] [tool.ruff.lint.isort] known-first-party = ["sqlalchemy_pgview"] [tool.ty.environment] python-version = "3.10" [tool.pytest.ini_options] testpaths = ["tests"] asyncio_mode = "auto" [dependency-groups] dev = [ "asyncpg>=0.31.0", "griffe-typingdoc>=0.2", "mkdocs-material>=9.7.1", "mkdocstrings[python]>=0.28", "prek>=0.2.27", "psycopg2-binary>=2.9.11", "pytest-asyncio>=0.23", "pytest-cov>=7.0.0", "pytest>=8.0", "ruff>=0.8", "ty>=0.0.1a6", ]