Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
mypy-boto3-cloudformation
Advanced tools
Type annotations for boto3 CloudFormation 1.35.64 service generated with mypy-boto3-builder 8.3.0
Type annotations for boto3 CloudFormation 1.35.64 compatible with VSCode, PyCharm, Emacs, Sublime Text, mypy, pyright and other tools.
Generated by mypy-boto3-builder 8.3.0.
More information can be found on boto3-stubs page and in mypy-boto3-cloudformation docs.
See how it helps you find and fix potential bugs:
Add
AWS Boto3
extension to your VSCode and run AWS boto3: Quick Start
command.
Click Modify
and select boto3 common
and CloudFormation
.
Install boto3-stubs
for CloudFormation
service.
# install with boto3 type annotations
python -m pip install 'boto3-stubs[cloudformation]'
# Lite version does not provide session.client/resource overloads
# it is more RAM-friendly, but requires explicit type annotations
python -m pip install 'boto3-stubs-lite[cloudformation]'
# standalone installation
python -m pip install mypy-boto3-cloudformation
Installing mypy-boto3-cloudformation
from the conda-forge
channel can be
achieved by adding conda-forge
to your channels with:
conda config --add channels conda-forge
conda config --set channel_priority strict
Once the conda-forge
channel has been enabled, mypy-boto3-cloudformation
can be installed with:
conda install mypy-boto3-cloudformation
It is possible to list all of the versions of mypy-boto3-cloudformation
available on your platform with:
conda search mypy-boto3-cloudformation --channel conda-forge
python -m pip uninstall -y mypy-boto3-cloudformation
Pylance
as your Python Language Serverboto3-stubs[cloudformation]
in your environment:python -m pip install 'boto3-stubs[cloudformation]'
Both type checking and code completion should now work. No explicit type
annotations required, write your boto3
code as usual.
⚠️ Due to slow PyCharm performance on
Literal
overloads (issue PY-40997), it is recommended to use boto3-stubs-lite until the issue is resolved.
⚠️ If you experience slow performance and high CPU usage, try to disable
PyCharm
type checker and use mypy or pyright instead.
⚠️ To continue using
PyCharm
type checker, you can try to replaceboto3-stubs
with boto3-stubs-lite:
pip uninstall boto3-stubs
pip install boto3-stubs-lite
Install boto3-stubs[cloudformation]
in your environment:
python -m pip install 'boto3-stubs[cloudformation]'
Both type checking and code completion should now work.
boto3-stubs
with services you use in your environment:python -m pip install 'boto3-stubs[cloudformation]'
(use-package lsp-pyright
:ensure t
:hook (python-mode . (lambda ()
(require 'lsp-pyright)
(lsp))) ; or lsp-deferred
:init (when (executable-find "python3")
(setq lsp-pyright-python-executable-cmd "python3"))
)
boto3-stubs
Type checking should now work. No explicit type annotations required, write
your boto3
code as usual.
boto3-stubs[cloudformation]
with services you use in your
environment:python -m pip install 'boto3-stubs[cloudformation]'
Type checking should now work. No explicit type annotations required, write
your boto3
code as usual.
Not tested, but as long as your IDE supports mypy
or pyright
, everything
should work.
mypy
: python -m pip install mypy
boto3-stubs[cloudformation]
in your environment:python -m pip install 'boto3-stubs[cloudformation]'
Type checking should now work. No explicit type annotations required, write
your boto3
code as usual.
pyright
: npm i -g pyright
boto3-stubs[cloudformation]
in your environment:python -m pip install 'boto3-stubs[cloudformation]'
Optionally, you can install boto3-stubs
to typings
directory.
Type checking should now work. No explicit type annotations required, write
your boto3
code as usual.
CloudFormationClient
provides annotations for
boto3.client("cloudformation")
.
from boto3.session import Session
from mypy_boto3_cloudformation import CloudFormationClient
client: CloudFormationClient = Session().client("cloudformation")
# now client usage is checked by mypy and IDE should provide code completion
mypy_boto3_cloudformation.paginator
module contains type annotations for all
paginators.
from boto3.session import Session
from mypy_boto3_cloudformation import CloudFormationClient
from mypy_boto3_cloudformation.paginator import (
DescribeAccountLimitsPaginator,
DescribeChangeSetPaginator,
DescribeStackEventsPaginator,
DescribeStacksPaginator,
ListChangeSetsPaginator,
ListExportsPaginator,
ListGeneratedTemplatesPaginator,
ListImportsPaginator,
ListResourceScanRelatedResourcesPaginator,
ListResourceScanResourcesPaginator,
ListResourceScansPaginator,
ListStackInstancesPaginator,
ListStackResourcesPaginator,
ListStackSetOperationResultsPaginator,
ListStackSetOperationsPaginator,
ListStackSetsPaginator,
ListStacksPaginator,
ListTypesPaginator,
)
client: CloudFormationClient = Session().client("cloudformation")
# Explicit type annotations are optional here
# Types should be correctly discovered by mypy and IDEs
describe_account_limits_paginator: DescribeAccountLimitsPaginator = client.get_paginator(
"describe_account_limits"
)
describe_change_set_paginator: DescribeChangeSetPaginator = client.get_paginator(
"describe_change_set"
)
describe_stack_events_paginator: DescribeStackEventsPaginator = client.get_paginator(
"describe_stack_events"
)
describe_stacks_paginator: DescribeStacksPaginator = client.get_paginator("describe_stacks")
list_change_sets_paginator: ListChangeSetsPaginator = client.get_paginator("list_change_sets")
list_exports_paginator: ListExportsPaginator = client.get_paginator("list_exports")
list_generated_templates_paginator: ListGeneratedTemplatesPaginator = client.get_paginator(
"list_generated_templates"
)
list_imports_paginator: ListImportsPaginator = client.get_paginator("list_imports")
list_resource_scan_related_resources_paginator: ListResourceScanRelatedResourcesPaginator = (
client.get_paginator("list_resource_scan_related_resources")
)
list_resource_scan_resources_paginator: ListResourceScanResourcesPaginator = client.get_paginator(
"list_resource_scan_resources"
)
list_resource_scans_paginator: ListResourceScansPaginator = client.get_paginator(
"list_resource_scans"
)
list_stack_instances_paginator: ListStackInstancesPaginator = client.get_paginator(
"list_stack_instances"
)
list_stack_resources_paginator: ListStackResourcesPaginator = client.get_paginator(
"list_stack_resources"
)
list_stack_set_operation_results_paginator: ListStackSetOperationResultsPaginator = (
client.get_paginator("list_stack_set_operation_results")
)
list_stack_set_operations_paginator: ListStackSetOperationsPaginator = client.get_paginator(
"list_stack_set_operations"
)
list_stack_sets_paginator: ListStackSetsPaginator = client.get_paginator("list_stack_sets")
list_stacks_paginator: ListStacksPaginator = client.get_paginator("list_stacks")
list_types_paginator: ListTypesPaginator = client.get_paginator("list_types")
mypy_boto3_cloudformation.waiter
module contains type annotations for all
waiters.
from boto3.session import Session
from mypy_boto3_cloudformation import CloudFormationClient
from mypy_boto3_cloudformation.waiter import (
ChangeSetCreateCompleteWaiter,
StackCreateCompleteWaiter,
StackDeleteCompleteWaiter,
StackExistsWaiter,
StackImportCompleteWaiter,
StackRollbackCompleteWaiter,
StackUpdateCompleteWaiter,
TypeRegistrationCompleteWaiter,
)
client: CloudFormationClient = Session().client("cloudformation")
# Explicit type annotations are optional here
# Types should be correctly discovered by mypy and IDEs
change_set_create_complete_waiter: ChangeSetCreateCompleteWaiter = client.get_waiter(
"change_set_create_complete"
)
stack_create_complete_waiter: StackCreateCompleteWaiter = client.get_waiter("stack_create_complete")
stack_delete_complete_waiter: StackDeleteCompleteWaiter = client.get_waiter("stack_delete_complete")
stack_exists_waiter: StackExistsWaiter = client.get_waiter("stack_exists")
stack_import_complete_waiter: StackImportCompleteWaiter = client.get_waiter("stack_import_complete")
stack_rollback_complete_waiter: StackRollbackCompleteWaiter = client.get_waiter(
"stack_rollback_complete"
)
stack_update_complete_waiter: StackUpdateCompleteWaiter = client.get_waiter("stack_update_complete")
type_registration_complete_waiter: TypeRegistrationCompleteWaiter = client.get_waiter(
"type_registration_complete"
)
CloudFormationServiceResource
provides annotations for
boto3.resource("cloudformation")
.
from boto3.session import Session
from mypy_boto3_cloudformation import CloudFormationServiceResource
resource: CloudFormationServiceResource = Session().resource("cloudformation")
# now resource usage is checked by mypy and IDE should provide code completion
mypy_boto3_cloudformation.service_resource
module contains type annotations
for all resources.
from boto3.session import Session
from mypy_boto3_cloudformation import CloudFormationServiceResource
from mypy_boto3_cloudformation.service_resource import (
Event,
Stack,
StackResource,
StackResourceSummary,
)
resource: CloudFormationServiceResource = Session().resource("cloudformation")
# Explicit type annotations are optional here
# Type should be correctly discovered by mypy and IDEs
my_event: Event = resource.Event(...)
my_stack: Stack = resource.Stack(...)
my_stack_resource: StackResource = resource.StackResource(...)
my_stack_resource_summary: StackResourceSummary = resource.StackResourceSummary(...)
mypy_boto3_cloudformation.service_resource
module contains type annotations
for all CloudFormationServiceResource
collections.
from boto3.session import Session
from mypy_boto3_cloudformation import CloudFormationServiceResource
from mypy_boto3_cloudformation.service_resource import ServiceResourceStacksCollection
resource: CloudFormationServiceResource = Session().resource("cloudformation")
# Explicit type annotations are optional here
# Type should be correctly discovered by mypy and IDEs
stacks: cloudformation_resources.ServiceResourceStacksCollection = resource.stacks
mypy_boto3_cloudformation.literals
module contains literals extracted from
shapes that can be used in user code for type checking.
Full list of CloudFormation
Literals can be found in
docs.
from mypy_boto3_cloudformation.literals import AccountFilterTypeType
def check_value(value: AccountFilterTypeType) -> bool: ...
mypy_boto3_cloudformation.type_defs
module contains structures and shapes
assembled to typed dictionaries and unions for additional type checking.
Full list of CloudFormation
TypeDefs can be found in
docs.
from mypy_boto3_cloudformation.type_defs import AccountGateResultTypeDef
def get_value() -> AccountGateResultTypeDef:
return {...}
Fully automated
mypy-boto3-builder carefully
generates type annotations for each service, patiently waiting for boto3
updates. It delivers drop-in type annotations for you and makes sure that:
boto3
services are covered.boto3
service gets valid type
annotations extracted from botocore
schemas.boto3
, botocore
, aiobotocore
and aioboto3
librariesmypy
, pyright
, VSCode
, PyCharm
, Sublime Text
and Emacs
compatibilityClient
, ServiceResource
, Resource
, Waiter
Paginator
type
annotations for each serviceTypeDefs
for each serviceLiterals
for each serviceboto3.client
and boto3.resource
callssession.client
and session.resource
callsclient.get_waiter
and client.get_paginator
callsServiceResource
and Resource
collectionsaiobotocore.Session.create_client
callsBuilder changelog can be found in Releases.
mypy-boto3-cloudformation
version is the same as related boto3
version and
follows PEP 440 format.
All services type annotations can be found in boto3 docs
This package is auto-generated. Please reports any bugs or request new features in mypy-boto3-builder repository.
FAQs
Type annotations for boto3 CloudFormation 1.35.64 service generated with mypy-boto3-builder 8.3.0
We found that mypy-boto3-cloudformation demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.