Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/rw-python-tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
if: ${{inputs.changed-python-modules == 'true'}}
strategy:
matrix:
python_version: [py313, py312, py311, py310, py39]
python_version: [py313, py312, py311, py310]
steps:
- name: Checkout
uses: actions/checkout@v4
Expand Down
2 changes: 1 addition & 1 deletion .sonar.settings
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# (C) 2021 GoodData Corporation
sonar.sources=gooddata-sdk,gooddata-fdw,gooddata-pandas,gooddata-flight-server,gooddata-flexconnect
sonar.exclusions=gooddata-api-client/**/*
sonar.python.version=3.9, 3.10, 3.11, 3.12, 3.13
sonar.python.version=3.10, 3.11, 3.12, 3.13
2 changes: 1 addition & 1 deletion .sonarcloud.properties
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# (C) 2022 GoodData Corporation
sonar.sources=gooddata-sdk,gooddata-fdw,gooddata-pandas,gooddata-flight-server,gooddata-flexconnect
sonar.exclusions=gooddata-api-client/**/*
sonar.python.version=3.9, 3.10, 3.11, 3.12, 3.13
sonar.python.version=3.10, 3.11, 3.12, 3.13
8 changes: 4 additions & 4 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## Getting Started

1. Ensure you have at minimum Python 3.13 installed; Python 3.12, 3.11, 3.10 and 3.9 are optional for multi-environment tests
1. Ensure you have at minimum Python 3.13 installed; Python 3.12, 3.11 and 3.10 are optional for multi-environment tests

This repo uses [tox](https://tox.readthedocs.io/en/latest/) and by default will try to run tests against all
supported versions. If you have only subset of supported python interpreters installed, see
Expand Down Expand Up @@ -149,7 +149,7 @@ Here are the options how to run the tests:
- or execute `tox` command with arguments of your choice
```bash
cd packages/gooddata-sdk
tox -e py39
tox -e py310
```
- run tests for all non-client projects using `make test` in project root directory

Expand Down Expand Up @@ -213,9 +213,9 @@ venv automatically. So when docker tox tests are executed after localhost tests
cd packages/gooddata-sdk
make test-ci
```
- run all tests containing `http_headers` in name for py310 and py39 for all projects
- run all tests containing `http_headers` in name for py311 and py310 for all projects
```bash
TEST_ENVS=py310,py39 ADD_ARGS="-k http_headers" make test-ci
TEST_ENVS=py311,py310 ADD_ARGS="-k http_headers" make test-ci
```
- run tests on localhost against all-in-one image started with docker-compose
```bash
Expand Down
6 changes: 1 addition & 5 deletions ci_tests.mk
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# (C) 2021 GoodData Corporation
IN_TEST_ENVS = py313,py312,py311,py310,py39
IN_TEST_ENVS = py313,py312,py311,py310
ifdef TEST_ENVS
IN_TEST_ENVS = $(TEST_ENVS)
endif
Expand Down Expand Up @@ -35,10 +35,6 @@ endif


# Targets to build docker file for each python version
.PHONY: test-ci-py39-build
test-ci-py39-build: Dockerfile
docker build --build-arg "PY_TAG=3.9.20-slim-bookworm" --build-arg "ENV_TAG=py39" -t python-sdk:py39 .

.PHONY: test-ci-py310-build
test-ci-py310-build: Dockerfile
docker build --build-arg "PY_TAG=3.10.15-slim-bookworm" --build-arg "ENV_TAG=py310" -t python-sdk:py310 .
Expand Down
2 changes: 1 addition & 1 deletion docs/content/en/latest/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ weight: 11

Before installing, ensure you are using:

* Python `3.9` or newer
* Python `3.10` or newer
* [GoodData.CN](https://www.gooddata.com/docs/cloud-native/latest/install/) or [GoodData Cloud](https://www.gooddata.com/docs/cloud/getting-started/)
* The [pip](https://pypi.org/project/pip/) package management tool

Expand Down
2 changes: 1 addition & 1 deletion docs/content/en/latest/pandas-overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ pip install gooddata-pandas

### Requirements

- Python 3.9 or newer
- Python 3.10 or newer
- GoodData.CN or GoodData Cloud


Expand Down
2 changes: 1 addition & 1 deletion packages/gooddata-dbt/mypy.ini
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ disallow_untyped_defs = True
warn_redundant_casts = True
strict_equality = True
no_implicit_optional = True
python_version = 3.9
python_version = 3.10

[mypy-gooddata_api_client.*]
ignore_missing_imports = True
Expand Down
2 changes: 1 addition & 1 deletion packages/gooddata-dbt/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ license = {text = "MIT"}
authors = [
{name = "GoodData", email = "support@gooddata.com"}
]
requires-python = ">=3.9.0"
requires-python = ">=3.10"
dependencies = [
"gooddata-sdk~=1.53.0",
"pyyaml>=6.0",
Expand Down
20 changes: 7 additions & 13 deletions packages/gooddata-dbt/tox.ini
Original file line number Diff line number Diff line change
@@ -1,26 +1,20 @@
# (C) 2023 GoodData Corporation
[tox]
envlist = py3{9,10,11,12,13}
envlist = py3{10,11,12,13}

[testenv]
runner = uv-venv-lock-runner
package = wheel
wheel_build_env = .pkg
deps =
-e../../gooddata-api-client
-e../gooddata-sdk
-e../tests-support
setenv=
PYTHONDONTWRITEBYTECODE=1
dependency_groups =
test
commands =
uv pip install --group test
pytest -v --cov=src/gooddata_dbt --cov-report=xml tests {posargs}

[testenv:mypy]
basepython = python3.13
runner = uv-venv-lock-runner
skip_install = true
deps =
-e../../gooddata-api-client
-e../gooddata-sdk
dependency_groups =
type
commands =
uv pip install --group type
mypy src/gooddata_dbt
2 changes: 1 addition & 1 deletion packages/gooddata-fdw/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ See [DOCUMENTATION](https://gooddata-fdw.readthedocs.io/en/latest/) for more det
- [GoodData](https://www.gooddata.com/docs/cloud/) installation; either running on your cloud
infrastructure or the free Community Edition running on your workstation

- Python 3.9 or newer
- Python 3.10 or newer

- The GoodData Cloud Foreign Data Wrapper is tested with the latest version of multicorn (1.4.0) and PostgreSQL 12

Expand Down
2 changes: 1 addition & 1 deletion packages/gooddata-fdw/mypy.ini
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ disallow_untyped_defs = True
warn_redundant_casts = True
strict_equality = True
no_implicit_optional = True
python_version = 3.9
python_version = 3.10

[mypy-gooddata_api_client.*]
ignore_missing_imports = True
Expand Down
3 changes: 2 additions & 1 deletion packages/gooddata-fdw/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ keywords = [
"sql",
"metrics",
]
requires-python = ">=3.9.0"
requires-python = ">=3.10"
dependencies = [
"gooddata-sdk~=1.53.0",
# "multicorn>=1.4.0", # Uncommented as it was in original setup.py
Expand Down Expand Up @@ -56,6 +56,7 @@ test = [
# TODO - Bump the version together with bumping the version of openapi generator
"urllib3==1.26.9",
"pyyaml",
"tests_support",
]
type = [
"mypy~=1.11.2",
Expand Down
21 changes: 7 additions & 14 deletions packages/gooddata-fdw/tox.ini
Original file line number Diff line number Diff line change
@@ -1,29 +1,22 @@
# (C) 2021 GoodData Corporation
[tox]
envlist = py3{9,10,11,12,13}
envlist = py3{10,11,12,13}

[testenv]
runner = uv-venv-lock-runner
package = wheel
wheel_build_env = .pkg
deps =
-e../../gooddata-api-client
-e../gooddata-sdk
-e../tests-support
setenv=
PYTHONDONTWRITEBYTECODE=1
dependency_groups =
test
commands =
uv pip install --group test
pytest -v --cov=src/gooddata_fdw --cov-report=xml tests {posargs}

[testenv:mypy]
basepython = python3.13
runner = uv-venv-lock-runner
skip_install = true
deps =
-e../../gooddata-api-client
-e../gooddata-sdk
-e../tests-support
dependency_groups =
type
commands =
uv pip install --group type
mypy src/gooddata_fdw

[testenv:docs]
Expand Down
2 changes: 1 addition & 1 deletion packages/gooddata-flexconnect/mypy.ini
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
warn_redundant_casts = True
strict_equality = True
no_implicit_optional = True
python_version = 3.9
python_version = 3.10

[mypy-gooddata_api_client.*]
ignore_missing_imports = True
Expand Down
2 changes: 1 addition & 1 deletion packages/gooddata-flexconnect/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ keywords = [
"sql",
"metrics",
]
requires-python = ">=3.9.0"
requires-python = ">=3.10"
dependencies = [
"dynaconf>=3.1.11,<4.0.0",
"gooddata-flight-server~=1.53.0",
Expand Down
2 changes: 1 addition & 1 deletion packages/gooddata-flexconnect/tox.ini
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# (C) 2024 GoodData Corporation
[tox]
envlist = py3{9,10,11,12,13}
envlist = py3{10,11,12,13}

[testenv]
package = wheel
Expand Down
2 changes: 1 addition & 1 deletion packages/gooddata-flight-server/mypy.ini
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ disallow_untyped_defs = True
warn_redundant_casts = True
strict_equality = True
no_implicit_optional = True
python_version = 3.9
python_version = 3.10

[mypy-gooddata_api_client.*]
ignore_missing_imports = True
Expand Down
2 changes: 1 addition & 1 deletion packages/gooddata-flight-server/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ keywords = [
"sql",
"metrics",
]
requires-python = ">=3.9.0"
requires-python = ">=3.10"
dependencies = [
"dynaconf>=3.1.11,<4.0.0",
"opentelemetry-api>=1.24.0,<=2.0.0",
Expand Down
15 changes: 7 additions & 8 deletions packages/gooddata-flight-server/tox.ini
Original file line number Diff line number Diff line change
@@ -1,23 +1,22 @@
# (C) 2024 GoodData Corporation
[tox]
envlist = py3{9,10,11,12,13}
envlist = py3{10,11,12,13}

[testenv]
runner = uv-venv-lock-runner
package = wheel
wheel_build_env = .pkg
deps =
-e../tests-support
setenv=
PYTHONDONTWRITEBYTECODE=1
dependency_groups =
test
commands =
uv pip install --group test
pytest -v --cov=src/gooddata_flight_server --cov-report=xml tests {posargs}

[testenv:mypy]
basepython = python3.13
runner = uv-venv-lock-runner
skip_install = true
dependency_groups =
type
commands =
uv pip install --group type
mypy src/gooddata_flight_server

[testenv:docs]
Expand Down
2 changes: 1 addition & 1 deletion packages/gooddata-pandas/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ See [DOCUMENTATION](https://gooddata-pandas.readthedocs.io/en/latest/) for more
- GoodData.CN installation; either running on your cloud
infrastructure or the free Community Edition running on your workstation

- Python 3.9 or newer
- Python 3.10 or newer

## Installation

Expand Down
2 changes: 1 addition & 1 deletion packages/gooddata-pandas/mypy.ini
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ disallow_untyped_defs = True
warn_redundant_casts = True
strict_equality = True
no_implicit_optional = True
python_version = 3.9
python_version = 3.10

[mypy-gooddata_api_client.*]
ignore_missing_imports = True
Expand Down
5 changes: 3 additions & 2 deletions packages/gooddata-pandas/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ keywords = [
"sql",
"metrics",
]
requires-python = ">=3.9.0"
requires-python = ">=3.10"
dependencies = [
"gooddata-sdk~=1.53.0",
"pandas>=2.0.0,<3.0.0",
Expand Down Expand Up @@ -64,7 +64,8 @@ test = [
"vcrpy~=7.0.0",
"urllib3==1.26.9",
"python-dotenv~=1.0.0",
"pyyaml"
"pyyaml",
"tests_support",
]
type = [
"mypy~=1.11.2",
Expand Down
20 changes: 7 additions & 13 deletions packages/gooddata-pandas/tox.ini
Original file line number Diff line number Diff line change
@@ -1,28 +1,22 @@
# (C) 2021 GoodData Corporation
[tox]
envlist = py3{9,10,11,12,13}
envlist = py3{10,11,12,13}

[testenv]
runner = uv-venv-lock-runner
package = wheel
wheel_build_env = .pkg
deps =
-e../../gooddata-api-client
-e../gooddata-sdk
-e../tests-support
setenv=
PYTHONDONTWRITEBYTECODE=1
dependency_groups =
test
commands =
uv pip install --group test
pytest -v --cov=src/gooddata_pandas --cov-report=xml tests {posargs}

[testenv:mypy]
basepython = python3.13
runner = uv-venv-lock-runner
skip_install = true
deps =
-e../../gooddata-api-client
-e../gooddata-sdk
dependency_groups =
type
commands =
uv pip install --group type
mypy src/gooddata_pandas

[testenv:docs]
Expand Down
14 changes: 0 additions & 14 deletions packages/gooddata-pipelines/Makefile
Original file line number Diff line number Diff line change
@@ -1,16 +1,2 @@
# (C) 2025 GoodData Corporation

# Skip tests if running Python 3.9 from CI (gooddata-pipelines doesn't support py39)
ifeq ($(TEST_ENVS),py39)
.PHONY: test-ci
test-ci:
@echo "Skipping tests for Python 3.9 - gooddata-pipelines doesn't support this version"
@exit 0

.PHONY: test
test:
@echo "Skipping tests for Python 3.9 - gooddata-pipelines doesn't support this version"
@exit 0
else
include ../../project_common.mk
endif
Loading
Loading