-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyproject.toml
More file actions
76 lines (67 loc) · 2.58 KB
/
Copy pathpyproject.toml
File metadata and controls
76 lines (67 loc) · 2.58 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
[project]
name = "vgi-github"
dynamic = ["version"]
description = "A read-only VGI (Vector Gateway Interface) worker exposing the GitHub REST API to DuckDB/SQL"
readme = "README.md"
license = "MIT"
authors = [{ name = "Query Farm", email = "hello@query.farm" }]
keywords = ["vgi", "duckdb", "arrow", "github", "sql", "repositories", "issues"]
classifiers = [
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"Operating System :: OS Independent",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.13",
"Topic :: Database",
"Topic :: Software Development :: Version Control :: Git",
"Typing :: Typed",
]
requires-python = ">=3.13"
dependencies = [
# `haybarn` is not optional: vgi-python binds a pushed-down WHERE clause with
# an in-process DuckDB engine, and without one every filtered scan fails at
# runtime with "No DuckDB-compatible engine is installed". The offline tests
# cannot see this, because the dev group brings in `duckdb` as a fallback.
"vgi-python[http,haybarn]>=0.37.3",
"httpx>=0.27",
]
[project.optional-dependencies]
serve = ["vgi-python[http,haybarn,oauth]>=0.37.3", "vgi-rpc[sentry]>=0.47.2"]
[dependency-groups]
dev = [
"pytest>=8",
# Pinned to a minor: the rule set is version-dependent, so an unpinned ruff
# means CI can fail on a commit that was clean locally.
"ruff>=0.16,<0.17",
# Drives a real ATTACH in tests/test_end_to_end.py.
"duckdb>=1.1",
# DuckDB materializes TIMESTAMP WITH TIME ZONE through pytz; without it a
# scan that returns one fails at fetch time, not at bind.
"pytz>=2024.1",
]
[project.urls]
Homepage = "https://query.farm"
Documentation = "https://query.farm/vgi/"
Repository = "https://github.com/Query-farm/vgi-github"
Issues = "https://github.com/Query-farm/vgi-github/issues"
[project.scripts]
vgi-github = "vgi_github.worker:main"
vgi-github-http = "vgi_github.worker:main_http"
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.version]
path = "vgi_github/__init__.py"
[tool.ruff]
line-length = 110
target-version = "py313"
# Selected explicitly rather than left to the default set, which changes between
# ruff releases, so CI and a developer's shell cannot disagree about a commit.
[tool.ruff.lint]
select = ["E", "F", "I", "UP", "B", "SIM", "C4"]
[tool.pytest.ini_options]
testpaths = ["tests"]
# Live tests hit the real GitHub API; opt in with `pytest -m live`.
addopts = "-m 'not live'"
markers = ["live: hits the real GitHub API over the network"]