-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyproject.toml
More file actions
121 lines (97 loc) · 3.06 KB
/
pyproject.toml
File metadata and controls
121 lines (97 loc) · 3.06 KB
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
[project]
name = "sqlnotify"
version = "0.1.1"
description = "A near real-time SQL notification library for database changes, supporting PostgreSQL and SQLite."
readme = { file = "README.md", content-type = "text/markdown" }
license = "MIT"
authors = [{ name = "Daniel Brai", email = "danielbrai.dev@gmail.com" }]
keywords = [
"sql",
"database",
"notification",
"asyncio",
"postgresql",
"sqlite",
"sqlalchemy",
]
classifiers = [
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
"Operating System :: OS Independent",
"Operating System :: POSIX :: Linux",
"Framework :: AsyncIO",
"Topic :: Database",
"Topic :: Software Development :: Libraries :: Python Modules",
"Typing :: Typed",
]
requires-python = ">=3.10"
dependencies = ["sqlalchemy>=2.0.0", "asyncpg>=0.31.0"]
[dependency-groups]
test = [
"pre-commit>=4.5.1",
"coverage>=7.13.4",
"pytest>=9.0.2",
"pytest-cov>=7.0.0",
"pytest-xdist>=3.8.0",
"pytest-asyncio>=1.3.0",
"psycopg[binary]==3.3.2",
"sqlmodel==0.0.33",
]
[project.urls]
Homepage = "https://github.com/Daniel-Brai/SQLNotify"
Repository = "https://github.com/Daniel-Brai/SQLNotify"
Source = "https://github.com/Daniel-Brai/SQLNotify"
Issues = "https://github.com/Daniel-Brai/SQLNotify/issues"
[project.optional-dependencies]
all = ["aiosqlite>=0.22.1"]
sqlite = ["aiosqlite>=0.22.1"]
[project.scripts]
sqlnotify = "sqlnotify:main"
[build-system]
requires = ["setuptools"]
build-backend = "setuptools.build_meta"
[tool.uv]
package = true
[tool.bandit]
severity_level = "HIGH"
confidence_level = "HIGH"
exclude_dirs = ["tests", "venv", ".venv", "build"]
skips = [
"B101",
"B608",
] # Note we skip B101 (assert statements) because we use them in tests and in code too to validate variables, and B608 (hardcoded sql expresssion) because we actually validate the sql expressions in the code as such it is a false positive
[tool.mypy]
python_version = "3.10"
show_error_codes = true
warn_unused_configs = true
check_untyped_defs = true
implicit_optional = true
exclude = ["^./build/.*$", "^./.venv/.*$", "^.*/tests/.*$", "^./examples/.*$"]
[tool.ruff.lint]
select = [
"E", # pycodestyle errors
"W", # pycodestyle warnings
"F", # pyflakes
"I", # isort
"B", # flake8-bugbear
"C4", # flake8-comprehensions
"UP", # pyupgrade
"ARG001", # unused arguments in functions
"ARG002", # unused variables on methods in classes
]
ignore = [
"E501", # line too long, handled by black
"B008", # do not perform function calls in argument defaults
"W191", # indentation contains tabs
"C416", # Allow use of list comprehensions
]
[tool.pytest.ini_options]
asyncio_mode = "auto"
testpaths = ["./tests/"]
python_files = ["test_*.py"]