pulumi-extra 0.1.2__tar.gz → 0.1.4__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 (77) hide show
  1. {pulumi_extra-0.1.2 → pulumi_extra-0.1.4}/.github/workflows/ci.yaml +4 -6
  2. pulumi_extra-0.1.4/.github/workflows/docs.yaml +51 -0
  3. {pulumi_extra-0.1.2 → pulumi_extra-0.1.4}/.github/workflows/release.yaml +5 -4
  4. {pulumi_extra-0.1.2 → pulumi_extra-0.1.4}/Makefile +9 -0
  5. pulumi_extra-0.1.4/PKG-INFO +29 -0
  6. pulumi_extra-0.1.4/README.md +7 -0
  7. pulumi_extra-0.1.4/docs/api-references/contrib/aws.md +3 -0
  8. pulumi_extra-0.1.4/docs/api-references/contrib/gcp.md +3 -0
  9. pulumi_extra-0.1.4/docs/api-references/index.md +15 -0
  10. pulumi_extra-0.1.4/docs/index.md +1 -0
  11. pulumi_extra-0.1.4/mkdocs.yaml +34 -0
  12. {pulumi_extra-0.1.2 → pulumi_extra-0.1.4}/noxfile.py +0 -3
  13. {pulumi_extra-0.1.2 → pulumi_extra-0.1.4}/pyproject.toml +20 -11
  14. pulumi_extra-0.1.4/uv.lock +1422 -0
  15. pulumi_extra-0.1.2/PKG-INFO +0 -42
  16. pulumi_extra-0.1.2/README.md +0 -8
  17. pulumi_extra-0.1.2/uv.lock +0 -881
  18. {pulumi_extra-0.1.2 → pulumi_extra-0.1.4}/.devcontainer/Dockerfile +0 -0
  19. {pulumi_extra-0.1.2 → pulumi_extra-0.1.4}/.devcontainer/devcontainer.json +0 -0
  20. {pulumi_extra-0.1.2 → pulumi_extra-0.1.4}/.devcontainer/docker-compose.devcontainer.yaml +0 -0
  21. {pulumi_extra-0.1.2 → pulumi_extra-0.1.4}/.devcontainer/onCreateCommand.sh +0 -0
  22. {pulumi_extra-0.1.2 → pulumi_extra-0.1.4}/.devcontainer/postAttachCommand.sh +0 -0
  23. {pulumi_extra-0.1.2 → pulumi_extra-0.1.4}/.editorconfig +0 -0
  24. {pulumi_extra-0.1.2 → pulumi_extra-0.1.4}/.gitattributes +0 -0
  25. {pulumi_extra-0.1.2 → pulumi_extra-0.1.4}/.github/dependabot.yaml +0 -0
  26. {pulumi_extra-0.1.2 → pulumi_extra-0.1.4}/.gitignore +0 -0
  27. {pulumi_extra-0.1.2 → pulumi_extra-0.1.4}/.pre-commit-config.yaml +0 -0
  28. {pulumi_extra-0.1.2 → pulumi_extra-0.1.4}/.python-version +0 -0
  29. {pulumi_extra-0.1.2 → pulumi_extra-0.1.4}/.vscode/extensions.json +0 -0
  30. {pulumi_extra-0.1.2 → pulumi_extra-0.1.4}/.vscode/settings.json +0 -0
  31. {pulumi_extra-0.1.2 → pulumi_extra-0.1.4}/LICENSE +0 -0
  32. {pulumi_extra-0.1.2 → pulumi_extra-0.1.4}/pulumi_extra/__init__.py +0 -0
  33. {pulumi_extra-0.1.2 → pulumi_extra-0.1.4}/pulumi_extra/contrib/__init__.py +0 -0
  34. {pulumi_extra-0.1.2 → pulumi_extra-0.1.4}/pulumi_extra/contrib/aws/__init__.py +0 -0
  35. {pulumi_extra-0.1.2 → pulumi_extra-0.1.4}/pulumi_extra/contrib/aws/autotag.py +0 -0
  36. {pulumi_extra-0.1.2 → pulumi_extra-0.1.4}/pulumi_extra/contrib/aws/common.py +0 -0
  37. {pulumi_extra-0.1.2 → pulumi_extra-0.1.4}/pulumi_extra/contrib/aws/policies/__init__.py +0 -0
  38. {pulumi_extra-0.1.2 → pulumi_extra-0.1.4}/pulumi_extra/contrib/aws/policies/require_description.py +0 -0
  39. {pulumi_extra-0.1.2 → pulumi_extra-0.1.4}/pulumi_extra/contrib/aws/policies/require_tags.py +0 -0
  40. {pulumi_extra-0.1.2 → pulumi_extra-0.1.4}/pulumi_extra/contrib/gcp/__init__.py +0 -0
  41. {pulumi_extra-0.1.2 → pulumi_extra-0.1.4}/pulumi_extra/contrib/gcp/autolabel.py +0 -0
  42. {pulumi_extra-0.1.2 → pulumi_extra-0.1.4}/pulumi_extra/contrib/gcp/common.py +0 -0
  43. {pulumi_extra-0.1.2 → pulumi_extra-0.1.4}/pulumi_extra/contrib/gcp/policies/__init__.py +0 -0
  44. {pulumi_extra-0.1.2 → pulumi_extra-0.1.4}/pulumi_extra/contrib/gcp/policies/require_description.py +0 -0
  45. {pulumi_extra-0.1.2 → pulumi_extra-0.1.4}/pulumi_extra/contrib/gcp/policies/require_labels.py +0 -0
  46. {pulumi_extra-0.1.2 → pulumi_extra-0.1.4}/pulumi_extra/errors.py +0 -0
  47. {pulumi_extra-0.1.2 → pulumi_extra-0.1.4}/pulumi_extra/output.py +0 -0
  48. {pulumi_extra-0.1.2 → pulumi_extra-0.1.4}/pulumi_extra/py.typed +0 -0
  49. {pulumi_extra-0.1.2 → pulumi_extra-0.1.4}/pulumi_extra/resource_.py +0 -0
  50. {pulumi_extra-0.1.2 → pulumi_extra-0.1.4}/pulumi_extra/stack_reference.py +0 -0
  51. {pulumi_extra-0.1.2 → pulumi_extra-0.1.4}/pulumi_extra/transforms/__init__.py +0 -0
  52. {pulumi_extra-0.1.2 → pulumi_extra-0.1.4}/pulumi_extra/transforms/invoke.py +0 -0
  53. {pulumi_extra-0.1.2 → pulumi_extra-0.1.4}/pulumi_extra/transforms/resource_.py +0 -0
  54. {pulumi_extra-0.1.2 → pulumi_extra-0.1.4}/pulumi_extra/transforms/runtime.py +0 -0
  55. {pulumi_extra-0.1.2 → pulumi_extra-0.1.4}/tests/__init__.py +0 -0
  56. {pulumi_extra-0.1.2 → pulumi_extra-0.1.4}/tests/_helpers.py +0 -0
  57. {pulumi_extra-0.1.2 → pulumi_extra-0.1.4}/tests/conftest.py +0 -0
  58. {pulumi_extra-0.1.2 → pulumi_extra-0.1.4}/tests/contrib/__init__.py +0 -0
  59. {pulumi_extra-0.1.2 → pulumi_extra-0.1.4}/tests/contrib/aws/__init__.py +0 -0
  60. {pulumi_extra-0.1.2 → pulumi_extra-0.1.4}/tests/contrib/aws/policies/__init__.py +0 -0
  61. {pulumi_extra-0.1.2 → pulumi_extra-0.1.4}/tests/contrib/aws/policies/test_require_description.py +0 -0
  62. {pulumi_extra-0.1.2 → pulumi_extra-0.1.4}/tests/contrib/aws/policies/test_require_tags.py +0 -0
  63. {pulumi_extra-0.1.2 → pulumi_extra-0.1.4}/tests/contrib/aws/test_autotag.py +0 -0
  64. {pulumi_extra-0.1.2 → pulumi_extra-0.1.4}/tests/contrib/aws/test_common.py +0 -0
  65. {pulumi_extra-0.1.2 → pulumi_extra-0.1.4}/tests/contrib/gcp/__init__.py +0 -0
  66. {pulumi_extra-0.1.2 → pulumi_extra-0.1.4}/tests/contrib/gcp/policies/__init__.py +0 -0
  67. {pulumi_extra-0.1.2 → pulumi_extra-0.1.4}/tests/contrib/gcp/policies/test_require_description.py +0 -0
  68. {pulumi_extra-0.1.2 → pulumi_extra-0.1.4}/tests/contrib/gcp/policies/test_require_labels.py +0 -0
  69. {pulumi_extra-0.1.2 → pulumi_extra-0.1.4}/tests/contrib/gcp/test_autolabel.py +0 -0
  70. {pulumi_extra-0.1.2 → pulumi_extra-0.1.4}/tests/contrib/gcp/test_common.py +0 -0
  71. {pulumi_extra-0.1.2 → pulumi_extra-0.1.4}/tests/test_output.py +0 -0
  72. {pulumi_extra-0.1.2 → pulumi_extra-0.1.4}/tests/test_resource_.py +0 -0
  73. {pulumi_extra-0.1.2 → pulumi_extra-0.1.4}/tests/test_stack_reference.py +0 -0
  74. {pulumi_extra-0.1.2 → pulumi_extra-0.1.4}/tests/transforms/__init__.py +0 -0
  75. {pulumi_extra-0.1.2 → pulumi_extra-0.1.4}/tests/transforms/test_invoke.py +0 -0
  76. {pulumi_extra-0.1.2 → pulumi_extra-0.1.4}/tests/transforms/test_resource_.py +0 -0
  77. {pulumi_extra-0.1.2 → pulumi_extra-0.1.4}/tests/transforms/test_runtime.py +0 -0
@@ -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,7 +15,7 @@ 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
21
  uses: astral-sh/setup-uv@v6
@@ -26,7 +24,7 @@ jobs:
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,7 +55,7 @@ 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
61
  uses: astral-sh/setup-uv@v6
@@ -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
@@ -0,0 +1,51 @@
1
+ name: Docs
2
+
3
+ on:
4
+ push:
5
+ tags: [v*]
6
+
7
+ env:
8
+ UV_FROZEN: 1
9
+
10
+ jobs:
11
+ build-docs:
12
+ name: Build Docs
13
+ runs-on: ubuntu-latest
14
+ steps:
15
+ - name: Checkout
16
+ uses: actions/checkout@v5
17
+
18
+ - name: Set up uv
19
+ uses: astral-sh/setup-uv@v6
20
+ with:
21
+ version: latest
22
+ enable-cache: true
23
+
24
+ - name: Install deps
25
+ run: uv sync
26
+
27
+ - name: Generate API docs
28
+ run: make docs
29
+
30
+ - name: Upload docs artifact
31
+ uses: actions/upload-pages-artifact@v4
32
+ with:
33
+ path: site/
34
+
35
+ deploy-docs:
36
+ name: Deploy Docs
37
+ needs: build-docs
38
+ runs-on: ubuntu-latest
39
+ permissions:
40
+ pages: write
41
+ id-token: write
42
+ environment:
43
+ name: github-pages
44
+ url: ${{ steps.deployment.outputs.page_url }}
45
+ concurrency:
46
+ group: pages
47
+ cancel-in-progress: false
48
+ steps:
49
+ - name: Publish API docs to GitHub Pages
50
+ id: deployment
51
+ uses: actions/deploy-pages@v4
@@ -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,7 +15,7 @@ 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
21
  uses: astral-sh/setup-uv@v6
@@ -23,7 +24,7 @@ jobs:
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/
@@ -28,6 +28,11 @@ update: ## Update deps and tools
28
28
  pre-commit autoupdate
29
29
  .PHONY: update
30
30
 
31
+ serve-docs: ## Serve documentation with live reload
32
+ uv run mkdocs serve \
33
+ --dev-addr "$$([ -n "$${CONTAINER:-}" ] && echo '0.0.0.0:8000' || echo '127.0.0.1:8000')"
34
+ .PHONY: serve-docs
35
+
31
36
 
32
37
  # =============================================================================
33
38
  # CI
@@ -50,6 +55,10 @@ test: ## Run tests
50
55
  uv run coverage html
51
56
  .PHONY: test
52
57
 
58
+ docs: ## Build documentation
59
+ uv run mkdocs build
60
+ .PHONY: docs
61
+
53
62
 
54
63
  # =============================================================================
55
64
  # Handy Scripts
@@ -0,0 +1,29 @@
1
+ Metadata-Version: 2.4
2
+ Name: pulumi-extra
3
+ Version: 0.1.4
4
+ Summary: Extra Pulumi utils and resources.
5
+ Project-URL: Homepage, https://github.com/lasuillard-s/pulumi-extra
6
+ Project-URL: Repository, https://github.com/lasuillard-s/pulumi-extra.git
7
+ Project-URL: Issues, https://github.com/lasuillard-s/pulumi-extra/issues
8
+ Author-email: Yuchan Lee <lasuillard@gmail.com>
9
+ License-Expression: MIT
10
+ License-File: LICENSE
11
+ Requires-Python: <4.0,>=3.9
12
+ Requires-Dist: braceexpand<1,>=0.1.7
13
+ Requires-Dist: jinja2<4,>=3
14
+ Requires-Dist: pulumi<4,>=3
15
+ Provides-Extra: aws
16
+ Requires-Dist: pulumi-aws>=6; extra == 'aws'
17
+ Provides-Extra: gcp
18
+ Requires-Dist: pulumi-gcp>=8; extra == 'gcp'
19
+ Provides-Extra: policy
20
+ Requires-Dist: pulumi-policy<2,>=1; extra == 'policy'
21
+ Description-Content-Type: text/markdown
22
+
23
+ # pulumi-extra
24
+
25
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
26
+ [![codecov](https://codecov.io/gh/lasuillard-s/pulumi-extra/graph/badge.svg?token=uuckU93NAu)](https://codecov.io/gh/lasuillard-s/pulumi-extra)
27
+ [![PyPI - Version](https://img.shields.io/pypi/v/pulumi-extra)](https://pypi.org/project/pulumi-extra/)
28
+
29
+ Extra Pulumi utils and resources.
@@ -0,0 +1,7 @@
1
+ # pulumi-extra
2
+
3
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
4
+ [![codecov](https://codecov.io/gh/lasuillard-s/pulumi-extra/graph/badge.svg?token=uuckU93NAu)](https://codecov.io/gh/lasuillard-s/pulumi-extra)
5
+ [![PyPI - Version](https://img.shields.io/pypi/v/pulumi-extra)](https://pypi.org/project/pulumi-extra/)
6
+
7
+ Extra Pulumi utils and resources.
@@ -0,0 +1,3 @@
1
+ ::: pulumi_extra.contrib.aws
2
+ options:
3
+ show_root_heading: true
@@ -0,0 +1,3 @@
1
+ ::: pulumi_extra.contrib.gcp
2
+ options:
3
+ show_root_heading: true
@@ -0,0 +1,15 @@
1
+ ::: pulumi_extra.resource_
2
+ options:
3
+ show_root_heading: true
4
+
5
+ ::: pulumi_extra.stack_reference
6
+ options:
7
+ show_root_heading: true
8
+
9
+ ::: pulumi_extra.output
10
+ options:
11
+ show_root_heading: true
12
+
13
+ ::: pulumi_extra.transforms
14
+ options:
15
+ show_root_heading: true
@@ -0,0 +1 @@
1
+ ../README.md
@@ -0,0 +1,34 @@
1
+ site_name: pulumi-extra
2
+ repo_url: https://github.com/lasuillard-s/pulumi-extra
3
+ repo_name: lasuillard-s/pulumi-extra
4
+ theme:
5
+ name: material
6
+ icon:
7
+ repo: fontawesome/brands/github
8
+ plugins:
9
+ - mkdocstrings:
10
+ handlers:
11
+ python:
12
+ options:
13
+ show_submodules: false
14
+ filters:
15
+ - "!^_[^_]"
16
+ - search
17
+ nav:
18
+ - Introduction: index.md
19
+ - API References:
20
+ - Core: api-references/index.md
21
+ - Contrib:
22
+ - AWS: api-references/contrib/aws.md
23
+ - GCP: api-references/contrib/gcp.md
24
+ markdown_extensions:
25
+ - def_list
26
+ - pymdownx.tasklist:
27
+ custom_checkbox: true
28
+ - pymdownx.highlight:
29
+ anchor_linenums: true
30
+ line_spans: __span
31
+ pygments_lang_class: true
32
+ - pymdownx.inlinehilite
33
+ - pymdownx.snippets
34
+ - pymdownx.superfences
@@ -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.2"
4
+ version = "0.1.4"
5
5
  authors = [{ name = "Yuchan Lee", email = "lasuillard@gmail.com" }]
6
6
  readme = "README.md"
7
7
  license = "MIT"
@@ -9,7 +9,18 @@ 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
- dev = ["mypy~=1.11", "ruff~=0.6"]
12
+ policy = ["pulumi-policy>=1,<2"]
13
+ aws = ["pulumi-aws>=6"]
14
+ gcp = ["pulumi-gcp>=8"]
15
+
16
+ [dependency-groups]
17
+ dev = [
18
+ "mkdocs>=1.6.1",
19
+ "mkdocs-material>=9.6.22",
20
+ "mkdocstrings[python]>=0.30.1",
21
+ "mypy~=1.11",
22
+ "ruff~=0.6",
23
+ ]
13
24
  test = [
14
25
  "coverage~=7.3",
15
26
  "pytest-cov>=5,<7",
@@ -20,19 +31,19 @@ test = [
20
31
  "pulumi-docker>=4.6.1",
21
32
  "pytest-forked>=1.6.0",
22
33
  ]
23
- policy = ["pulumi-policy>=1,<2"]
24
- aws = ["pulumi-aws>=6"]
25
- gcp = ["pulumi-gcp>=8"]
26
34
 
27
35
  [project.urls]
28
- Homepage = "https://github.com/lasuillard/pulumi-extra"
29
- Repository = "https://github.com/lasuillard/pulumi-extra.git"
30
- Issues = "https://github.com/lasuillard/pulumi-extra/issues"
36
+ Homepage = "https://github.com/lasuillard-s/pulumi-extra"
37
+ Repository = "https://github.com/lasuillard-s/pulumi-extra.git"
38
+ Issues = "https://github.com/lasuillard-s/pulumi-extra/issues"
31
39
 
32
40
  [build-system]
33
41
  requires = ["hatchling"]
34
42
  build-backend = "hatchling.build"
35
43
 
44
+ [tool.uv]
45
+ default-groups = ["dev", "test"]
46
+
36
47
  [tool.hatch.build.targets.wheel]
37
48
  packages = ["pulumi_extra"]
38
49
 
@@ -77,9 +88,7 @@ addopts = [
77
88
  "-rs",
78
89
  ]
79
90
  testpaths = ["tests"]
80
- markers = [
81
- "integration: mark a test as an integration test",
82
- ]
91
+ markers = ["integration: mark a test as an integration test"]
83
92
 
84
93
  [tool.coverage.run]
85
94
  include = ["pulumi_extra/*"]