-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathpyproject.toml
121 lines (112 loc) · 2.96 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
114
115
116
117
118
119
120
121
[build-system]
requires = ["setuptools>=64.0.0", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "buildflow"
version = "0.3.2"
authors = [
{ name = "Caleb Van Dyke", email = "[email protected]" },
{ name = "Josh Tanke", email = "[email protected]" },
]
description = "BuildFlow, is an open source framework for building large scale systems using Python. All you need to do is describe where your input is coming from and where your output should be written, and BuildFlow handles the rest."
readme = "README.md"
requires-python = ">=3.7"
dependencies = [
"asyncpg",
"black",
# TODO: split up AWS and GCP dependencies.
"boto3",
"cloud-sql-python-connector",
"dacite",
"duckdb",
"clickhouse-connect",
"gcsfs",
"google-api-python-client",
"google-auth",
"google-cloud-bigquery",
"google-cloud-bigquery-storage",
"google-cloud-monitoring",
"google-cloud-pubsub",
"google-cloud-storage",
"grpcio>=1.56.0",
"itsdangerous",
"fastparquet",
"opentelemetry-api",
"opentelemetry-sdk",
"opentelemetry-exporter-otlp",
"opentelemetry-exporter-jaeger",
"pathspec",
# Duckdb doesn't work with this version.
# We can remove this once duckdb has released version 0.8.2
"pandas",
"pg8000",
"pulumi==3.98.0",
"pulumi_aws",
"pulumi_gcp",
"pulumi_snowflake",
"pyarrow",
"pydantic<2.0.2",
# Add constraints to ensure pyyaml works with cython 3.
"pyyaml!=5.4.0,!=6.0.0,!=5.4.1",
"s3fs",
"sqlalchemy[asyncio]",
"snowflake-ingest",
"ray[default]>=2.4.0",
"ray[serve]>=2.4.0",
"typer[all]",
"redis",
"watchfiles",
]
classifiers = [
"Development Status :: 2 - Pre-Alpha",
"Intended Audience :: Developers",
"Topic :: Software Development",
"License :: OSI Approved :: Apache Software License",
]
[project.optional-dependencies]
dev = [
"aiobotocore",
"aiohttp",
"botocore",
"isort",
"moto",
"pytest",
"pytest-cov",
"ruff",
"pre-commit",
"setuptools",
"websockets",
"wheel",
]
[tool.setuptools.packages.find]
exclude = ["tests", ".*tests", ".*tests.*"]
[project.scripts]
buildflow = "buildflow.cli.main:main"
[tool.coverage.report]
# Regexes for lines to exclude from consideration
exclude_also = [
# Don't complain about missing debug-only code:
"def __repr__",
# Don't complain if tests don't hit defensive assertion code:
"raise AssertionError",
"raise NotImplementedError",
"if __name__ == .__main__.:",
# Don't complain about abstract methods, they aren't run:
"@(abc\\.)?abstractmethod",
]
ignore_errors = true
# Files to ignore
omit = [
# Exclude samples
"buildflow/samples/*",
"buildflow/cli/*",
"release_tests/*",
]
[tool.isort]
profile = "black"
[tool.pytest.ini_options]
markers = [
"ray: marks tests as slow because it will spin up ray (deselect with '-m \"not ray\"')",
]
[tool.setuptools]
include-package-data = true