Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -122,3 +122,4 @@ docs/objects.json

datasets/
/*.parquet
.ruff_cache
4 changes: 4 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@ test-update:
test-coverage:
pytest --cov=pointblank --cov-report=term-missing

lint: ## Run ruff formatter and linter
@uv run ruff format
@uv run ruff check --fix

check:
pyright --pythonversion 3.8 pointblank
pyright --pythonversion 3.9 pointblank
Expand Down
79 changes: 31 additions & 48 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,16 @@ include = ["pointblank"]
name = "pointblank"
description = "Find out if your data is what you think it is."
readme = "README.md"
keywords = ["data", "quality", "validation", "testing", "data science", "data engineering"]
license.file = "LICENSE"
authors = [
{ name = "Richard Iannone", email = "riannone@me.com" }
keywords = [
"data",
"quality",
"validation",
"testing",
"data science",
"data engineering",
]
license.file = "LICENSE"
authors = [{ name = "Richard Iannone", email = "riannone@me.com" }]
dynamic = ["version"]
classifiers = [
"Development Status :: 5 - Production/Stable",
Expand All @@ -39,29 +44,13 @@ dependencies = [
requires-python = ">=3.10"

[project.optional-dependencies]
pd = [
"pandas>=2.2.3",
]
pl = [
"polars>=1.17.1",
]
generate = [
"chatlas>=0.3.0",
"anthropic[bedrock]>=0.45.2",
"openai>=1.63.0",
]
duckdb = [
"ibis-framework[duckdb]>=9.5.0",
]
mysql = [
"ibis-framework[mysql]>=9.5.0",
]
postgres = [
"ibis-framework[postgres]>=9.5.0",
]
sqlite = [
"ibis-framework[sqlite]>=9.5.0",
]
pd = ["pandas>=2.2.3"]
pl = ["polars>=1.17.1"]
generate = ["chatlas>=0.3.0", "anthropic[bedrock]>=0.45.2", "openai>=1.63.0"]
duckdb = ["ibis-framework[duckdb]>=9.5.0"]
mysql = ["ibis-framework[mysql]>=9.5.0"]
postgres = ["ibis-framework[postgres]>=9.5.0"]
sqlite = ["ibis-framework[sqlite]>=9.5.0"]
docs = [
"jupyter",
"nbclient>=0.10.0",
Expand Down Expand Up @@ -89,40 +78,34 @@ dev = [
"pytest-cov",
"pytest-snapshot",
"quartodoc>=0.8.1; python_version >= '3.9'",
"ruff>=0.9.9",
]

[project.urls]
homepage = "https://github.com/posit-dev/pointblank"

[tool.flake8]
exclude = ["docs", ".venv", "tests/*"]

ignore = [
"E402", # module level import not at top of file
"E501", # line too long (maximum 100 characters)
"W503", # line break before binary operator
"F811", # redefinition of unused name
"E203", # whitespace before ':'
"F401", # 'module' imported but unused
"F841", # local variable 'name' is assigned to but never used
"E702", # multiple statements on one line (semicolon)
"E704", # multiple statements on one line (def)
]

max-line-length = 100

[tool.pytest.ini_options]
minversion = "6.0"
addopts = "-ra --cov=pointblank"
asyncio_mode = "strict"
asyncio_default_fixture_loop_scope = "function"
testpaths = [
"tests"
]
testpaths = ["tests"]

[tool.black]
[tool.ruff]
line-length = 100

[tool.ruff.lint]
exclude = ["docs", ".venv", "tests/*"]

ignore = [
"E402", # module level import not at top of file
"E501", # line too long (maximum 100 characters)
"F811", # redefinition of unused name
"E203", # whitespace before ':'
"F841", # local variable 'name' is assigned to but never used
"E702", # multiple statements on one line (semicolon)
]

[tool.coverage.report]
exclude_also = [
"if TYPE_CHECKING:"
Expand Down