Skip to content

Commit 4da1e1e

Browse files
committed
Merge remote-tracking branch 'great-expectations/develop' into develop
2 parents 4dba107 + 0ea149e commit 4da1e1e

File tree

193 files changed

+3551
-3060
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

193 files changed

+3551
-3060
lines changed

.github/workflows/ci.yml

Lines changed: 26 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ jobs:
104104
- name: Set up Python
105105
uses: actions/setup-python@v5
106106
with:
107-
python-version: "3.9"
107+
python-version: "3.10"
108108
cache: "pip"
109109
cache-dependency-path: |
110110
requirements-types.txt
@@ -187,7 +187,11 @@ jobs:
187187
AUTH0_API_AUDIENCE: ${{secrets.AUTH0_API_AUDIENCE}}
188188
AUTH0_MERCURY_API_CLIENT_ID: ${{secrets.AUTH0_MERCURY_API_CLIENT_ID}}
189189
AUTH0_MERCURY_API_CLIENT_SECRET: ${{secrets.AUTH0_MERCURY_API_CLIENT_SECRET}}
190-
LD_SDK_KEY: ${{secrets.LD_SDK_KEY}}
190+
LD_SDK_KEY: default
191+
GX_LD_BASE_URI: "http://localhost:8765"
192+
GX_LD_EVENTS_URI: "http://localhost:8765"
193+
GX_LD_STREAM_URI: "http://localhost:8765"
194+
LAUNCH_DARKLY_DEV_SERVER_ACCESS_TOKEN: ${{ secrets.LAUNCH_DARKLY_DEV_SERVER_ACCESS_TOKEN }}
191195
GX_SCHEDULER_LAMBDA_ARN: ${{secrets.GX_SCHEDULER_LAMBDA_ARN}}
192196
GX_SCHEDULER_EXECUTION_ROLE_ARN: ${{secrets.GX_SCHEDULER_EXECUTION_ROLE_ARN}}
193197
GX_SCHEDULER_EVENTBRIDGE_DLQ_ARN: ${{secrets.GX_SCHEDULER_EVENTBRIDGE_DLQ_ARN}}
@@ -217,7 +221,7 @@ jobs:
217221
- name: Set up Python
218222
uses: actions/setup-python@v5
219223
with:
220-
python-version: "3.9"
224+
python-version: "3.10"
221225
cache: "pip"
222226
cache-dependency-path: |
223227
reqs/requirements-dev-test.txt
@@ -299,7 +303,7 @@ jobs:
299303
strategy:
300304
matrix:
301305
os: [ubuntu-latest]
302-
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
306+
python-version: ["3.10", "3.11", "3.12", "3.13"]
303307

304308
runs-on: ${{ matrix.os }}
305309

@@ -356,7 +360,7 @@ jobs:
356360
- name: Set up Python
357361
uses: actions/setup-python@v5
358362
with:
359-
python-version: "3.9"
363+
python-version: "3.10"
360364
cache: "pip"
361365
cache-dependency-path: |
362366
reqs/requirements-dev-test.txt
@@ -402,7 +406,7 @@ jobs:
402406
- name: Set up Python
403407
uses: actions/setup-python@v5
404408
with:
405-
python-version: "3.9"
409+
python-version: "3.10"
406410
cache: "pip"
407411
cache-dependency-path: reqs/requirements-dev-test.txt
408412

@@ -471,7 +475,11 @@ jobs:
471475
GX_CLOUD_ORGANIZATION_ID: ${{secrets.MERCURY_ORGANIZATION_ID}}
472476
GX_CLOUD_WORKSPACE_ID: ${{secrets.MERCURY_WORKSPACE_ID}}
473477
GX_CLOUD_ACCESS_TOKEN: ${{secrets.MERCURY_ACCESS_TOKEN}}
474-
LD_SDK_KEY: ${{secrets.LD_SDK_KEY}}
478+
LD_SDK_KEY: default
479+
GX_LD_BASE_URI: "http://localhost:8765"
480+
GX_LD_EVENTS_URI: "http://localhost:8765"
481+
GX_LD_STREAM_URI: "http://localhost:8765"
482+
LAUNCH_DARKLY_DEV_SERVER_ACCESS_TOKEN: ${{ secrets.LAUNCH_DARKLY_DEV_SERVER_ACCESS_TOKEN }}
475483
GX_SCHEDULER_LAMBDA_ARN: ${{secrets.GX_SCHEDULER_LAMBDA_ARN}}
476484
GX_SCHEDULER_EXECUTION_ROLE_ARN: ${{secrets.GX_SCHEDULER_EXECUTION_ROLE_ARN}}
477485
GX_SCHEDULER_EVENTBRIDGE_DLQ_ARN: ${{secrets.GX_SCHEDULER_EVENTBRIDGE_DLQ_ARN}}
@@ -500,7 +508,7 @@ jobs:
500508
- name: Set up Python
501509
uses: actions/setup-python@v5
502510
with:
503-
python-version: "3.9"
511+
python-version: "3.10"
504512
cache-dependency-path: |
505513
reqs/requirements-dev-test.txt
506514
setup.py
@@ -574,7 +582,7 @@ jobs:
574582
- name: Set up Python
575583
uses: actions/setup-python@v5
576584
with:
577-
python-version: "3.9"
585+
python-version: "3.10"
578586
cache-dependency-path: |
579587
reqs/requirements-dev-test.txt
580588
setup.py
@@ -661,18 +669,15 @@ jobs:
661669
- spark_connect
662670
- trino
663671
- clickhouse
664-
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
672+
python-version: ["3.10", "3.11", "3.12", "3.13"]
665673
exclude:
666674
# TODO: would like to adopt `actionlint` pre-commit hook
667675
# but false positive here and inability to do an inline ignore
668676
# prevents this https://github.com/rhysd/actionlint/issues/237
669-
- python-version: ${{ github.event_name == 'pull_request_target' && '3.10' }}
670677
- python-version: ${{ github.event_name == 'pull_request_target' && '3.11' }}
671678
- python-version: ${{ github.event_name == 'pull_request_target' && '3.12' }}
672-
- python-version: ${{ github.event_name == 'merge_group' && '3.10' }}
673679
- python-version: ${{ github.event_name == 'merge_group' && '3.11' }}
674680
- python-version: ${{ github.event_name == 'merge_group' && '3.12' }}
675-
- python-version: ${{ github.event_name == 'workflow_dispatch' && '3.10' }}
676681
- python-version: ${{ github.event_name == 'workflow_dispatch' && '3.11' }}
677682
- python-version: ${{ github.event_name == 'workflow_dispatch' && '3.12' }}
678683
# clickhouse needs dependency update
@@ -762,11 +767,7 @@ jobs:
762767
markers:
763768
# - redshift
764769
- gx-redshift
765-
python-version: ["3.9", "3.13"]
766-
exclude:
767-
- python-version: ${{ github.event_name == 'pull_request_target' && '3.9' }}
768-
- python-version: ${{ github.event_name == 'merge_group' && '3.9' }}
769-
- python-version: ${{ github.event_name == 'workflow_dispatch' && '3.9' }}
770+
python-version: ["3.10", "3.13"]
770771

771772
steps:
772773
- name: Checkout
@@ -817,29 +818,6 @@ jobs:
817818
token: ${{ secrets.CODECOV_TOKEN }}
818819
flags: "${{ matrix.python-version }} ${{ matrix.markers }}"
819820

820-
py39-min-versions:
821-
needs: [unit-tests, static-analysis, check-actor-permissions]
822-
if: github.event.pull_request.draft == false
823-
runs-on: ubuntu-latest
824-
steps:
825-
- name: Checkout
826-
uses: actions/checkout@v4
827-
with:
828-
ref: ${{ github.event.pull_request.head.sha }}
829-
830-
- name: Set up Python
831-
uses: actions/setup-python@v5
832-
with:
833-
python-version: "3.9"
834-
cache: "pip"
835-
cache-dependency-path: reqs/requirements-dev-test.txt
836-
837-
- name: Install dependencies
838-
run: pip install . -c ci/constraints-test/py39-min-install.txt -r reqs/requirements-dev-test.txt
839-
840-
- name: Run the tests
841-
run: invoke ci-tests -m unit --xdist --slowest=10 --timeout=2.0
842-
843821
py310-min-versions:
844822
needs: [unit-tests, static-analysis, check-actor-permissions]
845823
if: github.event.pull_request.draft == false
@@ -941,7 +919,7 @@ jobs:
941919
- name: Set up Python
942920
uses: actions/setup-python@v5
943921
with:
944-
python-version: "3.9"
922+
python-version: "3.10"
945923
cache: "pip"
946924
cache-dependency-path: reqs/requirements-dev-test.txt
947925

@@ -963,7 +941,7 @@ jobs:
963941
- name: Set up Python
964942
uses: actions/setup-python@v5
965943
with:
966-
python-version: "3.9"
944+
python-version: "3.10"
967945
cache: "pip"
968946
cache-dependency-path: requirements.txt
969947

@@ -982,12 +960,12 @@ jobs:
982960
GX_PYTHON_EXPERIMENTAL: true # allow for python 3.14+
983961
strategy:
984962
matrix:
985-
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
963+
python-version: ["3.10", "3.11", "3.12", "3.13"]
986964
exclude:
987-
- python-version: ${{ github.event_name == 'pull_request_target' && '3.10' }}
988965
- python-version: ${{ github.event_name == 'pull_request_target' && '3.11' }}
989-
- python-version: ${{ github.event_name == 'workflow_dispatch' && '3.10' }}
966+
- python-version: ${{ github.event_name == 'pull_request_target' && '3.12' }}
990967
- python-version: ${{ github.event_name == 'workflow_dispatch' && '3.11' }}
968+
- python-version: ${{ github.event_name == 'workflow_dispatch' && '3.12' }}
991969
steps:
992970
- name: Checkout
993971
uses: actions/checkout@v4
@@ -1018,7 +996,6 @@ jobs:
1018996
cloud-tests,
1019997
integration-tests,
1020998
marker-tests,
1021-
py39-min-versions,
1022999
py310-min-versions,
10231000
py311-min-versions,
10241001
py312-min-versions,
@@ -1037,10 +1014,10 @@ jobs:
10371014
id-token: write
10381015
steps:
10391016
- uses: actions/checkout@v4
1040-
- name: Set up Python 3.9
1017+
- name: Set up Python 3.10
10411018
uses: actions/setup-python@v5
10421019
with:
1043-
python-version: "3.9"
1020+
python-version: "3.10"
10441021
- name: Update pip
10451022
run: python -m pip install --upgrade pip
10461023

@@ -1069,7 +1046,6 @@ jobs:
10691046
cloud-tests,
10701047
integration-tests,
10711048
marker-tests,
1072-
py39-min-versions,
10731049
py310-min-versions,
10741050
py311-min-versions,
10751051
py312-min-versions,

CONTRIBUTING_CODE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ To request a documentation change, or a change that doesn't require local testin
6060

6161
A [virtual environment](https://peps.python.org/pep-0405) allows you to install an independent set of Python packages to their own site directory, isolated from the base/system install of Python.
6262

63-
Great Expectations requires a Python version from 3.9 to 3.12.
63+
Great Expectations requires a Python version from 3.10 to 3.13.
6464

6565
### Python
6666

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ Learn more about how data teams are using GX Core in our featured [case studies]
2424

2525
## Integration support policy
2626

27-
GX Core supports Python `3.9` through `3.13`.
27+
GX Core supports Python `3.10` through `3.13`.
2828
Experimental support for Python `3.14` and later can be enabled by setting a `GX_PYTHON_EXPERIMENTAL` environment variable when installing `great_expectations`.
2929

3030
For data sources and other integrations that GX supports, see the [compatibility reference](https://docs.greatexpectations.io/docs/help/compatibility_reference) for additional information.

assets/docker/mercury/docker-compose.yml

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,10 @@ services:
5959
AUTH0_MERCURY_API_CLIENT_ID: ${AUTH0_MERCURY_API_CLIENT_ID}
6060
AUTH0_MERCURY_API_CLIENT_SECRET: ${AUTH0_MERCURY_API_CLIENT_SECRET}
6161
SENDGRID_API_KEY: fake_key
62-
LD_SDK_KEY: ${LD_SDK_KEY}
62+
LD_SDK_KEY: default
63+
GX_LD_BASE_URI: "http://localhost:8765"
64+
GX_LD_EVENTS_URI: "http://localhost:8765"
65+
GX_LD_STREAM_URI: "http://localhost:8765"
6366
# TODO replace migtrations with ./scripts/automated_migrations.sh
6467
entrypoint:
6568
- /bin/bash
@@ -102,7 +105,10 @@ services:
102105
AUTH0_MERCURY_API_CLIENT_ID: ${AUTH0_MERCURY_API_CLIENT_ID}
103106
AUTH0_MERCURY_API_CLIENT_SECRET: ${AUTH0_MERCURY_API_CLIENT_SECRET}
104107
SENDGRID_API_KEY: fake_key
105-
LD_SDK_KEY: ${LD_SDK_KEY}
108+
LD_SDK_KEY: default
109+
GX_LD_BASE_URI: "http://localhost:8765"
110+
GX_LD_EVENTS_URI: "http://localhost:8765"
111+
GX_LD_STREAM_URI: "http://localhost:8765"
106112
GX_SCHEDULER_LAMBDA_ARN: ${GX_SCHEDULER_LAMBDA_ARN}
107113
GX_SCHEDULER_EXECUTION_ROLE_ARN: ${GX_SCHEDULER_EXECUTION_ROLE_ARN}
108114
GX_SCHEDULER_EVENTBRIDGE_DLQ_ARN: ${GX_SCHEDULER_EVENTBRIDGE_DLQ_ARN}
@@ -152,3 +158,11 @@ services:
152158
volumes:
153159
- "${LOCALSTACK_VOLUME_DIR:-./volume}:/var/lib/localstack"
154160
- "/var/run/docker.sock:/var/run/docker.sock"
161+
ld-dev-server:
162+
image: 258143015559.dkr.ecr.us-east-1.amazonaws.com/mercury/ld-dev-server:latest
163+
platform: linux/amd64
164+
restart: always
165+
ports:
166+
- 8765:8765
167+
environment:
168+
LAUNCH_DARKLY_DEV_SERVER_ACCESS_TOKEN: ${LAUNCH_DARKLY_DEV_SERVER_ACCESS_TOKEN}

assets/docker/mssql/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ You should now be able to run the tests via `pytest --mssql`
2626
1. If you are seeing the following error:
2727

2828
```
29-
E ImportError: dlopen(/Users/phamt/code/work/great_expectations/gx_dev/lib/python3.9/site-packages/pyodbc.cpython-39-darwin.so, 0x0002): symbol not found in flat namespace '_SQLAllocHandle'
29+
E ImportError: dlopen(/Users/phamt/code/work/great_expectations/gx_dev/lib/python3.10/site-packages/pyodbc.cpython-310-darwin.so, 0x0002): symbol not found in flat namespace '_SQLAllocHandle'
3030
```
3131

3232
Reinstall pyodbc:

ci/azure-pipelines-sqlalchemy-compatibility.yml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -71,8 +71,8 @@ stages:
7171
steps:
7272
- task: UsePythonVersion@0
7373
inputs:
74-
versionSpec: 3.9
75-
displayName: "Use Python 3.9"
74+
versionSpec: 3.10
75+
displayName: "Use Python 3.10"
7676

7777
- script: |
7878
pip install $(grep -E '^(black|invoke|ruff)' reqs/requirements-dev-contrib.txt)
@@ -92,8 +92,8 @@ stages:
9292
steps:
9393
- task: UsePythonVersion@0
9494
inputs:
95-
versionSpec: "3.9"
96-
displayName: "Use Python 3.9"
95+
versionSpec: "3.10"
96+
displayName: "Use Python 3.10"
9797

9898
- script: |
9999
pip install .
@@ -128,8 +128,8 @@ stages:
128128
steps:
129129
- task: UsePythonVersion@0
130130
inputs:
131-
versionSpec: "3.9"
132-
displayName: "Use Python 3.9"
131+
versionSpec: "3.10"
132+
displayName: "Use Python 3.10"
133133

134134
- bash: python -m pip install --upgrade pip
135135
displayName: "Update pip"
@@ -185,8 +185,8 @@ stages:
185185
steps:
186186
- task: UsePythonVersion@0
187187
inputs:
188-
versionSpec: "3.9"
189-
displayName: "Use Python 3.9"
188+
versionSpec: "3.10"
189+
displayName: "Use Python 3.10"
190190

191191
- bash: python -m pip install --upgrade pip
192192
displayName: "Update pip"

ci/checks/check_repo_root_size.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
# Please take care to only add files or directories to the repo root unless they are
66
# required to be in the repo root, otherwise please find a more appropriate location.
77

8-
NUM_ITEMS_SHOULD_BE=39
8+
NUM_ITEMS_SHOULD_BE=38
99
NUM_ITEMS=$(ls -la | wc -l)
1010

1111
echo "Items found in repo root:"

ci/constraints-test/py39-min-install.txt

Lines changed: 0 additions & 3 deletions
This file was deleted.

ci/dev-install-matrix.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
parameters:
22
vmImage: "" # Must be specified in primary YAML
3-
pythonVersion: ["3.9", "3.10", "3.11"]
3+
pythonVersion: ["3.10", "3.11"]
44

55
jobs:
66
- ${{ each pythonVersion in parameters.pythonVersion }}:

ci/user-install-matrix.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
parameters:
22
vmImage: "" # Must be specified in primary YAML
3-
pythonVersion: ["3.9", "3.10", "3.11"]
3+
pythonVersion: ["3.10", "3.11"]
44

55
jobs:
66
- ${{ each pythonVersion in parameters.pythonVersion }}:

0 commit comments

Comments
 (0)