localstack-sdk-python 0.0.4__tar.gz → 4.4.0__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 (142) hide show
  1. localstack_sdk_python-4.4.0/.github/workflows/release.yml +133 -0
  2. localstack_sdk_python-4.4.0/.github/workflows/test.yml +63 -0
  3. localstack_sdk_python-4.4.0/.gitignore +72 -0
  4. localstack_sdk_python-4.4.0/Makefile +44 -0
  5. localstack_sdk_python-4.4.0/PKG-INFO +70 -0
  6. localstack_sdk_python-4.4.0/README.md +56 -0
  7. localstack_sdk_python-4.4.0/bin/generate.sh +25 -0
  8. {localstack_sdk_python-0.0.4 → localstack_sdk_python-4.4.0}/localstack-sdk-python/localstack/sdk/clients.py +3 -0
  9. localstack_sdk_python-4.4.0/localstack-sdk-python/localstack/sdk/version.py +21 -0
  10. localstack_sdk_python-4.4.0/localstack-sdk-python/localstack_sdk_python.egg-info/PKG-INFO +70 -0
  11. localstack_sdk_python-4.4.0/localstack-sdk-python/localstack_sdk_python.egg-info/SOURCES.txt +136 -0
  12. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/.gitignore +66 -0
  13. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/.openapi-generator/FILES +88 -0
  14. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/.openapi-generator/VERSION +1 -0
  15. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/.openapi-generator-ignore +14 -0
  16. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/api/__init__.py +12 -0
  17. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/api/aws_api.py +8427 -0
  18. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/api/chaos_api.py +1624 -0
  19. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/api/default_api.py +690 -0
  20. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/api/localstack_api.py +3107 -0
  21. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/api/pods_api.py +3722 -0
  22. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/api/pro_api.py +12741 -0
  23. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/api/replicator_api.py +1069 -0
  24. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/api/state_api.py +1604 -0
  25. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/api_client.py +798 -0
  26. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/api_response.py +21 -0
  27. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/configuration.py +576 -0
  28. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/exceptions.py +200 -0
  29. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/models/__init__.py +86 -0
  30. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/models/action_and_resource.py +98 -0
  31. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/models/aws_pinpoint_application_id_reference_id_get200_response.py +129 -0
  32. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/models/check_actions_request.py +100 -0
  33. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/models/check_actions_request_required_permission_inner.py +90 -0
  34. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/models/check_actions_response.py +126 -0
  35. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/models/check_actions_response_source_principal.py +90 -0
  36. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/models/cloud_watch_metrics.py +109 -0
  37. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/models/cloud_watch_metrics_metrics_inner.py +116 -0
  38. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/models/cloud_watch_metrics_metrics_inner_d_inner.py +94 -0
  39. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/models/cloud_watch_metrics_metrics_inner_d_inner_v.py +144 -0
  40. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/models/cloud_watch_metrics_metrics_inner_t.py +145 -0
  41. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/models/cloud_watch_metrics_metrics_inner_v.py +144 -0
  42. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/models/create_remote_request.py +90 -0
  43. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/models/delete_ddb_expired_items200_response.py +101 -0
  44. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/models/fault_rule.py +146 -0
  45. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/models/fault_rule_error.py +101 -0
  46. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/models/get_diagnostics200_response.py +131 -0
  47. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/models/get_diagnostics200_response_logs.py +101 -0
  48. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/models/get_diagnostics200_response_version.py +117 -0
  49. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/models/get_diagnostics200_response_version_host.py +101 -0
  50. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/models/get_diagnostics200_response_version_image_version.py +107 -0
  51. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/models/get_diagnostics200_response_version_localstack_version.py +105 -0
  52. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/models/get_features_and_services200_response.py +114 -0
  53. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/models/get_lambda_runtimes200_response.py +101 -0
  54. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/models/get_ses_messages200_response.py +109 -0
  55. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/models/get_sns_subscription_token200_response.py +103 -0
  56. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/models/iam_config.py +106 -0
  57. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/models/init_scripts.py +115 -0
  58. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/models/init_scripts_completed.py +94 -0
  59. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/models/init_scripts_scripts_inner.py +92 -0
  60. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/models/init_scripts_stage.py +111 -0
  61. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/models/init_scripts_stage_scripts_inner.py +92 -0
  62. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/models/list_remotes200_response.py +96 -0
  63. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/models/load_service.py +88 -0
  64. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/models/localstack_pods_environment_get200_response.py +94 -0
  65. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/models/localstack_stackinfo_get200_response.py +123 -0
  66. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/models/manage_session_request.py +108 -0
  67. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/models/message.py +118 -0
  68. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/models/network_effects_config.py +89 -0
  69. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/models/pod_list.py +109 -0
  70. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/models/pod_list_cloudpods_inner.py +92 -0
  71. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/models/pod_remote.py +94 -0
  72. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/models/pod_save_request.py +90 -0
  73. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/models/pod_versions.py +98 -0
  74. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/models/pod_versions_versions_inner.py +119 -0
  75. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/models/receive_message_request.py +102 -0
  76. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/models/receive_message_result.py +96 -0
  77. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/models/remote_config.py +141 -0
  78. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/models/remote_config_one_of.py +88 -0
  79. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/models/replication_config_mock.py +88 -0
  80. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/models/replication_config_single.py +92 -0
  81. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/models/replication_job.py +96 -0
  82. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/models/replication_request.py +107 -0
  83. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/models/replication_request_source_aws_config.py +96 -0
  84. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/models/replication_request_target_aws_config.py +96 -0
  85. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/models/replication_supported_resource.py +94 -0
  86. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/models/ses_destination.py +92 -0
  87. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/models/ses_sent_email.py +127 -0
  88. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/models/ses_sent_email_body.py +90 -0
  89. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/models/session_info.py +104 -0
  90. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/models/sns_message.py +122 -0
  91. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/models/sns_platform_endpoint_message.py +105 -0
  92. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/models/sns_platform_endpoint_response.py +107 -0
  93. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/models/sns_subscription_token_error.py +90 -0
  94. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/models/snssms_messages_response.py +107 -0
  95. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/models/state_result.py +92 -0
  96. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/models/store_data200_response.py +101 -0
  97. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/models/update_config_option200_response.py +103 -0
  98. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/models/update_config_option_request.py +111 -0
  99. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/py.typed +0 -0
  100. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/localstack/sdk/rest.py +263 -0
  101. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/pyproject.toml +34 -0
  102. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/requirements.txt +4 -0
  103. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/templates/pyproject.mustache +34 -0
  104. localstack_sdk_python-4.4.0/packages/localstack-sdk-generated/templates/rest.mustache +252 -0
  105. {localstack_sdk_python-0.0.4 → localstack_sdk_python-4.4.0}/pyproject.toml +8 -3
  106. localstack_sdk_python-4.4.0/tests/__init__.py +0 -0
  107. localstack_sdk_python-4.4.0/tests/conftest.py +1 -0
  108. localstack_sdk_python-4.4.0/tests/integration/__init__.py +0 -0
  109. localstack_sdk_python-4.4.0/tests/integration/test_aws.py +225 -0
  110. localstack_sdk_python-4.4.0/tests/integration/test_chaos.py +36 -0
  111. localstack_sdk_python-4.4.0/tests/integration/test_pods.py +22 -0
  112. localstack_sdk_python-4.4.0/tests/integration/test_state.py +20 -0
  113. localstack_sdk_python-4.4.0/tests/test_client.py +7 -0
  114. localstack_sdk_python-4.4.0/tests/testing/__init__.py +0 -0
  115. localstack_sdk_python-4.4.0/tests/testing/test_decorators.py +29 -0
  116. localstack_sdk_python-4.4.0/tests/testing/test_fixtures.py +12 -0
  117. localstack_sdk_python-4.4.0/tests/utils.py +36 -0
  118. localstack_sdk_python-4.4.0/uv.lock +296 -0
  119. localstack_sdk_python-0.0.4/PKG-INFO +0 -41
  120. localstack_sdk_python-0.0.4/README.md +0 -28
  121. localstack_sdk_python-0.0.4/localstack-sdk-python/localstack_sdk_python.egg-info/PKG-INFO +0 -41
  122. localstack_sdk_python-0.0.4/localstack-sdk-python/localstack_sdk_python.egg-info/SOURCES.txt +0 -24
  123. {localstack_sdk_python-0.0.4 → localstack_sdk_python-4.4.0}/LICENSE.txt +0 -0
  124. {localstack_sdk_python-0.0.4 → localstack_sdk_python-4.4.0}/localstack-sdk-python/localstack/sdk/aws/__init__.py +0 -0
  125. {localstack_sdk_python-0.0.4 → localstack_sdk_python-4.4.0}/localstack-sdk-python/localstack/sdk/aws/client.py +0 -0
  126. {localstack_sdk_python-0.0.4 → localstack_sdk_python-4.4.0}/localstack-sdk-python/localstack/sdk/chaos/__init__.py +0 -0
  127. {localstack_sdk_python-0.0.4 → localstack_sdk_python-4.4.0}/localstack-sdk-python/localstack/sdk/chaos/client.py +0 -0
  128. {localstack_sdk_python-0.0.4 → localstack_sdk_python-4.4.0}/localstack-sdk-python/localstack/sdk/chaos/managers.py +0 -0
  129. {localstack_sdk_python-0.0.4 → localstack_sdk_python-4.4.0}/localstack-sdk-python/localstack/sdk/pods/__init__.py +0 -0
  130. {localstack_sdk_python-0.0.4 → localstack_sdk_python-4.4.0}/localstack-sdk-python/localstack/sdk/pods/client.py +0 -0
  131. {localstack_sdk_python-0.0.4 → localstack_sdk_python-4.4.0}/localstack-sdk-python/localstack/sdk/pods/exceptions.py +0 -0
  132. {localstack_sdk_python-0.0.4 → localstack_sdk_python-4.4.0}/localstack-sdk-python/localstack/sdk/state/__init__.py +0 -0
  133. {localstack_sdk_python-0.0.4 → localstack_sdk_python-4.4.0}/localstack-sdk-python/localstack/sdk/state/client.py +0 -0
  134. {localstack_sdk_python-0.0.4 → localstack_sdk_python-4.4.0}/localstack-sdk-python/localstack/sdk/testing/__init__.py +0 -0
  135. {localstack_sdk_python-0.0.4 → localstack_sdk_python-4.4.0}/localstack-sdk-python/localstack/sdk/testing/decorators.py +0 -0
  136. {localstack_sdk_python-0.0.4 → localstack_sdk_python-4.4.0}/localstack-sdk-python/localstack/sdk/testing/pytest/__init__.py +0 -0
  137. {localstack_sdk_python-0.0.4 → localstack_sdk_python-4.4.0}/localstack-sdk-python/localstack/sdk/testing/pytest/plugins.py +0 -0
  138. {localstack_sdk_python-0.0.4 → localstack_sdk_python-4.4.0}/localstack-sdk-python/localstack_sdk_python.egg-info/dependency_links.txt +0 -0
  139. {localstack_sdk_python-0.0.4 → localstack_sdk_python-4.4.0}/localstack-sdk-python/localstack_sdk_python.egg-info/entry_points.txt +0 -0
  140. {localstack_sdk_python-0.0.4 → localstack_sdk_python-4.4.0}/localstack-sdk-python/localstack_sdk_python.egg-info/requires.txt +0 -0
  141. {localstack_sdk_python-0.0.4 → localstack_sdk_python-4.4.0}/localstack-sdk-python/localstack_sdk_python.egg-info/top_level.txt +0 -0
  142. {localstack_sdk_python-0.0.4 → localstack_sdk_python-4.4.0}/setup.cfg +0 -0
@@ -0,0 +1,133 @@
1
+ name: Release LocalStack Python Client
2
+
3
+ on:
4
+ repository_dispatch:
5
+ types: [release-sdk]
6
+ workflow_dispatch:
7
+ inputs:
8
+ version:
9
+ description: The version of the OpenAPI spec to release the client for
10
+ required: true
11
+
12
+ env:
13
+ git_user_name: localstack[bot]
14
+ git_user_email: localstack-bot@users.noreply.github.com
15
+
16
+ jobs:
17
+
18
+ test_python:
19
+ runs-on: ubuntu-latest
20
+ env:
21
+ release: ${{ github.event_name == 'workflow_dispatch' && inputs.version || github.event.client_payload.version}}
22
+
23
+ steps:
24
+ - name: "Pull image"
25
+ run: |
26
+ docker pull localstack/localstack-pro:${{ env.release }}
27
+
28
+ - name: "Checkout"
29
+ uses: actions/checkout@v4
30
+ with:
31
+ # setuptools_scm requires git history to determine the version
32
+ fetch-depth: 0
33
+
34
+ - name: "Set up Python 3.11"
35
+ uses: actions/setup-python@v5
36
+ with:
37
+ python-version: "3.11"
38
+
39
+ - name: "Install uv"
40
+ uses: astral-sh/setup-uv@v3
41
+
42
+ - name: "Generate code from spec"
43
+ run: |
44
+ make clean-generated
45
+ ./bin/generate.sh ${{ env.release }}
46
+
47
+ - name: "Prepare git config"
48
+ run: |
49
+ git config user.name ${{ env.git_user_name }}
50
+ git config user.email ${{ env.git_user_email }}
51
+
52
+ - name: "Commit changed code"
53
+ run: |
54
+ # Code automatically generated goes into the packages directory.
55
+ # As we generate code for the version to be released, we commit those changes.
56
+ if git status --porcelain packages/ | grep -q '^'; then
57
+ git add packages/
58
+ git commit -m "Generate code for ${{ env.release }}"
59
+
60
+ echo "Changes committed successfully"
61
+ else
62
+ echo "No changes detected after generating the code"
63
+ fi
64
+
65
+ - name: "Install project"
66
+ run: |
67
+ make install-dev
68
+
69
+ - name: "Install LocalStack"
70
+ run: |
71
+ pip install localstack==${{ env.release }}
72
+
73
+ - name: "Start Localstack"
74
+ env:
75
+ LOCALSTACK_AUTH_TOKEN: ${{ secrets.LOCALSTACK_AUTH_TOKEN }}
76
+ run: |
77
+ source .venv/bin/activate
78
+ DEBUG=1 DISABLE_EVENTS="1" IMAGE_NAME="localstack/localstack-pro:${{ env.release }}" localstack start -d
79
+ localstack wait -t 120 || (python -m localstack.cli.main logs && false)
80
+
81
+ - name: "Run Python Tests"
82
+ env:
83
+ LOCALSTACK_AUTH_TOKEN: ${{ secrets.LOCALSTACK_AUTH_TOKEN }}
84
+ run: |
85
+ make test
86
+
87
+ - name: "Stop Localstack"
88
+ if: success() || failure()
89
+ run: |
90
+ source .venv/bin/activate
91
+ localstack logs
92
+ localstack stop
93
+
94
+ - name: "Install release helper"
95
+ run: |
96
+ curl -o bin/release-helper.sh -L https://api.github.com/repos/localstack/localstack/contents/bin/release-helper.sh -H 'Accept: application/vnd.github.v3.raw'
97
+ chmod +x bin/release-helper.sh
98
+
99
+ - name: "Create the release commit and tag"
100
+ run: |
101
+ bin/release-helper.sh git-commit-release ${{ env.release }}
102
+
103
+ - name: "Publish release to pypi"
104
+ env:
105
+ UV_PUBLISH_TOKEN: ${{ secrets.UV_PUBLISH_TOKEN }}
106
+ run: |
107
+ make install publish
108
+
109
+ - name: "Push the release commit and tag"
110
+ run: |
111
+ git push --follow-tags
112
+
113
+ - name: "Create GitHub release"
114
+ env:
115
+ GITHUB_TOKEN: ${{ secrets.LOCALSTACK_GITHUB_TOKEN }}
116
+ run: gh release create "${{ env.release }}" --generate-notes --draft
117
+
118
+ - name: "Commit and push next development version"
119
+ run: |
120
+ bin/release-helper.sh git-commit-increment
121
+ git push
122
+
123
+ - name: "Publish development version to pypi"
124
+ env:
125
+ UV_PUBLISH_TOKEN: ${{ secrets.UV_PUBLISH_TOKEN }}
126
+ run: |
127
+ make install publish
128
+
129
+ - name: "Show git modifications"
130
+ run: |
131
+ git log --oneline -n 4
132
+ git show HEAD~1
133
+ git show HEAD
@@ -0,0 +1,63 @@
1
+ name: Python LocalStack Client / Run Test
2
+
3
+ on:
4
+ pull_request:
5
+ paths:
6
+ - .github/workflows/test.yml
7
+ - localstack-sdk-python/**
8
+ - tests/**
9
+ - packages/**
10
+ push:
11
+ branches:
12
+ - main
13
+ workflow_dispatch:
14
+
15
+ jobs:
16
+
17
+ test_python:
18
+ runs-on: ubuntu-latest
19
+
20
+ steps:
21
+ - name: Checkout
22
+ uses: actions/checkout@v4
23
+
24
+ - name: Set up Python 3.11
25
+ uses: actions/setup-python@v5
26
+ with:
27
+ python-version: "3.11"
28
+
29
+ - name: Install uv
30
+ uses: astral-sh/setup-uv@v3
31
+
32
+ - name: Install project
33
+ run: |
34
+ make install-dev
35
+
36
+ - name: Install LocalStack
37
+ run: |
38
+ pip install --pre --upgrade localstack
39
+
40
+ - name: Pull image
41
+ run: |
42
+ docker pull localstack/localstack-pro
43
+
44
+ - name: Start Localstack
45
+ env:
46
+ LOCALSTACK_AUTH_TOKEN: ${{ secrets.LOCALSTACK_AUTH_TOKEN }}
47
+ run: |
48
+ source .venv/bin/activate
49
+ DEBUG=1 DISABLE_EVENTS="1" IMAGE_NAME="localstack/localstack-pro:latest" localstack start -d
50
+ localstack wait -t 120 || (python -m localstack.cli.main logs && false)
51
+
52
+ - name: Run Python Tests
53
+ env:
54
+ LOCALSTACK_AUTH_TOKEN: ${{ secrets.LOCALSTACK_AUTH_TOKEN }}
55
+ run: |
56
+ make test
57
+
58
+ - name: Stop Localstack
59
+ if: always()
60
+ run: |
61
+ source .venv/bin/activate
62
+ localstack logs
63
+ localstack stop
@@ -0,0 +1,72 @@
1
+ *.pyc
2
+ *.pyo
3
+ *.log
4
+ *.keys.json
5
+ /nosetests.xml
6
+ /.venv*
7
+ */.venv*
8
+ */.mypy_cache
9
+ .settings/
10
+ .project
11
+ .classpath
12
+ .coverage*
13
+ .DS_Store
14
+ /build/
15
+ dist/
16
+ *.egg-info/
17
+ .eggs/
18
+ *.sw*
19
+ ~*
20
+ *~
21
+ .idea/
22
+ *.iml
23
+ .vscode/
24
+
25
+ node_modules/
26
+ app/build
27
+ package-lock.json
28
+
29
+ .serverless
30
+
31
+ target/
32
+
33
+ testdata/
34
+
35
+ etc/docker/lambda/*.tmp
36
+ etc/docker/lambda/Dockerfile
37
+ etc/docker/lambda/entrypoint.sh
38
+
39
+ *.crt
40
+ !localstack-pro-azure/localstack/pro/azure/server/proxy/ca.crt
41
+
42
+ backend_states/
43
+ api_states/
44
+ .python_packages/
45
+
46
+ terraform.tfstate*
47
+ .terraform*
48
+ **/terraform/tfplan
49
+ .env
50
+
51
+ # test resources
52
+ metastore_db/
53
+ parity-metrics/
54
+ .pytest-report.xml
55
+ *.raw.snapshot.json
56
+ localstack-pro-azure/visited_urls.csv
57
+ localstack-pro-azure/implemented_features.csv
58
+ localstack-pro-azure/tests/otherlangs/scripts/website/.azure/config
59
+
60
+ # dotnet files
61
+ localstack-pro-azure/tests/otherlangs/dotnet/*/bin
62
+ localstack-pro-azure/tests/otherlangs/dotnet/*/obj
63
+
64
+ # setuptools_scm version.py
65
+ */*/*/*/version.py
66
+ localstack-sdk-python-2/.openapi-generator/
67
+
68
+ # setuptools_scm version.py
69
+ **/version.py
70
+
71
+ # release helper
72
+ bin/release-helper.sh
@@ -0,0 +1,44 @@
1
+ VENV_DIR ?= .venv
2
+ VENV_RUN = . $(VENV_DIR)/bin/activate
3
+ VENV_ACTIVATE = $(VENV_DIR)/bin/activate
4
+ TEST_PATH ?= .
5
+ TEST_EXEC ?= python -m
6
+ PYTEST_LOGLEVEL ?= warning
7
+
8
+ install: ## omit dev dependencies
9
+ uv venv
10
+ uv sync --no-dev
11
+
12
+ install-dev: ## create the venv and install
13
+ uv venv
14
+ uv sync
15
+
16
+ clean: ## Clean up the virtual environment
17
+ rm -rf $(VENV_DIR)
18
+ rm -rf dist/
19
+
20
+ clean-dist:
21
+ rm -rf dist/
22
+
23
+ clean-generated: ## Cleanup generated code
24
+ rm -rf packages/localstack-sdk-generated/localstack/
25
+
26
+ generate: ## Generate the code from the OpenAPI specs
27
+ ./bin/generate.sh
28
+
29
+ build:
30
+ uv build --all-packages
31
+
32
+ publish: clean-dist build
33
+ uv publish
34
+
35
+ format:
36
+ ($(VENV_RUN); python -m ruff format --exclude packages .; python -m ruff check --output-format=full --exclude packages --fix .)
37
+
38
+ lint:
39
+ ($(VENV_RUN); python -m ruff check --exclude packages --output-format=full . && python -m ruff format --exclude packages --check .)
40
+
41
+ test: ## Run automated tests
42
+ ($(VENV_RUN); $(TEST_EXEC) pytest --durations=10 --log-cli-level=$(PYTEST_LOGLEVEL) $(PYTEST_ARGS) $(TEST_PATH))
43
+
44
+ .PHONY: clean install install-dev clean clean-dist clean-generated generate build publish format lint test
@@ -0,0 +1,70 @@
1
+ Metadata-Version: 2.4
2
+ Name: localstack-sdk-python
3
+ Version: 4.4.0
4
+ Summary: Python SDK for LocalStack
5
+ Author-email: LocalStack Team <info@localstack.cloud>
6
+ Project-URL: Homepage, https://localstack.cloud
7
+ Project-URL: Documentation, https://docs.localstack.cloud
8
+ Project-URL: Repository, https://github.com/localstack/localstack-sdk-python.git
9
+ Project-URL: Issues, https://github.com/localstack/localstack-sdk-python/issues
10
+ Description-Content-Type: text/markdown
11
+ License-File: LICENSE.txt
12
+ Requires-Dist: localstack-sdk-generated
13
+ Dynamic: license-file
14
+
15
+ # LocalStack Python SDK
16
+ [![PyPI version](https://img.shields.io/pypi/v/localstack-sdk-python)](https://pypi.org/project/localstack-sdk-python/)
17
+ [![Integration Tests](https://github.com/localstack/localstack-sdk-python/actions/workflows/test.yml/badge.svg)](https://github.com/localstack/localstack-sdk-python/actions/workflows/test.yml)
18
+
19
+ This is the Python SDK for LocalStack.
20
+ LocalStack offers a number of developer endpoints (see [docs](https://docs.localstack.cloud/references/internal-endpoints/)).
21
+ This SDK provides a programmatic and easy way to interact with them.
22
+
23
+ > [!WARNING]
24
+ > This project is still in a preview phase and will be subject to fast and breaking changes.
25
+
26
+ ### Project Structure
27
+
28
+ This project is composed by two Python packages:
29
+
30
+ - `packages/localstack-sdk-generated`: generated from the LocalStack's OpenAPI specs with [openapi-generator](https://github.com/OpenAPITools/openapi-generator).
31
+ The LocalStack's OpenAPI specs are available in [localstack/openapi](https://github.com/localstack/openapi).
32
+ This package is not meant to be manually modified, as it needs to be generated every time from the specs.
33
+ - `localstack-sdk-python`: the user-facing SDK that consumed `localstack-sdk-generated` as its main dependency.
34
+
35
+ ### Installation
36
+
37
+ You can install the LocalStack Python SDK with `pip`:
38
+
39
+ ```shell
40
+ pip install localstack-sdk-python
41
+ ```
42
+
43
+ #### From Source
44
+
45
+ This project uses [uv](https://github.com/astral-sh/uv) as a package manager.
46
+ On a Unix system, you can install `uv` with the standalone installer:
47
+
48
+ ```shell
49
+ curl -LsSf https://astral.sh/uv/install.sh | sh
50
+ ```
51
+
52
+ Once `uv` is installed, you can install the project from source with:
53
+
54
+ ```shell
55
+ make install
56
+ ```
57
+
58
+ To run the integration test suite:
59
+
60
+ ```shell
61
+ make test
62
+ ```
63
+
64
+ Note that LocalStack Pro (with the same version as the SDK) should be running in the background to execute the test.
65
+
66
+ ### Quickstart
67
+
68
+ To get started with our SDK, check out the [official documentation on https://docs.localstack.cloud](https://docs.localstack.cloud/user-guide/tools/localstack-sdk/python/).
69
+ You'll find comprehensive guides and detailed code samples that demonstrate how to use the various features provided
70
+ by the SDK.
@@ -0,0 +1,56 @@
1
+ # LocalStack Python SDK
2
+ [![PyPI version](https://img.shields.io/pypi/v/localstack-sdk-python)](https://pypi.org/project/localstack-sdk-python/)
3
+ [![Integration Tests](https://github.com/localstack/localstack-sdk-python/actions/workflows/test.yml/badge.svg)](https://github.com/localstack/localstack-sdk-python/actions/workflows/test.yml)
4
+
5
+ This is the Python SDK for LocalStack.
6
+ LocalStack offers a number of developer endpoints (see [docs](https://docs.localstack.cloud/references/internal-endpoints/)).
7
+ This SDK provides a programmatic and easy way to interact with them.
8
+
9
+ > [!WARNING]
10
+ > This project is still in a preview phase and will be subject to fast and breaking changes.
11
+
12
+ ### Project Structure
13
+
14
+ This project is composed by two Python packages:
15
+
16
+ - `packages/localstack-sdk-generated`: generated from the LocalStack's OpenAPI specs with [openapi-generator](https://github.com/OpenAPITools/openapi-generator).
17
+ The LocalStack's OpenAPI specs are available in [localstack/openapi](https://github.com/localstack/openapi).
18
+ This package is not meant to be manually modified, as it needs to be generated every time from the specs.
19
+ - `localstack-sdk-python`: the user-facing SDK that consumed `localstack-sdk-generated` as its main dependency.
20
+
21
+ ### Installation
22
+
23
+ You can install the LocalStack Python SDK with `pip`:
24
+
25
+ ```shell
26
+ pip install localstack-sdk-python
27
+ ```
28
+
29
+ #### From Source
30
+
31
+ This project uses [uv](https://github.com/astral-sh/uv) as a package manager.
32
+ On a Unix system, you can install `uv` with the standalone installer:
33
+
34
+ ```shell
35
+ curl -LsSf https://astral.sh/uv/install.sh | sh
36
+ ```
37
+
38
+ Once `uv` is installed, you can install the project from source with:
39
+
40
+ ```shell
41
+ make install
42
+ ```
43
+
44
+ To run the integration test suite:
45
+
46
+ ```shell
47
+ make test
48
+ ```
49
+
50
+ Note that LocalStack Pro (with the same version as the SDK) should be running in the background to execute the test.
51
+
52
+ ### Quickstart
53
+
54
+ To get started with our SDK, check out the [official documentation on https://docs.localstack.cloud](https://docs.localstack.cloud/user-guide/tools/localstack-sdk/python/).
55
+ You'll find comprehensive guides and detailed code samples that demonstrate how to use the various features provided
56
+ by the SDK.
@@ -0,0 +1,25 @@
1
+ #!/bin/bash
2
+
3
+ # Use the latest spec by default
4
+ SPEC_URL="https://raw.githubusercontent.com/localstack/openapi/refs/heads/main/openapi/emulators/localstack-spec-latest.yml"
5
+
6
+ if [ -n "$1" ]; then
7
+ SPEC_URL="https://github.com/localstack/openapi/releases/download/v$1/localstack-spec.yml"
8
+ fi
9
+
10
+ # Check if the URL is valid
11
+ if ! wget --spider -q "$SPEC_URL"; then
12
+ echo "Spec URL seems not accessible: $SPEC_URL"
13
+ exit 1
14
+ fi
15
+
16
+ docker run --rm -v "${PWD}:/local" openapitools/openapi-generator-cli:v7.10.0 generate \
17
+ -i "$SPEC_URL" \
18
+ --skip-validate-spec \
19
+ -g python \
20
+ -o /local//packages/localstack-sdk-generated \
21
+ --global-property models,apis,supportingFiles \
22
+ -p packageName=localstack.sdk \
23
+ --template-dir /local/packages/localstack-sdk-generated/templates \
24
+ --global-property apiTests=false,modelTests=false \
25
+ --global-property apiDocs=false,modelDocs=False
@@ -1,3 +1,4 @@
1
+ from localstack.sdk import version
1
2
  from localstack.sdk.api_client import ApiClient
2
3
  from localstack.sdk.configuration import Configuration
3
4
 
@@ -30,3 +31,5 @@ class BaseClient:
30
31
  self.auth_token = auth_token
31
32
  self.configuration = Configuration(host=self.host)
32
33
  self._api_client = ApiClient(configuration=self.configuration)
34
+ # The generated code comes with 1.0.0 hard-coded. We set here the correct version
35
+ self._api_client.user_agent = f"LocalStack SDK/{version.version}/python"
@@ -0,0 +1,21 @@
1
+ # file generated by setuptools-scm
2
+ # don't change, don't track in version control
3
+
4
+ __all__ = ["__version__", "__version_tuple__", "version", "version_tuple"]
5
+
6
+ TYPE_CHECKING = False
7
+ if TYPE_CHECKING:
8
+ from typing import Tuple
9
+ from typing import Union
10
+
11
+ VERSION_TUPLE = Tuple[Union[int, str], ...]
12
+ else:
13
+ VERSION_TUPLE = object
14
+
15
+ version: str
16
+ __version__: str
17
+ __version_tuple__: VERSION_TUPLE
18
+ version_tuple: VERSION_TUPLE
19
+
20
+ __version__ = version = '4.4.0'
21
+ __version_tuple__ = version_tuple = (4, 4, 0)
@@ -0,0 +1,70 @@
1
+ Metadata-Version: 2.4
2
+ Name: localstack-sdk-python
3
+ Version: 4.4.0
4
+ Summary: Python SDK for LocalStack
5
+ Author-email: LocalStack Team <info@localstack.cloud>
6
+ Project-URL: Homepage, https://localstack.cloud
7
+ Project-URL: Documentation, https://docs.localstack.cloud
8
+ Project-URL: Repository, https://github.com/localstack/localstack-sdk-python.git
9
+ Project-URL: Issues, https://github.com/localstack/localstack-sdk-python/issues
10
+ Description-Content-Type: text/markdown
11
+ License-File: LICENSE.txt
12
+ Requires-Dist: localstack-sdk-generated
13
+ Dynamic: license-file
14
+
15
+ # LocalStack Python SDK
16
+ [![PyPI version](https://img.shields.io/pypi/v/localstack-sdk-python)](https://pypi.org/project/localstack-sdk-python/)
17
+ [![Integration Tests](https://github.com/localstack/localstack-sdk-python/actions/workflows/test.yml/badge.svg)](https://github.com/localstack/localstack-sdk-python/actions/workflows/test.yml)
18
+
19
+ This is the Python SDK for LocalStack.
20
+ LocalStack offers a number of developer endpoints (see [docs](https://docs.localstack.cloud/references/internal-endpoints/)).
21
+ This SDK provides a programmatic and easy way to interact with them.
22
+
23
+ > [!WARNING]
24
+ > This project is still in a preview phase and will be subject to fast and breaking changes.
25
+
26
+ ### Project Structure
27
+
28
+ This project is composed by two Python packages:
29
+
30
+ - `packages/localstack-sdk-generated`: generated from the LocalStack's OpenAPI specs with [openapi-generator](https://github.com/OpenAPITools/openapi-generator).
31
+ The LocalStack's OpenAPI specs are available in [localstack/openapi](https://github.com/localstack/openapi).
32
+ This package is not meant to be manually modified, as it needs to be generated every time from the specs.
33
+ - `localstack-sdk-python`: the user-facing SDK that consumed `localstack-sdk-generated` as its main dependency.
34
+
35
+ ### Installation
36
+
37
+ You can install the LocalStack Python SDK with `pip`:
38
+
39
+ ```shell
40
+ pip install localstack-sdk-python
41
+ ```
42
+
43
+ #### From Source
44
+
45
+ This project uses [uv](https://github.com/astral-sh/uv) as a package manager.
46
+ On a Unix system, you can install `uv` with the standalone installer:
47
+
48
+ ```shell
49
+ curl -LsSf https://astral.sh/uv/install.sh | sh
50
+ ```
51
+
52
+ Once `uv` is installed, you can install the project from source with:
53
+
54
+ ```shell
55
+ make install
56
+ ```
57
+
58
+ To run the integration test suite:
59
+
60
+ ```shell
61
+ make test
62
+ ```
63
+
64
+ Note that LocalStack Pro (with the same version as the SDK) should be running in the background to execute the test.
65
+
66
+ ### Quickstart
67
+
68
+ To get started with our SDK, check out the [official documentation on https://docs.localstack.cloud](https://docs.localstack.cloud/user-guide/tools/localstack-sdk/python/).
69
+ You'll find comprehensive guides and detailed code samples that demonstrate how to use the various features provided
70
+ by the SDK.