-
Notifications
You must be signed in to change notification settings - Fork 17
/
pyproject.toml
98 lines (88 loc) · 2.7 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
[tool.poetry]
name = "splitgraph"
version = "0.3.12"
description = "Command line library and Python client for Splitgraph, a version control system for data"
license = "Apache 2.0 modified with Commons Clause"
authors = ["Splitgraph Limited"]
readme = "README.md"
homepage = "https://www.splitgraph.com"
repository = "https://github.com/splitgraph/sgr"
[tool.poetry.dependencies]
python = ">=3.8,<4.0"
click = "^7"
psycopg2-binary = "^2"
parsimonious = "^0.8"
minio = ">=4"
pglast = {version = "^3.4", markers = 'sys_platform != "win32"'}
requests = ">=2.22"
docker = ">=5.0.2"
click_log = ">=0.3.2"
tqdm = ">=4.46.0"
packaging = ">=20.1"
tabulate = ">=0.8.7"
asciitree = ">=0.3.3"
"ruamel.yaml" = ">=0.17.21"
jsonschema = ">=3.1.0"
cryptography = ">=3.4.0"
pydantic = ">=1.10"
chardet = "^4.0.0"
# Pin cffi to < 1.15.
# Versions after that vendor a libffi-9c61262e.so.8.1.0 which would be
# great except when we are running inside of a PostgreSQL process (which itself, in the case
# of PG12, uses libffi.so.6). In that case the Python code resolves to the cffi symbols from the
# system library (rather than the vendored libffi library) and crashes with ABI errors:
# ffi_prep_closure(): bad user_data (it seems that the version of the libffi library seen at runtime is different from the 'ffi.h' file seen at compile-time)
cffi = "<1.15"
# Socrata dataset mounting.
# This could be optional but it's very lightweight (only requires requests).
sodapy = ">=2.1"
# Extra requirements for Pandas ingestion
# Pin Pandas to avoid Poetry taking >10min to resolve dependencies.
pandas = {version = "==1.1.5", extras = ["ingestion"], optional = true }
# Workaround for https://github.com/python-poetry/poetry/issues/4402
sqlalchemy = { version = "^1.3,<1.4.23", extras = ["ingestion"], optional = true }
# Fork of pipelinewise-target-postgres without dep pinning so that we can use it as a library
splitgraph-pipelinewise-target-postgres = ">=2.1.0"
[tool.poetry.dev-dependencies]
pytest = ">=4.4"
pyfakefs = ">=4.1"
pytest-cov = ">=2.10"
pytest-env = ">=0.6"
pytest-snapshot = ">=0.8.0"
coveralls = ">=2.1"
coverage = "<6"
pyinstaller = ">=3.4"
sphinx = ">=3.1"
sphinx_rtd_theme = ">=0.5.0"
pylint = ">=2.5"
black = ">=21.12b0"
pre-commit = ">=2.1"
httpretty = ">=1.0.2"
mypy = ">=0.720"
bump2version = ">=1.0.0"
types-tabulate = "^0.1.1"
types-chardet = "^0.1.3"
types-requests = "^2.25.0"
[tool.poetry.extras]
pandas = ["pandas", "sqlalchemy"]
[tool.poetry.scripts]
sgr = "splitgraph.commandline:cli"
[tool.black]
line-length = 100
include = '\.pyi?$'
exclude = '''
/(
\.git
| \.hg
| \.mypy_cache
| \.tox
| \.venv
| _build
| buck-out
| build
| dist
)/
'''
[build-system]
requires = ["poetry==1.1.6"]
build-backend = "poetry.masonry.api"