-
Notifications
You must be signed in to change notification settings - Fork 15
/
pyproject.toml
90 lines (68 loc) · 2.37 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
[tool.poetry]
name = "sayn"
version = "0.6.13"
description = "Data-modelling and processing framework for automating Python and SQL tasks"
authors = ["Sotiris Gkoulimaris <[email protected]>", "Adrian Macias <[email protected]>"]
license = "Apache-2.0"
readme = "README.md"
repository = "https://github.com/173TECH/sayn"
homepage = "https://173tech.github.io/sayn"
include = ["CHANGELOG.md", "NOTICE.md", "mkdocs.yml", "docs/*", "docs/**/*"]
[tool.poetry.dependencies]
python = ">= 3.8.1, <= 4.0"
# Core
Jinja2 = ">=3.1.3"
SQLAlchemy = ">=1.4.25,<2.0.0"
pydantic = ">=1.9.0,<1.10.0"
"ruamel.yaml" = "0.18.5"
"ruamel.yaml.clib" = "0.2.8"
orjson = ">=3.9.10"
# Force dependency versions to avoid security issues
certifi = ">=2023.11.17"
rsa = { version = ">=4.9", python = ">=3.8.1,<3.13" }
# CLI
Click = "8.0.4"
halo = "0.0.31"
colorama = ">=0.4.4"
# DB drivers (optional)
# Postgresql
psycopg2 = { version = ">=2.9.9", optional = true }
psycopg2-binary = { version = ">=2.9.9", optional = true }
# MySQL
PyMySQL = { version = ">=1.0.2", optional = true }
# Snowflake
snowflake-sqlalchemy = { version = ">=1.5.1", optional = true }
# BigQuery
sqlalchemy-bigquery = { version = ">=1.9.0", python = ">=3.8.1,<3.13", optional = true }
# BigQuery dependencies for the storage client
google-cloud-bigquery-storage = { version = ">=2.24.0,<3.0.0dev", optional = true }
# Redshift
redshift-connector = { version = ">=2.0.918", optional = true }
sqlalchemy-redshift = { version = ">=0.4.1", optional = true }
# DAG visualisation
graphviz = { version = ">=0.19.1", optional = true }
[tool.poetry.extras]
all = ["graphviz", "psycopg2", "pymysql", "snowflake-sqlalchemy", "sqlalchemy-bigquery", "graphviz"]
postgresql = ["psycopg2"]
postgresql-binary = ["psycopg2-binary"]
redshift = ["redshift-connector", "sqlalchemy-redshift"]
mysql = ["pymysql"]
snowflake = ["snowflake-sqlalchemy"]
bigquery = ["sqlalchemy-bigquery", "google-cloud-bigquery-storage"]
graphviz = ["graphviz"]
[tool.poetry.scripts]
sayn = "sayn.cli:cli"
[tool.poetry.dev-dependencies]
pytest = "^7.2.0"
pytest-sugar = "^0.9.6"
black = "22.12.0"
flake8 = "^6.0.0"
mkdocs = "^1.4.2"
mkdocs-material = "^8.5.11"
mkdocstrings = {version="^0.19.1", extras=["python-legacy"]}
livereload = "^2.6.3"
[build-system]
requires = ["poetry>=1.3.2"]
build-backend = "poetry.core.masonry.api"
[tool.pytest.ini_options]
testpaths = [ "tests" ]