Skip to content

Commit ca5f5cd

Browse files
committed
add package description, manage dev dependencies via poetry groups
1 parent dfbad43 commit ca5f5cd

File tree

3 files changed

+13
-14
lines changed

3 files changed

+13
-14
lines changed

gooddata-pipelines/gooddata_pipelines/provisioning/entities/users/models/permissions.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# (C) 2025 GoodData Corporation
22
from abc import abstractmethod
33
from enum import Enum
4-
from typing import Any, Iterator, Self, TypeAlias
4+
from typing import Any, Iterator, TypeAlias, TypeVar
55

66
import attrs
77
from gooddata_sdk.catalog.identifier import CatalogAssigneeIdentifier
@@ -14,6 +14,7 @@
1414
from gooddata_pipelines.provisioning.utils.exceptions import BaseUserException
1515

1616
TargetsPermissionDict: TypeAlias = dict[str, dict[str, bool]]
17+
ConstructorType = TypeVar("ConstructorType", bound="ConstructorMixin")
1718

1819

1920
class PermissionType(str, Enum):
@@ -38,7 +39,9 @@ def _get_id_and_type(
3839
raise ValueError("Either user_id or ug_id must be present")
3940

4041
@classmethod
41-
def from_list_of_dicts(cls, data: list[dict[str, Any]]) -> list[Self]:
42+
def from_list_of_dicts(
43+
cls: type[ConstructorType], data: list[dict[str, Any]]
44+
) -> list[ConstructorType]:
4245
"""Creates a list of instances from list of dicts."""
4346
permissions = []
4447
for permission in data:

gooddata-pipelines/pyproject.toml

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
[project]
33
name = "gooddata-pipelines"
44
version = "1.49.0"
5-
description = ""
5+
description = "GoodData Cloud lifecycle automation pipelines"
66
authors = [{ name = "GoodData", email = "support@gooddata.com" }]
77
license = { text = "MIT" }
88
readme = "README.md"
@@ -14,7 +14,6 @@ dependencies = [
1414
"gooddata-sdk~=1.49.0",
1515
"boto3 (>=1.39.3,<2.0.0)",
1616
"boto3-stubs (>=1.39.3,<2.0.0)",
17-
"types-pyyaml (>=6.0.12.20250326,<7.0.0)",
1817
]
1918

2019
[tool.mypy]
@@ -27,14 +26,12 @@ no_implicit_optional = true
2726
exclude = [".venv"]
2827
line-length = 80
2928

30-
[project.optional-dependencies]
31-
dev = [
32-
"pytest (>=8.3.5,<9.0.0)",
33-
"pytest-mock (>=3.14.0,<4.0.0)",
34-
"ruff (>=0.11.2,<0.12.0)",
35-
"mypy (>=1.16.0,<2.0.0)",
36-
"moto (>=5.1.6,<6.0.0)",
37-
]
29+
[tool.poetry.group.dev.dependencies]
30+
mypy = "^1.17.1"
31+
moto = ">=5.1.6,<6.0.0"
32+
pytest = ">=8.3.5,<9.0.0"
33+
pytest-mock = ">=3.14.0,<4.0.0"
34+
ruff = ">=0.11.2,<0.12.0"
3835

3936
[build-system]
4037
requires = ["hatchling"]

gooddata-pipelines/tox.ini

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,7 @@ deps =
88
pytest-mock
99
poetry
1010
commands =
11-
poetry install
12-
poetry install --extras dev
11+
poetry install --with dev
1312
poetry run pytest
1413

1514
[testenv:mypy]

0 commit comments

Comments
 (0)