localstack-sdk-python 0.0.2__tar.gz → 0.0.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 (112) hide show
  1. localstack_sdk_python-0.0.3/.github/workflows/test.yml +63 -0
  2. localstack_sdk_python-0.0.3/.gitignore +66 -0
  3. localstack_sdk_python-0.0.3/Makefile +36 -0
  4. {localstack_sdk_python-0.0.2 → localstack_sdk_python-0.0.3}/PKG-INFO +1 -1
  5. localstack_sdk_python-0.0.3/bin/generate.sh +15 -0
  6. localstack_sdk_python-0.0.3/localstack-sdk-python/localstack/sdk/aws/__init__.py +3 -0
  7. localstack_sdk_python-0.0.3/localstack-sdk-python/localstack/sdk/aws/client.py +68 -0
  8. localstack_sdk_python-0.0.3/localstack-sdk-python/localstack/sdk/state/__init__.py +3 -0
  9. localstack_sdk_python-0.0.3/localstack-sdk-python/localstack/sdk/state/client.py +11 -0
  10. {localstack_sdk_python-0.0.2 → localstack_sdk_python-0.0.3}/localstack-sdk-python/localstack_sdk_python.egg-info/PKG-INFO +1 -1
  11. localstack_sdk_python-0.0.3/localstack-sdk-python/localstack_sdk_python.egg-info/SOURCES.txt +109 -0
  12. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/.gitignore +66 -0
  13. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/.openapi-generator/FILES +71 -0
  14. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/.openapi-generator/VERSION +1 -0
  15. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/.openapi-generator-ignore +14 -0
  16. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/localstack/sdk/api/__init__.py +11 -0
  17. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/localstack/sdk/api/aws_api.py +7644 -0
  18. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/localstack/sdk/api/chaos_api.py +1624 -0
  19. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/localstack/sdk/api/default_api.py +690 -0
  20. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/localstack/sdk/api/localstack_api.py +3107 -0
  21. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/localstack/sdk/api/pods_api.py +3722 -0
  22. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/localstack/sdk/api/pro_api.py +10864 -0
  23. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/localstack/sdk/api/state_api.py +1546 -0
  24. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/localstack/sdk/api_client.py +798 -0
  25. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/localstack/sdk/api_response.py +21 -0
  26. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/localstack/sdk/configuration.py +461 -0
  27. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/localstack/sdk/exceptions.py +200 -0
  28. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/localstack/sdk/models/__init__.py +70 -0
  29. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/localstack/sdk/models/aws_pinpoint_application_id_reference_id_get200_response.py +129 -0
  30. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/localstack/sdk/models/cloud_watch_metrics.py +109 -0
  31. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/localstack/sdk/models/cloud_watch_metrics_metrics_inner.py +116 -0
  32. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/localstack/sdk/models/cloud_watch_metrics_metrics_inner_d_inner.py +94 -0
  33. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/localstack/sdk/models/cloud_watch_metrics_metrics_inner_d_inner_v.py +144 -0
  34. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/localstack/sdk/models/cloud_watch_metrics_metrics_inner_t.py +145 -0
  35. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/localstack/sdk/models/cloud_watch_metrics_metrics_inner_v.py +144 -0
  36. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/localstack/sdk/models/create_remote_request.py +90 -0
  37. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/localstack/sdk/models/delete_ddb_expired_items200_response.py +101 -0
  38. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/localstack/sdk/models/fault_rule.py +146 -0
  39. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/localstack/sdk/models/fault_rule_error.py +101 -0
  40. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/localstack/sdk/models/get_diagnostics200_response.py +131 -0
  41. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/localstack/sdk/models/get_diagnostics200_response_logs.py +101 -0
  42. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/localstack/sdk/models/get_diagnostics200_response_version.py +117 -0
  43. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/localstack/sdk/models/get_diagnostics200_response_version_host.py +101 -0
  44. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/localstack/sdk/models/get_diagnostics200_response_version_image_version.py +107 -0
  45. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/localstack/sdk/models/get_diagnostics200_response_version_localstack_version.py +105 -0
  46. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/localstack/sdk/models/get_features_and_services200_response.py +114 -0
  47. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/localstack/sdk/models/get_lambda_runtimes200_response.py +101 -0
  48. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/localstack/sdk/models/get_remote200_response.py +92 -0
  49. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/localstack/sdk/models/get_ses_messages200_response.py +109 -0
  50. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/localstack/sdk/models/get_sns_messages200_response.py +103 -0
  51. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/localstack/sdk/models/get_sns_sms_messages200_response.py +103 -0
  52. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/localstack/sdk/models/get_sns_subscription_token200_response.py +103 -0
  53. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/localstack/sdk/models/init_scripts.py +115 -0
  54. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/localstack/sdk/models/init_scripts_completed.py +94 -0
  55. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/localstack/sdk/models/init_scripts_scripts_inner.py +92 -0
  56. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/localstack/sdk/models/init_scripts_stage.py +111 -0
  57. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/localstack/sdk/models/init_scripts_stage_scripts_inner.py +92 -0
  58. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/localstack/sdk/models/list_remotes200_response.py +96 -0
  59. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/localstack/sdk/models/list_remotes200_response_remotes_inner.py +94 -0
  60. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/localstack/sdk/models/localstack_pods_environment_get200_response.py +94 -0
  61. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/localstack/sdk/models/localstack_stackinfo_get200_response.py +123 -0
  62. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/localstack/sdk/models/manage_session_request.py +108 -0
  63. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/localstack/sdk/models/message.py +118 -0
  64. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/localstack/sdk/models/network_effects_config.py +89 -0
  65. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/localstack/sdk/models/pod_list.py +109 -0
  66. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/localstack/sdk/models/pod_list_cloudpods_inner.py +92 -0
  67. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/localstack/sdk/models/pod_remote.py +101 -0
  68. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/localstack/sdk/models/pod_save_request.py +90 -0
  69. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/localstack/sdk/models/pod_versions.py +98 -0
  70. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/localstack/sdk/models/pod_versions_versions_inner.py +119 -0
  71. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/localstack/sdk/models/receive_message_request.py +102 -0
  72. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/localstack/sdk/models/receive_message_result.py +96 -0
  73. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/localstack/sdk/models/remote_config.py +141 -0
  74. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/localstack/sdk/models/remote_config_one_of.py +88 -0
  75. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/localstack/sdk/models/ses_sent_email.py +127 -0
  76. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/localstack/sdk/models/ses_sent_email_body.py +90 -0
  77. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/localstack/sdk/models/session_info.py +104 -0
  78. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/localstack/sdk/models/sns_subscription_token_error.py +90 -0
  79. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/localstack/sdk/models/state_result.py +92 -0
  80. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/localstack/sdk/models/store_data200_response.py +101 -0
  81. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/localstack/sdk/models/update_config_option200_response.py +103 -0
  82. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/localstack/sdk/models/update_config_option_request.py +111 -0
  83. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/localstack/sdk/py.typed +0 -0
  84. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/localstack/sdk/rest.py +263 -0
  85. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/pyproject.toml +30 -0
  86. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/requirements.txt +4 -0
  87. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/templates/pyproject.mustache +30 -0
  88. localstack_sdk_python-0.0.3/packages/localstack-sdk-generated/templates/rest.mustache +252 -0
  89. {localstack_sdk_python-0.0.2 → localstack_sdk_python-0.0.3}/pyproject.toml +3 -2
  90. localstack_sdk_python-0.0.3/requirements-spec.txt +2 -0
  91. localstack_sdk_python-0.0.3/scripts/create_spec.py +20 -0
  92. localstack_sdk_python-0.0.3/tests/__init__.py +0 -0
  93. localstack_sdk_python-0.0.3/tests/integration/__init__.py +0 -0
  94. localstack_sdk_python-0.0.3/tests/integration/test_aws.py +142 -0
  95. localstack_sdk_python-0.0.3/tests/integration/test_chaos.py +36 -0
  96. localstack_sdk_python-0.0.3/tests/integration/test_pods.py +16 -0
  97. localstack_sdk_python-0.0.3/tests/integration/test_state.py +26 -0
  98. localstack_sdk_python-0.0.3/tests/utils.py +5 -0
  99. localstack_sdk_python-0.0.3/uv.lock +298 -0
  100. localstack_sdk_python-0.0.2/localstack-sdk-python/localstack_sdk_python.egg-info/SOURCES.txt +0 -14
  101. {localstack_sdk_python-0.0.2 → localstack_sdk_python-0.0.3}/LICENSE.txt +0 -0
  102. {localstack_sdk_python-0.0.2 → localstack_sdk_python-0.0.3}/README.md +0 -0
  103. {localstack_sdk_python-0.0.2 → localstack_sdk_python-0.0.3}/localstack-sdk-python/localstack/clients.py +0 -0
  104. {localstack_sdk_python-0.0.2 → localstack_sdk_python-0.0.3}/localstack-sdk-python/localstack/sdk/chaos/__init__.py +0 -0
  105. {localstack_sdk_python-0.0.2 → localstack_sdk_python-0.0.3}/localstack-sdk-python/localstack/sdk/chaos/client.py +0 -0
  106. {localstack_sdk_python-0.0.2 → localstack_sdk_python-0.0.3}/localstack-sdk-python/localstack/sdk/chaos/managers.py +0 -0
  107. {localstack_sdk_python-0.0.2 → localstack_sdk_python-0.0.3}/localstack-sdk-python/localstack/sdk/pods/__init__.py +0 -0
  108. {localstack_sdk_python-0.0.2 → localstack_sdk_python-0.0.3}/localstack-sdk-python/localstack/sdk/pods/client.py +0 -0
  109. {localstack_sdk_python-0.0.2 → localstack_sdk_python-0.0.3}/localstack-sdk-python/localstack_sdk_python.egg-info/dependency_links.txt +0 -0
  110. {localstack_sdk_python-0.0.2 → localstack_sdk_python-0.0.3}/localstack-sdk-python/localstack_sdk_python.egg-info/requires.txt +0 -0
  111. {localstack_sdk_python-0.0.2 → localstack_sdk_python-0.0.3}/localstack-sdk-python/localstack_sdk_python.egg-info/top_level.txt +0 -0
  112. {localstack_sdk_python-0.0.2 → localstack_sdk_python-0.0.3}/setup.cfg +0 -0
@@ -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,66 @@
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/
@@ -0,0 +1,36 @@
1
+ VENV_CMD ?= python3 -m venv
2
+ VENV_DIR ?= .venv
3
+ VENV_BIN = python3 -m venv
4
+ VENV_RUN = . $(VENV_DIR)/bin/activate
5
+ VENV_ACTIVATE = $(VENV_DIR)/bin/activate
6
+ TEST_PATH ?= .
7
+ TEST_EXEC ?= python -m
8
+ PYTEST_LOGLEVEL ?= warning
9
+ PIP_CMD ?= pip
10
+
11
+ install: ## omit dev dependencies
12
+ uv sync --no-dev
13
+
14
+ install-dev: ## create the venv and install
15
+ uv sync
16
+
17
+ build-spec: ## build the entire localstack api spec (openapi.yaml in the root folder)
18
+ $(VENV_RUN); python scripts/create_spec.py
19
+
20
+ clean: ## Clean up the virtual environment
21
+ rm -rf $(VENV_DIR)
22
+ rm -rf dist/
23
+
24
+ clean-generated: ## Cleanup generated code
25
+ rm -rf packages/localstack-sdk-generated/localstack/
26
+
27
+ format:
28
+ ($(VENV_RUN); python -m ruff format --exclude packages .; python -m ruff check --output-format=full --exclude packages --fix .)
29
+
30
+ lint:
31
+ ($(VENV_RUN); python -m ruff check --exclude packages --output-format=full . && python -m ruff format --exclude packages --check .)
32
+
33
+ test: ## Run automated tests
34
+ ($(VENV_RUN); $(TEST_EXEC) pytest --durations=10 --log-cli-level=$(PYTEST_LOGLEVEL) $(PYTEST_ARGS) $(TEST_PATH))
35
+
36
+ .PHONY: clean install install-dev
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: localstack-sdk-python
3
- Version: 0.0.2
3
+ Version: 0.0.3
4
4
  Summary: Python SDK for LocalStack
5
5
  Author-email: LocalStack Team <info@localstack.cloud>
6
6
  Project-URL: Homepage, https://localstack.cloud
@@ -0,0 +1,15 @@
1
+ #!/bin/bash
2
+
3
+ version=$(cat VERSION)
4
+
5
+ docker run --rm -v "${PWD}:/local" openapitools/openapi-generator-cli:v7.9.0 generate \
6
+ -i https://raw.githubusercontent.com/localstack/openapi/refs/heads/main/openapi/emulators/localstack-spec-latest.yml \
7
+ --skip-validate-spec \
8
+ -g python \
9
+ -o /local//packages/localstack-sdk-generated \
10
+ --global-property models,apis,supportingFiles \
11
+ -p packageName=localstack.sdk \
12
+ -p packageVersion=$version \
13
+ --template-dir /local/packages/localstack-sdk-generated/templates \
14
+ --global-property apiTests=false,modelTests=false \
15
+ --global-property apiDocs=false,modelDocs=False
@@ -0,0 +1,3 @@
1
+ from localstack.sdk.aws.client import AWSClient
2
+
3
+ __all__ = ["AWSClient"]
@@ -0,0 +1,68 @@
1
+ import json
2
+
3
+ from localstack.clients import BaseClient
4
+ from localstack.sdk.api.aws_api import AwsApi
5
+ from localstack.sdk.models import Message, SesSentEmail
6
+
7
+
8
+ def _from_sqs_query_to_json(xml_dict: dict) -> list[Message]:
9
+ """
10
+ todo: developer endpoint implements sqs-query protocol. Remove this workaround one we move them to json.
11
+ """
12
+ raw_messages = (
13
+ xml_dict.get("ReceiveMessageResponse", {}).get("ReceiveMessageResult", {}) or {}
14
+ ).get("Message", [])
15
+ if isinstance(raw_messages, dict):
16
+ raw_messages = [raw_messages]
17
+ messages = []
18
+ for msg in raw_messages:
19
+ _attributes = msg.get("Attribute", [])
20
+ attributes = {i["Name"]: i["Value"] for i in _attributes}
21
+ _m = {
22
+ "MessageId": msg.get("MessageId"),
23
+ "ReceiptHandle": msg.get("ReceiptHandle"),
24
+ "MD5OfBody": msg.get("MD5OfBody"),
25
+ "Body": msg.get("Body"),
26
+ "Attributes": attributes,
27
+ }
28
+ m = Message.from_dict(_m)
29
+ messages.append(m)
30
+ return messages
31
+
32
+
33
+ class AWSClient(BaseClient):
34
+ def __init__(self, **kwargs) -> None:
35
+ super().__init__(**kwargs)
36
+ self._client = AwsApi(self._api_client)
37
+
38
+ ########
39
+ # SQS
40
+ ########
41
+
42
+ def list_sqs_messages(self, account_id: str, region: str, queue_name: str) -> list[Message]:
43
+ response = self._client.list_sqs_messages_with_http_info(
44
+ account_id=account_id, region=region, queue_name=queue_name
45
+ )
46
+ return _from_sqs_query_to_json(json.loads(response.raw_data))
47
+
48
+ def list_sqs_messages_from_queue_url(self, queue_url) -> list[Message]:
49
+ response = self._client.list_all_sqs_messages_with_http_info(queue_url=queue_url)
50
+ return _from_sqs_query_to_json(json.loads(response.raw_data))
51
+
52
+ ########
53
+ # SES
54
+ ########
55
+
56
+ def get_ses_messages(
57
+ self, id_filter: str | None = None, email_filter: str | None = None
58
+ ) -> list[SesSentEmail]:
59
+ response = self._client.get_ses_messages(id=id_filter, email=email_filter)
60
+ return response.messages
61
+
62
+ def discard_ses_messages(self, id_filter: str | None = None) -> None:
63
+ return self._client.discard_ses_messages(id=id_filter)
64
+
65
+
66
+ def get_default(**args) -> AwsApi:
67
+ """Return a client with a default configuration"""
68
+ return AwsApi(args)
@@ -0,0 +1,3 @@
1
+ from localstack.sdk.state.client import StateClient
2
+
3
+ __all__ = ["StateClient"]
@@ -0,0 +1,11 @@
1
+ from localstack.clients import BaseClient
2
+ from localstack.sdk.api import StateApi
3
+
4
+
5
+ class StateClient(BaseClient):
6
+ def __init__(self, **args) -> None:
7
+ super().__init__(**args)
8
+ self._client = StateApi(self._api_client)
9
+
10
+ def reset_state(self) -> None:
11
+ self._client.localstack_state_reset_post_0()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: localstack-sdk-python
3
- Version: 0.0.2
3
+ Version: 0.0.3
4
4
  Summary: Python SDK for LocalStack
5
5
  Author-email: LocalStack Team <info@localstack.cloud>
6
6
  Project-URL: Homepage, https://localstack.cloud
@@ -0,0 +1,109 @@
1
+ .gitignore
2
+ LICENSE.txt
3
+ Makefile
4
+ README.md
5
+ pyproject.toml
6
+ requirements-spec.txt
7
+ uv.lock
8
+ .github/workflows/test.yml
9
+ bin/generate.sh
10
+ localstack-sdk-python/localstack/clients.py
11
+ localstack-sdk-python/localstack/sdk/aws/__init__.py
12
+ localstack-sdk-python/localstack/sdk/aws/client.py
13
+ localstack-sdk-python/localstack/sdk/chaos/__init__.py
14
+ localstack-sdk-python/localstack/sdk/chaos/client.py
15
+ localstack-sdk-python/localstack/sdk/chaos/managers.py
16
+ localstack-sdk-python/localstack/sdk/pods/__init__.py
17
+ localstack-sdk-python/localstack/sdk/pods/client.py
18
+ localstack-sdk-python/localstack/sdk/state/__init__.py
19
+ localstack-sdk-python/localstack/sdk/state/client.py
20
+ localstack-sdk-python/localstack_sdk_python.egg-info/PKG-INFO
21
+ localstack-sdk-python/localstack_sdk_python.egg-info/SOURCES.txt
22
+ localstack-sdk-python/localstack_sdk_python.egg-info/dependency_links.txt
23
+ localstack-sdk-python/localstack_sdk_python.egg-info/requires.txt
24
+ localstack-sdk-python/localstack_sdk_python.egg-info/top_level.txt
25
+ packages/localstack-sdk-generated/.gitignore
26
+ packages/localstack-sdk-generated/.openapi-generator-ignore
27
+ packages/localstack-sdk-generated/pyproject.toml
28
+ packages/localstack-sdk-generated/requirements.txt
29
+ packages/localstack-sdk-generated/.openapi-generator/FILES
30
+ packages/localstack-sdk-generated/.openapi-generator/VERSION
31
+ packages/localstack-sdk-generated/localstack/sdk/api_client.py
32
+ packages/localstack-sdk-generated/localstack/sdk/api_response.py
33
+ packages/localstack-sdk-generated/localstack/sdk/configuration.py
34
+ packages/localstack-sdk-generated/localstack/sdk/exceptions.py
35
+ packages/localstack-sdk-generated/localstack/sdk/py.typed
36
+ packages/localstack-sdk-generated/localstack/sdk/rest.py
37
+ packages/localstack-sdk-generated/localstack/sdk/api/__init__.py
38
+ packages/localstack-sdk-generated/localstack/sdk/api/aws_api.py
39
+ packages/localstack-sdk-generated/localstack/sdk/api/chaos_api.py
40
+ packages/localstack-sdk-generated/localstack/sdk/api/default_api.py
41
+ packages/localstack-sdk-generated/localstack/sdk/api/localstack_api.py
42
+ packages/localstack-sdk-generated/localstack/sdk/api/pods_api.py
43
+ packages/localstack-sdk-generated/localstack/sdk/api/pro_api.py
44
+ packages/localstack-sdk-generated/localstack/sdk/api/state_api.py
45
+ packages/localstack-sdk-generated/localstack/sdk/models/__init__.py
46
+ packages/localstack-sdk-generated/localstack/sdk/models/aws_pinpoint_application_id_reference_id_get200_response.py
47
+ packages/localstack-sdk-generated/localstack/sdk/models/cloud_watch_metrics.py
48
+ packages/localstack-sdk-generated/localstack/sdk/models/cloud_watch_metrics_metrics_inner.py
49
+ packages/localstack-sdk-generated/localstack/sdk/models/cloud_watch_metrics_metrics_inner_d_inner.py
50
+ packages/localstack-sdk-generated/localstack/sdk/models/cloud_watch_metrics_metrics_inner_d_inner_v.py
51
+ packages/localstack-sdk-generated/localstack/sdk/models/cloud_watch_metrics_metrics_inner_t.py
52
+ packages/localstack-sdk-generated/localstack/sdk/models/cloud_watch_metrics_metrics_inner_v.py
53
+ packages/localstack-sdk-generated/localstack/sdk/models/create_remote_request.py
54
+ packages/localstack-sdk-generated/localstack/sdk/models/delete_ddb_expired_items200_response.py
55
+ packages/localstack-sdk-generated/localstack/sdk/models/fault_rule.py
56
+ packages/localstack-sdk-generated/localstack/sdk/models/fault_rule_error.py
57
+ packages/localstack-sdk-generated/localstack/sdk/models/get_diagnostics200_response.py
58
+ packages/localstack-sdk-generated/localstack/sdk/models/get_diagnostics200_response_logs.py
59
+ packages/localstack-sdk-generated/localstack/sdk/models/get_diagnostics200_response_version.py
60
+ packages/localstack-sdk-generated/localstack/sdk/models/get_diagnostics200_response_version_host.py
61
+ packages/localstack-sdk-generated/localstack/sdk/models/get_diagnostics200_response_version_image_version.py
62
+ packages/localstack-sdk-generated/localstack/sdk/models/get_diagnostics200_response_version_localstack_version.py
63
+ packages/localstack-sdk-generated/localstack/sdk/models/get_features_and_services200_response.py
64
+ packages/localstack-sdk-generated/localstack/sdk/models/get_lambda_runtimes200_response.py
65
+ packages/localstack-sdk-generated/localstack/sdk/models/get_remote200_response.py
66
+ packages/localstack-sdk-generated/localstack/sdk/models/get_ses_messages200_response.py
67
+ packages/localstack-sdk-generated/localstack/sdk/models/get_sns_messages200_response.py
68
+ packages/localstack-sdk-generated/localstack/sdk/models/get_sns_sms_messages200_response.py
69
+ packages/localstack-sdk-generated/localstack/sdk/models/get_sns_subscription_token200_response.py
70
+ packages/localstack-sdk-generated/localstack/sdk/models/init_scripts.py
71
+ packages/localstack-sdk-generated/localstack/sdk/models/init_scripts_completed.py
72
+ packages/localstack-sdk-generated/localstack/sdk/models/init_scripts_scripts_inner.py
73
+ packages/localstack-sdk-generated/localstack/sdk/models/init_scripts_stage.py
74
+ packages/localstack-sdk-generated/localstack/sdk/models/init_scripts_stage_scripts_inner.py
75
+ packages/localstack-sdk-generated/localstack/sdk/models/list_remotes200_response.py
76
+ packages/localstack-sdk-generated/localstack/sdk/models/list_remotes200_response_remotes_inner.py
77
+ packages/localstack-sdk-generated/localstack/sdk/models/localstack_pods_environment_get200_response.py
78
+ packages/localstack-sdk-generated/localstack/sdk/models/localstack_stackinfo_get200_response.py
79
+ packages/localstack-sdk-generated/localstack/sdk/models/manage_session_request.py
80
+ packages/localstack-sdk-generated/localstack/sdk/models/message.py
81
+ packages/localstack-sdk-generated/localstack/sdk/models/network_effects_config.py
82
+ packages/localstack-sdk-generated/localstack/sdk/models/pod_list.py
83
+ packages/localstack-sdk-generated/localstack/sdk/models/pod_list_cloudpods_inner.py
84
+ packages/localstack-sdk-generated/localstack/sdk/models/pod_remote.py
85
+ packages/localstack-sdk-generated/localstack/sdk/models/pod_save_request.py
86
+ packages/localstack-sdk-generated/localstack/sdk/models/pod_versions.py
87
+ packages/localstack-sdk-generated/localstack/sdk/models/pod_versions_versions_inner.py
88
+ packages/localstack-sdk-generated/localstack/sdk/models/receive_message_request.py
89
+ packages/localstack-sdk-generated/localstack/sdk/models/receive_message_result.py
90
+ packages/localstack-sdk-generated/localstack/sdk/models/remote_config.py
91
+ packages/localstack-sdk-generated/localstack/sdk/models/remote_config_one_of.py
92
+ packages/localstack-sdk-generated/localstack/sdk/models/ses_sent_email.py
93
+ packages/localstack-sdk-generated/localstack/sdk/models/ses_sent_email_body.py
94
+ packages/localstack-sdk-generated/localstack/sdk/models/session_info.py
95
+ packages/localstack-sdk-generated/localstack/sdk/models/sns_subscription_token_error.py
96
+ packages/localstack-sdk-generated/localstack/sdk/models/state_result.py
97
+ packages/localstack-sdk-generated/localstack/sdk/models/store_data200_response.py
98
+ packages/localstack-sdk-generated/localstack/sdk/models/update_config_option200_response.py
99
+ packages/localstack-sdk-generated/localstack/sdk/models/update_config_option_request.py
100
+ packages/localstack-sdk-generated/templates/pyproject.mustache
101
+ packages/localstack-sdk-generated/templates/rest.mustache
102
+ scripts/create_spec.py
103
+ tests/__init__.py
104
+ tests/utils.py
105
+ tests/integration/__init__.py
106
+ tests/integration/test_aws.py
107
+ tests/integration/test_chaos.py
108
+ tests/integration/test_pods.py
109
+ tests/integration/test_state.py
@@ -0,0 +1,66 @@
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+
6
+ # C extensions
7
+ *.so
8
+
9
+ # Distribution / packaging
10
+ .Python
11
+ env/
12
+ build/
13
+ develop-eggs/
14
+ dist/
15
+ downloads/
16
+ eggs/
17
+ .eggs/
18
+ lib/
19
+ lib64/
20
+ parts/
21
+ sdist/
22
+ var/
23
+ *.egg-info/
24
+ .installed.cfg
25
+ *.egg
26
+
27
+ # PyInstaller
28
+ # Usually these files are written by a python script from a template
29
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
30
+ *.manifest
31
+ *.spec
32
+
33
+ # Installer logs
34
+ pip-log.txt
35
+ pip-delete-this-directory.txt
36
+
37
+ # Unit test / coverage reports
38
+ htmlcov/
39
+ .tox/
40
+ .coverage
41
+ .coverage.*
42
+ .cache
43
+ nosetests.xml
44
+ coverage.xml
45
+ *,cover
46
+ .hypothesis/
47
+ venv/
48
+ .venv/
49
+ .python-version
50
+ .pytest_cache
51
+
52
+ # Translations
53
+ *.mo
54
+ *.pot
55
+
56
+ # Django stuff:
57
+ *.log
58
+
59
+ # Sphinx documentation
60
+ docs/_build/
61
+
62
+ # PyBuilder
63
+ target/
64
+
65
+ #Ipython Notebook
66
+ .ipynb_checkpoints
@@ -0,0 +1,71 @@
1
+ .gitignore
2
+ localstack/sdk/api/__init__.py
3
+ localstack/sdk/api/aws_api.py
4
+ localstack/sdk/api/chaos_api.py
5
+ localstack/sdk/api/default_api.py
6
+ localstack/sdk/api/localstack_api.py
7
+ localstack/sdk/api/pods_api.py
8
+ localstack/sdk/api/pro_api.py
9
+ localstack/sdk/api/state_api.py
10
+ localstack/sdk/api_client.py
11
+ localstack/sdk/api_response.py
12
+ localstack/sdk/configuration.py
13
+ localstack/sdk/exceptions.py
14
+ localstack/sdk/models/__init__.py
15
+ localstack/sdk/models/aws_pinpoint_application_id_reference_id_get200_response.py
16
+ localstack/sdk/models/cloud_watch_metrics.py
17
+ localstack/sdk/models/cloud_watch_metrics_metrics_inner.py
18
+ localstack/sdk/models/cloud_watch_metrics_metrics_inner_d_inner.py
19
+ localstack/sdk/models/cloud_watch_metrics_metrics_inner_d_inner_v.py
20
+ localstack/sdk/models/cloud_watch_metrics_metrics_inner_t.py
21
+ localstack/sdk/models/cloud_watch_metrics_metrics_inner_v.py
22
+ localstack/sdk/models/create_remote_request.py
23
+ localstack/sdk/models/delete_ddb_expired_items200_response.py
24
+ localstack/sdk/models/fault_rule.py
25
+ localstack/sdk/models/fault_rule_error.py
26
+ localstack/sdk/models/get_diagnostics200_response.py
27
+ localstack/sdk/models/get_diagnostics200_response_logs.py
28
+ localstack/sdk/models/get_diagnostics200_response_version.py
29
+ localstack/sdk/models/get_diagnostics200_response_version_host.py
30
+ localstack/sdk/models/get_diagnostics200_response_version_image_version.py
31
+ localstack/sdk/models/get_diagnostics200_response_version_localstack_version.py
32
+ localstack/sdk/models/get_features_and_services200_response.py
33
+ localstack/sdk/models/get_lambda_runtimes200_response.py
34
+ localstack/sdk/models/get_ses_messages200_response.py
35
+ localstack/sdk/models/get_sns_messages200_response.py
36
+ localstack/sdk/models/get_sns_sms_messages200_response.py
37
+ localstack/sdk/models/get_sns_subscription_token200_response.py
38
+ localstack/sdk/models/init_scripts.py
39
+ localstack/sdk/models/init_scripts_completed.py
40
+ localstack/sdk/models/init_scripts_scripts_inner.py
41
+ localstack/sdk/models/init_scripts_stage.py
42
+ localstack/sdk/models/init_scripts_stage_scripts_inner.py
43
+ localstack/sdk/models/list_remotes200_response.py
44
+ localstack/sdk/models/localstack_pods_environment_get200_response.py
45
+ localstack/sdk/models/localstack_stackinfo_get200_response.py
46
+ localstack/sdk/models/manage_session_request.py
47
+ localstack/sdk/models/message.py
48
+ localstack/sdk/models/network_effects_config.py
49
+ localstack/sdk/models/pod_list.py
50
+ localstack/sdk/models/pod_list_cloudpods_inner.py
51
+ localstack/sdk/models/pod_remote.py
52
+ localstack/sdk/models/pod_save_request.py
53
+ localstack/sdk/models/pod_versions.py
54
+ localstack/sdk/models/pod_versions_versions_inner.py
55
+ localstack/sdk/models/receive_message_request.py
56
+ localstack/sdk/models/receive_message_result.py
57
+ localstack/sdk/models/remote_config.py
58
+ localstack/sdk/models/remote_config_one_of.py
59
+ localstack/sdk/models/ses_destination.py
60
+ localstack/sdk/models/ses_sent_email.py
61
+ localstack/sdk/models/ses_sent_email_body.py
62
+ localstack/sdk/models/session_info.py
63
+ localstack/sdk/models/sns_subscription_token_error.py
64
+ localstack/sdk/models/state_result.py
65
+ localstack/sdk/models/store_data200_response.py
66
+ localstack/sdk/models/update_config_option200_response.py
67
+ localstack/sdk/models/update_config_option_request.py
68
+ localstack/sdk/py.typed
69
+ localstack/sdk/rest.py
70
+ pyproject.toml
71
+ requirements.txt
@@ -0,0 +1,14 @@
1
+ # OpenAPI Generator Ignore
2
+ # Generated by openapi-generator https://github.com/openapitools/openapi-generator
3
+
4
+ .github/workflows/python.yml
5
+ .gitlab-ci.yml
6
+ .travis.yml
7
+ git_push.sh
8
+ README.md
9
+ tox.ini
10
+ localstack/sdk/__init__.py
11
+ localstack/__init__.py
12
+ setup.py
13
+ setup.cfg
14
+ test-requirements.txt
@@ -0,0 +1,11 @@
1
+ # flake8: noqa
2
+
3
+ # import apis into api package
4
+ from localstack.sdk.api.aws_api import AwsApi
5
+ from localstack.sdk.api.chaos_api import ChaosApi
6
+ from localstack.sdk.api.default_api import DefaultApi
7
+ from localstack.sdk.api.localstack_api import LocalstackApi
8
+ from localstack.sdk.api.pods_api import PodsApi
9
+ from localstack.sdk.api.pro_api import ProApi
10
+ from localstack.sdk.api.state_api import StateApi
11
+