pulumi-extra 0.1.1__tar.gz → 0.1.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. {pulumi_extra-0.1.1 → pulumi_extra-0.1.3}/.devcontainer/devcontainer.json +2 -2
  2. {pulumi_extra-0.1.1 → pulumi_extra-0.1.3}/.devcontainer/postAttachCommand.sh +2 -0
  3. {pulumi_extra-0.1.1 → pulumi_extra-0.1.3}/.github/workflows/ci.yaml +6 -8
  4. {pulumi_extra-0.1.1 → pulumi_extra-0.1.3}/.github/workflows/release.yaml +6 -5
  5. {pulumi_extra-0.1.1 → pulumi_extra-0.1.3}/PKG-INFO +2 -14
  6. {pulumi_extra-0.1.1 → pulumi_extra-0.1.3}/README.md +1 -1
  7. {pulumi_extra-0.1.1 → pulumi_extra-0.1.3}/noxfile.py +0 -3
  8. {pulumi_extra-0.1.1 → pulumi_extra-0.1.3}/pyproject.toml +10 -7
  9. {pulumi_extra-0.1.1 → pulumi_extra-0.1.3}/tests/test_resource_.py +2 -2
  10. {pulumi_extra-0.1.1 → pulumi_extra-0.1.3}/tests/transforms/test_invoke.py +1 -1
  11. {pulumi_extra-0.1.1 → pulumi_extra-0.1.3}/tests/transforms/test_resource_.py +1 -1
  12. pulumi_extra-0.1.3/uv.lock +925 -0
  13. pulumi_extra-0.1.1/uv.lock +0 -876
  14. {pulumi_extra-0.1.1 → pulumi_extra-0.1.3}/.devcontainer/Dockerfile +0 -0
  15. {pulumi_extra-0.1.1 → pulumi_extra-0.1.3}/.devcontainer/docker-compose.devcontainer.yaml +0 -0
  16. {pulumi_extra-0.1.1 → pulumi_extra-0.1.3}/.devcontainer/onCreateCommand.sh +0 -0
  17. {pulumi_extra-0.1.1 → pulumi_extra-0.1.3}/.editorconfig +0 -0
  18. {pulumi_extra-0.1.1 → pulumi_extra-0.1.3}/.gitattributes +0 -0
  19. {pulumi_extra-0.1.1 → pulumi_extra-0.1.3}/.github/dependabot.yaml +0 -0
  20. {pulumi_extra-0.1.1 → pulumi_extra-0.1.3}/.gitignore +0 -0
  21. {pulumi_extra-0.1.1 → pulumi_extra-0.1.3}/.pre-commit-config.yaml +0 -0
  22. {pulumi_extra-0.1.1 → pulumi_extra-0.1.3}/.python-version +0 -0
  23. {pulumi_extra-0.1.1 → pulumi_extra-0.1.3}/.vscode/extensions.json +0 -0
  24. {pulumi_extra-0.1.1 → pulumi_extra-0.1.3}/.vscode/settings.json +0 -0
  25. {pulumi_extra-0.1.1 → pulumi_extra-0.1.3}/LICENSE +0 -0
  26. {pulumi_extra-0.1.1 → pulumi_extra-0.1.3}/Makefile +0 -0
  27. {pulumi_extra-0.1.1 → pulumi_extra-0.1.3}/pulumi_extra/__init__.py +0 -0
  28. {pulumi_extra-0.1.1 → pulumi_extra-0.1.3}/pulumi_extra/contrib/__init__.py +0 -0
  29. {pulumi_extra-0.1.1 → pulumi_extra-0.1.3}/pulumi_extra/contrib/aws/__init__.py +0 -0
  30. {pulumi_extra-0.1.1 → pulumi_extra-0.1.3}/pulumi_extra/contrib/aws/autotag.py +0 -0
  31. {pulumi_extra-0.1.1 → pulumi_extra-0.1.3}/pulumi_extra/contrib/aws/common.py +0 -0
  32. {pulumi_extra-0.1.1 → pulumi_extra-0.1.3}/pulumi_extra/contrib/aws/policies/__init__.py +0 -0
  33. {pulumi_extra-0.1.1 → pulumi_extra-0.1.3}/pulumi_extra/contrib/aws/policies/require_description.py +0 -0
  34. {pulumi_extra-0.1.1 → pulumi_extra-0.1.3}/pulumi_extra/contrib/aws/policies/require_tags.py +0 -0
  35. {pulumi_extra-0.1.1 → pulumi_extra-0.1.3}/pulumi_extra/contrib/gcp/__init__.py +0 -0
  36. {pulumi_extra-0.1.1 → pulumi_extra-0.1.3}/pulumi_extra/contrib/gcp/autolabel.py +0 -0
  37. {pulumi_extra-0.1.1 → pulumi_extra-0.1.3}/pulumi_extra/contrib/gcp/common.py +0 -0
  38. {pulumi_extra-0.1.1 → pulumi_extra-0.1.3}/pulumi_extra/contrib/gcp/policies/__init__.py +0 -0
  39. {pulumi_extra-0.1.1 → pulumi_extra-0.1.3}/pulumi_extra/contrib/gcp/policies/require_description.py +0 -0
  40. {pulumi_extra-0.1.1 → pulumi_extra-0.1.3}/pulumi_extra/contrib/gcp/policies/require_labels.py +0 -0
  41. {pulumi_extra-0.1.1 → pulumi_extra-0.1.3}/pulumi_extra/errors.py +0 -0
  42. {pulumi_extra-0.1.1 → pulumi_extra-0.1.3}/pulumi_extra/output.py +0 -0
  43. {pulumi_extra-0.1.1 → pulumi_extra-0.1.3}/pulumi_extra/py.typed +0 -0
  44. {pulumi_extra-0.1.1 → pulumi_extra-0.1.3}/pulumi_extra/resource_.py +0 -0
  45. {pulumi_extra-0.1.1 → pulumi_extra-0.1.3}/pulumi_extra/stack_reference.py +0 -0
  46. {pulumi_extra-0.1.1 → pulumi_extra-0.1.3}/pulumi_extra/transforms/__init__.py +0 -0
  47. {pulumi_extra-0.1.1 → pulumi_extra-0.1.3}/pulumi_extra/transforms/invoke.py +0 -0
  48. {pulumi_extra-0.1.1 → pulumi_extra-0.1.3}/pulumi_extra/transforms/resource_.py +0 -0
  49. {pulumi_extra-0.1.1 → pulumi_extra-0.1.3}/pulumi_extra/transforms/runtime.py +0 -0
  50. {pulumi_extra-0.1.1 → pulumi_extra-0.1.3}/tests/__init__.py +0 -0
  51. {pulumi_extra-0.1.1 → pulumi_extra-0.1.3}/tests/_helpers.py +0 -0
  52. {pulumi_extra-0.1.1 → pulumi_extra-0.1.3}/tests/conftest.py +0 -0
  53. {pulumi_extra-0.1.1 → pulumi_extra-0.1.3}/tests/contrib/__init__.py +0 -0
  54. {pulumi_extra-0.1.1 → pulumi_extra-0.1.3}/tests/contrib/aws/__init__.py +0 -0
  55. {pulumi_extra-0.1.1 → pulumi_extra-0.1.3}/tests/contrib/aws/policies/__init__.py +0 -0
  56. {pulumi_extra-0.1.1 → pulumi_extra-0.1.3}/tests/contrib/aws/policies/test_require_description.py +0 -0
  57. {pulumi_extra-0.1.1 → pulumi_extra-0.1.3}/tests/contrib/aws/policies/test_require_tags.py +0 -0
  58. {pulumi_extra-0.1.1 → pulumi_extra-0.1.3}/tests/contrib/aws/test_autotag.py +0 -0
  59. {pulumi_extra-0.1.1 → pulumi_extra-0.1.3}/tests/contrib/aws/test_common.py +0 -0
  60. {pulumi_extra-0.1.1 → pulumi_extra-0.1.3}/tests/contrib/gcp/__init__.py +0 -0
  61. {pulumi_extra-0.1.1 → pulumi_extra-0.1.3}/tests/contrib/gcp/policies/__init__.py +0 -0
  62. {pulumi_extra-0.1.1 → pulumi_extra-0.1.3}/tests/contrib/gcp/policies/test_require_description.py +0 -0
  63. {pulumi_extra-0.1.1 → pulumi_extra-0.1.3}/tests/contrib/gcp/policies/test_require_labels.py +0 -0
  64. {pulumi_extra-0.1.1 → pulumi_extra-0.1.3}/tests/contrib/gcp/test_autolabel.py +0 -0
  65. {pulumi_extra-0.1.1 → pulumi_extra-0.1.3}/tests/contrib/gcp/test_common.py +0 -0
  66. {pulumi_extra-0.1.1 → pulumi_extra-0.1.3}/tests/test_output.py +0 -0
  67. {pulumi_extra-0.1.1 → pulumi_extra-0.1.3}/tests/test_stack_reference.py +0 -0
  68. {pulumi_extra-0.1.1 → pulumi_extra-0.1.3}/tests/transforms/__init__.py +0 -0
  69. {pulumi_extra-0.1.1 → pulumi_extra-0.1.3}/tests/transforms/test_runtime.py +0 -0
@@ -10,11 +10,11 @@
10
10
  "overrideCommand": true,
11
11
  "workspaceFolder": "/workspaces/pulumi-extra",
12
12
  "features": {
13
- "ghcr.io/devcontainers-contrib/features/pre-commit:2": {},
13
+ "ghcr.io/devcontainers-extra/features/pre-commit:2": {},
14
14
  "ghcr.io/devcontainers/features/docker-in-docker:2": {}
15
15
  },
16
16
  "onCreateCommand": "./.devcontainer/onCreateCommand.sh",
17
- "postAttachCommand": "make install",
17
+ "postAttachCommand": "./.devcontainer/postAttachCommand.sh",
18
18
  "customizations": {
19
19
  "vscode": {
20
20
  "extensions": [
@@ -1,3 +1,5 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
3
  sudo chown --recursive "$(id --user):$(id --group)" ~
4
+
5
+ make install
@@ -6,8 +6,6 @@ on:
6
6
  pull_request:
7
7
  branches: [main]
8
8
 
9
- permissions: read-all
10
-
11
9
  env:
12
10
  UV_FROZEN: 1
13
11
 
@@ -17,16 +15,16 @@ jobs:
17
15
  runs-on: ubuntu-latest
18
16
  steps:
19
17
  - name: Checkout
20
- uses: actions/checkout@v4
18
+ uses: actions/checkout@v5
21
19
 
22
20
  - name: Set up uv
23
- uses: astral-sh/setup-uv@v5
21
+ uses: astral-sh/setup-uv@v6
24
22
  with:
25
23
  version: latest
26
24
  enable-cache: true
27
25
 
28
26
  - name: Install deps
29
- run: uv sync --all-extras
27
+ run: uv sync
30
28
 
31
29
  - name: Toolchain caching
32
30
  uses: actions/cache@v4
@@ -57,10 +55,10 @@ jobs:
57
55
 
58
56
  steps:
59
57
  - name: Checkout
60
- uses: actions/checkout@v4
58
+ uses: actions/checkout@v5
61
59
 
62
60
  - name: Set up uv
63
- uses: astral-sh/setup-uv@v5
61
+ uses: astral-sh/setup-uv@v6
64
62
  with:
65
63
  version: latest
66
64
  enable-cache: true
@@ -69,7 +67,7 @@ jobs:
69
67
  run: uv python pin "${{ matrix.python-version }}"
70
68
 
71
69
  - name: Install deps
72
- run: uv sync --all-extras
70
+ run: uv sync
73
71
 
74
72
  - name: Run tests
75
73
  run: uv run nox
@@ -4,7 +4,8 @@ on:
4
4
  push:
5
5
  tags: [v*]
6
6
 
7
- permissions: read-all
7
+ env:
8
+ UV_FROZEN: 1
8
9
 
9
10
  jobs:
10
11
  release:
@@ -14,16 +15,16 @@ jobs:
14
15
  contents: write
15
16
  steps:
16
17
  - name: Checkout
17
- uses: actions/checkout@v4
18
+ uses: actions/checkout@v5
18
19
 
19
20
  - name: Set up uv
20
- uses: astral-sh/setup-uv@v5
21
+ uses: astral-sh/setup-uv@v6
21
22
  with:
22
23
  version: latest
23
24
  enable-cache: true
24
25
 
25
26
  - name: Install deps
26
- run: uv sync --frozen --all-extras
27
+ run: uv sync
27
28
 
28
29
  - name: Build package
29
30
  run: uv build
@@ -50,7 +51,7 @@ jobs:
50
51
  environment: pypi
51
52
  steps:
52
53
  - name: Retrieve release distributions
53
- uses: actions/download-artifact@v4
54
+ uses: actions/download-artifact@v5
54
55
  with:
55
56
  name: release-dists
56
57
  path: dist/
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pulumi-extra
3
- Version: 0.1.1
3
+ Version: 0.1.3
4
4
  Summary: Extra Pulumi utils and resources.
5
5
  Project-URL: Homepage, https://github.com/lasuillard/pulumi-extra
6
6
  Project-URL: Repository, https://github.com/lasuillard/pulumi-extra.git
@@ -14,22 +14,10 @@ Requires-Dist: jinja2<4,>=3
14
14
  Requires-Dist: pulumi<4,>=3
15
15
  Provides-Extra: aws
16
16
  Requires-Dist: pulumi-aws>=6; extra == 'aws'
17
- Provides-Extra: dev
18
- Requires-Dist: mypy~=1.11; extra == 'dev'
19
- Requires-Dist: ruff~=0.6; extra == 'dev'
20
17
  Provides-Extra: gcp
21
18
  Requires-Dist: pulumi-gcp>=8; extra == 'gcp'
22
19
  Provides-Extra: policy
23
20
  Requires-Dist: pulumi-policy<2,>=1; extra == 'policy'
24
- Provides-Extra: test
25
- Requires-Dist: coverage~=7.3; extra == 'test'
26
- Requires-Dist: nox<2025.3.0,>=2024.10.9; extra == 'test'
27
- Requires-Dist: pulumi-docker>=4.6.1; extra == 'test'
28
- Requires-Dist: pulumi-random>=4.18.0; extra == 'test'
29
- Requires-Dist: pytest-cov<7,>=5; extra == 'test'
30
- Requires-Dist: pytest-forked>=1.6.0; extra == 'test'
31
- Requires-Dist: pytest-sugar~=1.0; extra == 'test'
32
- Requires-Dist: pytest~=8.0; extra == 'test'
33
21
  Description-Content-Type: text/markdown
34
22
 
35
23
  # pulumi-extra
@@ -37,6 +25,6 @@ Description-Content-Type: text/markdown
37
25
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
38
26
  [![CI](https://github.com/lasuillard/pulumi-extra/actions/workflows/ci.yaml/badge.svg)](https://github.com/lasuillard/pulumi-extra/actions/workflows/ci.yaml)
39
27
  [![codecov](https://codecov.io/gh/lasuillard/pulumi-extra/graph/badge.svg?token=uuckU93NAu)](https://codecov.io/gh/lasuillard/pulumi-extra)
40
- ![PyPI - Version](https://img.shields.io/pypi/v/pulumi-extra)
28
+ [![PyPI - Version](https://img.shields.io/pypi/v/pulumi-extra)](https://pypi.org/project/pulumi-extra/)
41
29
 
42
30
  Extra Pulumi utils and resources.
@@ -3,6 +3,6 @@
3
3
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
4
4
  [![CI](https://github.com/lasuillard/pulumi-extra/actions/workflows/ci.yaml/badge.svg)](https://github.com/lasuillard/pulumi-extra/actions/workflows/ci.yaml)
5
5
  [![codecov](https://codecov.io/gh/lasuillard/pulumi-extra/graph/badge.svg?token=uuckU93NAu)](https://codecov.io/gh/lasuillard/pulumi-extra)
6
- ![PyPI - Version](https://img.shields.io/pypi/v/pulumi-extra)
6
+ [![PyPI - Version](https://img.shields.io/pypi/v/pulumi-extra)](https://pypi.org/project/pulumi-extra/)
7
7
 
8
8
  Extra Pulumi utils and resources.
@@ -23,9 +23,6 @@ def tests(
23
23
  *,
24
24
  extras: list[str],
25
25
  ) -> None:
26
- # Test dependencies are required and always installed
27
- extras.extend(["dev", "test"])
28
-
29
26
  # Run the tests via `uv`
30
27
  session.run_install("uv", "sync", "--quiet", *[f"--extra={extra}" for extra in extras])
31
28
  session.run("uv", "run", "pytest", "--cov-append")
@@ -1,7 +1,7 @@
1
1
  [project]
2
2
  name = "pulumi-extra"
3
3
  description = "Extra Pulumi utils and resources."
4
- version = "0.1.1"
4
+ version = "0.1.3"
5
5
  authors = [{ name = "Yuchan Lee", email = "lasuillard@gmail.com" }]
6
6
  readme = "README.md"
7
7
  license = "MIT"
@@ -9,6 +9,11 @@ requires-python = ">=3.9, <4.0"
9
9
  dependencies = ["braceexpand>=0.1.7,<1", "jinja2>=3,<4", "pulumi>=3,<4"]
10
10
 
11
11
  [project.optional-dependencies]
12
+ policy = ["pulumi-policy>=1,<2"]
13
+ aws = ["pulumi-aws>=6"]
14
+ gcp = ["pulumi-gcp>=8"]
15
+
16
+ [dependency-groups]
12
17
  dev = ["mypy~=1.11", "ruff~=0.6"]
13
18
  test = [
14
19
  "coverage~=7.3",
@@ -20,9 +25,6 @@ test = [
20
25
  "pulumi-docker>=4.6.1",
21
26
  "pytest-forked>=1.6.0",
22
27
  ]
23
- policy = ["pulumi-policy>=1,<2"]
24
- aws = ["pulumi-aws>=6"]
25
- gcp = ["pulumi-gcp>=8"]
26
28
 
27
29
  [project.urls]
28
30
  Homepage = "https://github.com/lasuillard/pulumi-extra"
@@ -33,6 +35,9 @@ Issues = "https://github.com/lasuillard/pulumi-extra/issues"
33
35
  requires = ["hatchling"]
34
36
  build-backend = "hatchling.build"
35
37
 
38
+ [tool.uv]
39
+ default-groups = ["dev", "test"]
40
+
36
41
  [tool.hatch.build.targets.wheel]
37
42
  packages = ["pulumi_extra"]
38
43
 
@@ -77,9 +82,7 @@ addopts = [
77
82
  "-rs",
78
83
  ]
79
84
  testpaths = ["tests"]
80
- markers = [
81
- "integration: mark a test as an integration test",
82
- ]
85
+ markers = ["integration: mark a test as an integration test"]
83
86
 
84
87
  [tool.coverage.run]
85
88
  include = ["pulumi_extra/*"]
@@ -10,7 +10,7 @@ class Test__resource_has_attribute:
10
10
  @pytest.mark.forked
11
11
  def test(self) -> None:
12
12
  # Arrange
13
- import pulumi_random # noqa: F401
13
+ import pulumi_random # noqa: F401, PLC0415
14
14
 
15
15
  # Act & Assert
16
16
  assert resource_has_attribute("random:index/randomId:RandomId", "byte_length") is True
@@ -33,7 +33,7 @@ class Test__get_resource_cls:
33
33
  @pytest.mark.forked
34
34
  def test(self) -> None:
35
35
  # Arrange
36
- import pulumi_random # noqa: F401
36
+ import pulumi_random # noqa: F401, PLC0415
37
37
 
38
38
  # Act
39
39
  cls = get_resource_cls("random:index/randomId:RandomId")
@@ -12,7 +12,7 @@ pytestmark = pytest.mark.integration
12
12
 
13
13
 
14
14
  def pulumi_program() -> None:
15
- import pulumi_docker as docker
15
+ import pulumi_docker as docker # noqa: PLC0415
16
16
 
17
17
  # ? Invoke transforms cannot be applied to per-resource basis
18
18
  invoke_transforms = [
@@ -12,7 +12,7 @@ pytestmark = pytest.mark.integration
12
12
 
13
13
 
14
14
  def pulumi_program() -> None:
15
- import pulumi_docker as docker
15
+ import pulumi_docker as docker # noqa: PLC0415
16
16
 
17
17
  busybox = docker.RemoteImage(
18
18
  "busybox",