-
Notifications
You must be signed in to change notification settings - Fork 4
/
pyproject.toml
113 lines (102 loc) · 2.58 KB
/
pyproject.toml
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
[tool.poetry]
authors = [
"Charlie Sanders <[email protected]>",
"rbpatt2019 <[email protected]>",
"PRQL Team",
]
classifiers = [
"License :: OSI Approved :: Apache Software License",
"Programming Language :: Python",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Typing :: Typed",
]
description = "Python extensions for PRQL"
homepage = "https://prql-lang.org"
license = "Apache-2.0"
name = "pyprql"
readme = "README.md"
repository = "https://github.com/prql/pyprql"
version = "0.12.1"
[tool.poetry.dependencies]
python = "^3.10"
duckdb-engine = ">=0.7,<0.15"
jupysql = ">=0.10"
pandas = ">=1.5"
polars = { version = ">= 0.20.23", optional = true }
prqlc = "^0.11.0"
traitlets = ">=5"
ipython = "^8.28.0"
[tool.poetry.extras]
polars = ["polars"]
[tool.poetry.dev-dependencies]
Sphinx = "~8.1"
coverage = "^7.6.0"
darglint = "^1.8.1"
mypy = "^1.13"
myst-parser = "^4.0.0"
nox = "^2024.10.9"
polars = ">=0.16"
pre-commit = "^4.0.1"
pytest = ">8"
# pytest-regtest compat https://gitlab.com/uweschmitt/pytest-regtest/-/merge_requests/9
py = "1.11"
pytest-clarity = "^1.0.1"
pytest-cov = "^6.0.0"
pytest-regtest = "*"
pytest-sugar = "^1.0.0"
pytest-testmon = "*"
pytest-xdist = "^3.5.0"
python-semantic-release = "^9.15.0"
ruff = "^0.8.0"
safety = "^3"
sphinx-rtd-theme = "^3.0.0"
twine = "^6.0.1"
xdoctest = "^1.2.0"
[tool.semantic_release]
branch = "main"
build_command = "poetry build"
changelog_file = "CHANGELOG.md"
major_on_zero = false
upload_to_pypi = true
upload_to_release = true
version_toml = ["pyproject.toml:tool.poetry.version"]
[tool.pytest.ini_options]
addopts = """
--xdoctest
"""
[tool.coverage.run]
branch = true
source = ["pyprql"]
[tool.coverage.report]
show_missing = true
[tool.mypy]
disable_error_code = ["union-attr", 'operator']
files = "pyprql"
# TODO: ideally we would list the modules that aren't yet typed
ignore_missing_imports = true
[build-system]
build-backend = "poetry.core.masonry.api"
requires = ["poetry-core>=1.3.0"]
[tool.ruff]
fix = true
[tool.ruff.lint]
# E402: module level import not at top of file
# E501: line too long - let black worry about that
# E731: do not assign a lambda expression, use a def
extend-safe-fixes = [
"TID252", # absolute imports
]
ignore = ["E402", "E501", "E731", "UP007"]
extend-select = [
"B", # flake8-bugbear
"F", # Pyflakes
"E", # Pycodestyle
"W",
"TID", # flake8-tidy-imports (absolute imports)
"I", # isort
"UP", # Pyupgrade
]