attrs>=19.3.0
openlineage-python==0.20.4
openlineage_sql==0.20.4

[bigquery]
google-api-core>=1.26.3
google-auth>=1.30.0
google-cloud-bigquery<4.0.0,>=2.15.0
google-cloud-core>=1.6.0
google-crc32c>=1.1.2

[dbt]
dbt-core>=0.20.0
pyyaml>=5.3.1

[dev]
mypy>=0.960
google-cloud-bigquery<4.0.0,>=2.15.0
python-dateutil
types-PyYAML
mock
types-python-dateutil
pytest
google-api-core>=1.26.3
pandas
boto3>=1.15.0
google-crc32c>=1.1.2
pytest-cov
great_expectations<0.15.35,>=0.13.26
sqlalchemy<2.0.0,>=1.3.24
pyyaml>=5.3.1
google-auth>=1.30.0
google-cloud-core>=1.6.0
ruff
jinja2
dbt-core>=0.20.0

[dev_no_parser]
mypy>=0.960
google-cloud-bigquery<4.0.0,>=2.15.0
python-dateutil
types-PyYAML
mock
types-python-dateutil
pytest
google-api-core>=1.26.3
pandas
boto3>=1.15.0
google-crc32c>=1.1.2
pytest-cov
great_expectations<0.15.35,>=0.13.26
sqlalchemy<2.0.0,>=1.3.24
pyyaml>=5.3.1
google-auth>=1.30.0
google-cloud-core>=1.6.0
ruff
jinja2
dbt-core>=0.20.0

[great_expectations]
great_expectations<0.15.35,>=0.13.26
sqlalchemy<2.0.0,>=1.3.24

[redshift]
boto3>=1.15.0

[tests]
pytest
pytest-cov
mock
ruff
pandas
jinja2
python-dateutil
mypy>=0.960
types-python-dateutil
types-PyYAML
