%global _empty_manifest_terminate_build 0
Name: python-mypy-boto3-ds
Version: 1.26.0.post1
Release: 1
Summary: Type annotations for boto3.DirectoryService 1.26.0 service generated with mypy-boto3-builder 7.11.10
License: MIT License
URL: https://github.com/youtype/mypy_boto3_builder
Source0: https://mirrors.nju.edu.cn/pypi/web/packages/c3/25/ccea8172dc8bd0f7cca872c54bf10ce53780540853bd88cf3106bf3cd891/mypy-boto3-ds-1.26.0.post1.tar.gz
BuildArch: noarch
Requires: python3-typing-extensions
%description
# mypy-boto3-ds
[![PyPI - mypy-boto3-ds](https://img.shields.io/pypi/v/mypy-boto3-ds.svg?color=blue)](https://pypi.org/project/mypy-boto3-ds)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/mypy-boto3-ds.svg?color=blue)](https://pypi.org/project/mypy-boto3-ds)
[![Docs](https://img.shields.io/readthedocs/mypy-boto3-builder.svg?color=blue)](https://mypy-boto3-builder.readthedocs.io/)
[![PyPI - Downloads](https://img.shields.io/pypi/dm/mypy-boto3-ds?color=blue)](https://pypistats.org/packages/mypy-boto3-ds)
![boto3.typed](https://github.com/youtype/mypy_boto3_builder/raw/main/logo.png)
Type annotations for
[boto3.DirectoryService 1.26.0](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/ds.html#DirectoryService)
service compatible with [VSCode](https://code.visualstudio.com/),
[PyCharm](https://www.jetbrains.com/pycharm/),
[Emacs](https://www.gnu.org/software/emacs/),
[Sublime Text](https://www.sublimetext.com/),
[mypy](https://github.com/python/mypy),
[pyright](https://github.com/microsoft/pyright) and other tools.
Generated by
[mypy-boto3-builder 7.11.10](https://github.com/youtype/mypy_boto3_builder).
More information can be found on
[boto3-stubs](https://pypi.org/project/boto3-stubs/) page and in
[mypy-boto3-ds docs](https://youtype.github.io/boto3_stubs_docs/mypy_boto3_ds/).
See how it helps to find and fix potential bugs:
![boto3-stubs demo](https://github.com/youtype/mypy_boto3_builder/raw/main/demo.gif)
- [mypy-boto3-ds](#mypy-boto3-ds)
- [How to install](#how-to-install)
- [VSCode extension](#vscode-extension)
- [From PyPI with pip](#from-pypi-with-pip)
- [How to uninstall](#how-to-uninstall)
- [Usage](#usage)
- [VSCode](#vscode)
- [PyCharm](#pycharm)
- [Emacs](#emacs)
- [Sublime Text](#sublime-text)
- [Other IDEs](#other-ides)
- [mypy](#mypy)
- [pyright](#pyright)
- [Explicit type annotations](#explicit-type-annotations)
- [Client annotations](#client-annotations)
- [Paginators annotations](#paginators-annotations)
- [Literals](#literals)
- [Typed dictionaries](#typed-dictionaries)
- [How it works](#how-it-works)
- [What's new](#what's-new)
- [Implemented features](#implemented-features)
- [Latest changes](#latest-changes)
- [Versioning](#versioning)
- [Thank you](#thank-you)
- [Documentation](#documentation)
- [Support and contributing](#support-and-contributing)
## How to install
### VSCode extension
Add
[AWS Boto3](https://marketplace.visualstudio.com/items?itemName=Boto3typed.boto3-ide)
extension to your VSCode and run `AWS boto3: Quick Start` command.
Click `Modify` and select `boto3 common` and `DirectoryService`.
### From PyPI with pip
Install `boto3-stubs` for `DirectoryService` service.
```bash
# install with boto3 type annotations
python -m pip install 'boto3-stubs[ds]'
# 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[ds]'
# standalone installation
python -m pip install mypy-boto3-ds
```
## How to uninstall
```bash
python -m pip uninstall -y mypy-boto3-ds
```
## Usage
### VSCode
- Install
[Python extension](https://marketplace.visualstudio.com/items?itemName=ms-python.python)
- Install
[Pylance extension](https://marketplace.visualstudio.com/items?itemName=ms-python.vscode-pylance)
- Set `Pylance` as your Python Language Server
- Install `boto3-stubs[ds]` in your environment:
```bash
python -m pip install 'boto3-stubs[ds]'
```
Both type checking and code completion should now work. No explicit type
annotations required, write your `boto3` code as usual.
### PyCharm
Install `boto3-stubs-lite[ds]` in your environment:
```bash
python -m pip install 'boto3-stubs-lite[ds]'`
```
Both type checking and code completion should now work. Explicit type
annotations **are required**.
Use `boto3-stubs` package instead for implicit type discovery.
### Emacs
- Install `boto3-stubs` with services you use in your environment:
```bash
python -m pip install 'boto3-stubs[ds]'
```
- Install [use-package](https://github.com/jwiegley/use-package),
[lsp](https://github.com/emacs-lsp/lsp-mode/),
[company](https://github.com/company-mode/company-mode) and
[flycheck](https://github.com/flycheck/flycheck) packages
- Install [lsp-pyright](https://github.com/emacs-lsp/lsp-pyright) package
```elisp
(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"))
)
```
- Make sure emacs uses the environment where you have installed `boto3-stubs`
Type checking should now work. No explicit type annotations required, write
your `boto3` code as usual.
### Sublime Text
- Install `boto3-stubs[ds]` with services you use in your environment:
```bash
python -m pip install 'boto3-stubs[ds]'
```
- Install [LSP-pyright](https://github.com/sublimelsp/LSP-pyright) package
Type checking should now work. No explicit type annotations required, write
your `boto3` code as usual.
### Other IDEs
Not tested, but as long as your IDE supports `mypy` or `pyright`, everything
should work.
### mypy
- Install `mypy`: `python -m pip install mypy`
- Install `boto3-stubs[ds]` in your environment:
```bash
python -m pip install 'boto3-stubs[ds]'`
```
Type checking should now work. No explicit type annotations required, write
your `boto3` code as usual.
### pyright
- Install `pyright`: `npm i -g pyright`
- Install `boto3-stubs[ds]` in your environment:
```bash
python -m pip install 'boto3-stubs[ds]'
```
Optionally, you can install `boto3-stubs` to `typings` folder.
Type checking should now work. No explicit type annotations required, write
your `boto3` code as usual.
## Explicit type annotations
### Client annotations
`DirectoryServiceClient` provides annotations for `boto3.client("ds")`.
```python
from boto3.session import Session
from mypy_boto3_ds import DirectoryServiceClient
client: DirectoryServiceClient = Session().client("ds")
# now client usage is checked by mypy and IDE should provide code completion
```
### Paginators annotations
`mypy_boto3_ds.paginator` module contains type annotations for all paginators.
```python
from boto3.session import Session
from mypy_boto3_ds import DirectoryServiceClient
from mypy_boto3_ds.paginator import (
DescribeClientAuthenticationSettingsPaginator,
DescribeDirectoriesPaginator,
DescribeDomainControllersPaginator,
DescribeLDAPSSettingsPaginator,
DescribeRegionsPaginator,
DescribeSharedDirectoriesPaginator,
DescribeSnapshotsPaginator,
DescribeTrustsPaginator,
DescribeUpdateDirectoryPaginator,
ListCertificatesPaginator,
ListIpRoutesPaginator,
ListLogSubscriptionsPaginator,
ListSchemaExtensionsPaginator,
ListTagsForResourcePaginator,
)
client: DirectoryServiceClient = Session().client("ds")
# Explicit type annotations are optional here
# Types should be correctly discovered by mypy and IDEs
describe_client_authentication_settings_paginator: DescribeClientAuthenticationSettingsPaginator = (
client.get_paginator("describe_client_authentication_settings")
)
describe_directories_paginator: DescribeDirectoriesPaginator = client.get_paginator(
"describe_directories"
)
describe_domain_controllers_paginator: DescribeDomainControllersPaginator = client.get_paginator(
"describe_domain_controllers"
)
describe_ldaps_settings_paginator: DescribeLDAPSSettingsPaginator = client.get_paginator(
"describe_ldaps_settings"
)
describe_regions_paginator: DescribeRegionsPaginator = client.get_paginator("describe_regions")
describe_shared_directories_paginator: DescribeSharedDirectoriesPaginator = client.get_paginator(
"describe_shared_directories"
)
describe_snapshots_paginator: DescribeSnapshotsPaginator = client.get_paginator(
"describe_snapshots"
)
describe_trusts_paginator: DescribeTrustsPaginator = client.get_paginator("describe_trusts")
describe_update_directory_paginator: DescribeUpdateDirectoryPaginator = client.get_paginator(
"describe_update_directory"
)
list_certificates_paginator: ListCertificatesPaginator = client.get_paginator("list_certificates")
list_ip_routes_paginator: ListIpRoutesPaginator = client.get_paginator("list_ip_routes")
list_log_subscriptions_paginator: ListLogSubscriptionsPaginator = client.get_paginator(
"list_log_subscriptions"
)
list_schema_extensions_paginator: ListSchemaExtensionsPaginator = client.get_paginator(
"list_schema_extensions"
)
list_tags_for_resource_paginator: ListTagsForResourcePaginator = client.get_paginator(
"list_tags_for_resource"
)
```
### Literals
`mypy_boto3_ds.literals` module contains literals extracted from shapes that
can be used in user code for type checking.
```python
from mypy_boto3_ds.literals import (
CertificateStateType,
CertificateTypeType,
ClientAuthenticationStatusType,
ClientAuthenticationTypeType,
DescribeClientAuthenticationSettingsPaginatorName,
DescribeDirectoriesPaginatorName,
DescribeDomainControllersPaginatorName,
DescribeLDAPSSettingsPaginatorName,
DescribeRegionsPaginatorName,
DescribeSharedDirectoriesPaginatorName,
DescribeSnapshotsPaginatorName,
DescribeTrustsPaginatorName,
DescribeUpdateDirectoryPaginatorName,
DirectoryConfigurationStatusType,
DirectoryEditionType,
DirectorySizeType,
DirectoryStageType,
DirectoryTypeType,
DomainControllerStatusType,
IpRouteStatusMsgType,
LDAPSStatusType,
LDAPSTypeType,
ListCertificatesPaginatorName,
ListIpRoutesPaginatorName,
ListLogSubscriptionsPaginatorName,
ListSchemaExtensionsPaginatorName,
ListTagsForResourcePaginatorName,
OSVersionType,
RadiusAuthenticationProtocolType,
RadiusStatusType,
RegionTypeType,
ReplicationScopeType,
SchemaExtensionStatusType,
SelectiveAuthType,
ShareMethodType,
ShareStatusType,
SnapshotStatusType,
SnapshotTypeType,
TargetTypeType,
TopicStatusType,
TrustDirectionType,
TrustStateType,
TrustTypeType,
UpdateStatusType,
UpdateTypeType,
DirectoryServiceServiceName,
ServiceName,
ResourceServiceName,
PaginatorName,
RegionName,
)
def check_value(value: CertificateStateType) -> bool:
...
```
### Typed dictionaries
`mypy_boto3_ds.type_defs` module contains structures and shapes assembled to
typed dictionaries for additional type checking.
```python
from mypy_boto3_ds.type_defs import (
AcceptSharedDirectoryRequestRequestTypeDef,
ResponseMetadataTypeDef,
SharedDirectoryTypeDef,
IpRouteTypeDef,
DirectoryVpcSettingsTypeDef,
TagTypeDef,
AttributeTypeDef,
CancelSchemaExtensionRequestRequestTypeDef,
CertificateInfoTypeDef,
ClientCertAuthSettingsTypeDef,
ClientAuthenticationSettingInfoTypeDef,
ConditionalForwarderTypeDef,
DirectoryConnectSettingsTypeDef,
CreateAliasRequestRequestTypeDef,
CreateConditionalForwarderRequestRequestTypeDef,
CreateLogSubscriptionRequestRequestTypeDef,
CreateSnapshotRequestRequestTypeDef,
CreateTrustRequestRequestTypeDef,
DeleteConditionalForwarderRequestRequestTypeDef,
DeleteDirectoryRequestRequestTypeDef,
DeleteLogSubscriptionRequestRequestTypeDef,
DeleteSnapshotRequestRequestTypeDef,
DeleteTrustRequestRequestTypeDef,
DeregisterCertificateRequestRequestTypeDef,
DeregisterEventTopicRequestRequestTypeDef,
DescribeCertificateRequestRequestTypeDef,
PaginatorConfigTypeDef,
DescribeClientAuthenticationSettingsRequestRequestTypeDef,
DescribeConditionalForwardersRequestRequestTypeDef,
DescribeDirectoriesRequestRequestTypeDef,
DescribeDomainControllersRequestRequestTypeDef,
DomainControllerTypeDef,
DescribeEventTopicsRequestRequestTypeDef,
EventTopicTypeDef,
DescribeLDAPSSettingsRequestRequestTypeDef,
LDAPSSettingInfoTypeDef,
DescribeRegionsRequestRequestTypeDef,
DescribeSettingsRequestRequestTypeDef,
SettingEntryTypeDef,
DescribeSharedDirectoriesRequestRequestTypeDef,
DescribeSnapshotsRequestRequestTypeDef,
SnapshotTypeDef,
DescribeTrustsRequestRequestTypeDef,
TrustTypeDef,
DescribeUpdateDirectoryRequestRequestTypeDef,
DirectoryConnectSettingsDescriptionTypeDef,
DirectoryVpcSettingsDescriptionTypeDef,
RadiusSettingsTypeDef,
RegionsInfoTypeDef,
DirectoryLimitsTypeDef,
DisableClientAuthenticationRequestRequestTypeDef,
DisableLDAPSRequestRequestTypeDef,
DisableRadiusRequestRequestTypeDef,
DisableSsoRequestRequestTypeDef,
EnableClientAuthenticationRequestRequestTypeDef,
EnableLDAPSRequestRequestTypeDef,
EnableSsoRequestRequestTypeDef,
GetSnapshotLimitsRequestRequestTypeDef,
SnapshotLimitsTypeDef,
IpRouteInfoTypeDef,
ListCertificatesRequestRequestTypeDef,
ListIpRoutesRequestRequestTypeDef,
ListLogSubscriptionsRequestRequestTypeDef,
LogSubscriptionTypeDef,
ListSchemaExtensionsRequestRequestTypeDef,
SchemaExtensionInfoTypeDef,
ListTagsForResourceRequestRequestTypeDef,
OSUpdateSettingsTypeDef,
RegisterEventTopicRequestRequestTypeDef,
RejectSharedDirectoryRequestRequestTypeDef,
RemoveIpRoutesRequestRequestTypeDef,
RemoveRegionRequestRequestTypeDef,
RemoveTagsFromResourceRequestRequestTypeDef,
ResetUserPasswordRequestRequestTypeDef,
RestoreFromSnapshotRequestRequestTypeDef,
SettingTypeDef,
ShareTargetTypeDef,
StartSchemaExtensionRequestRequestTypeDef,
UnshareTargetTypeDef,
UpdateConditionalForwarderRequestRequestTypeDef,
UpdateNumberOfDomainControllersRequestRequestTypeDef,
UpdateTrustRequestRequestTypeDef,
VerifyTrustRequestRequestTypeDef,
ConnectDirectoryResultTypeDef,
CreateAliasResultTypeDef,
CreateDirectoryResultTypeDef,
CreateMicrosoftADResultTypeDef,
CreateSnapshotResultTypeDef,
CreateTrustResultTypeDef,
DeleteDirectoryResultTypeDef,
DeleteSnapshotResultTypeDef,
DeleteTrustResultTypeDef,
RegisterCertificateResultTypeDef,
RejectSharedDirectoryResultTypeDef,
ShareDirectoryResultTypeDef,
StartSchemaExtensionResultTypeDef,
UnshareDirectoryResultTypeDef,
UpdateSettingsResultTypeDef,
UpdateTrustResultTypeDef,
VerifyTrustResultTypeDef,
AcceptSharedDirectoryResultTypeDef,
DescribeSharedDirectoriesResultTypeDef,
AddIpRoutesRequestRequestTypeDef,
AddRegionRequestRequestTypeDef,
RegionDescriptionTypeDef,
AddTagsToResourceRequestRequestTypeDef,
CreateDirectoryRequestRequestTypeDef,
CreateMicrosoftADRequestRequestTypeDef,
ListTagsForResourceResultTypeDef,
ComputerTypeDef,
CreateComputerRequestRequestTypeDef,
ListCertificatesResultTypeDef,
CertificateTypeDef,
RegisterCertificateRequestRequestTypeDef,
DescribeClientAuthenticationSettingsResultTypeDef,
DescribeConditionalForwardersResultTypeDef,
ConnectDirectoryRequestRequestTypeDef,
DescribeClientAuthenticationSettingsRequestDescribeClientAuthenticationSettingsPaginateTypeDef,
DescribeDirectoriesRequestDescribeDirectoriesPaginateTypeDef,
DescribeDomainControllersRequestDescribeDomainControllersPaginateTypeDef,
DescribeLDAPSSettingsRequestDescribeLDAPSSettingsPaginateTypeDef,
DescribeRegionsRequestDescribeRegionsPaginateTypeDef,
DescribeSharedDirectoriesRequestDescribeSharedDirectoriesPaginateTypeDef,
DescribeSnapshotsRequestDescribeSnapshotsPaginateTypeDef,
DescribeTrustsRequestDescribeTrustsPaginateTypeDef,
DescribeUpdateDirectoryRequestDescribeUpdateDirectoryPaginateTypeDef,
ListCertificatesRequestListCertificatesPaginateTypeDef,
ListIpRoutesRequestListIpRoutesPaginateTypeDef,
ListLogSubscriptionsRequestListLogSubscriptionsPaginateTypeDef,
ListSchemaExtensionsRequestListSchemaExtensionsPaginateTypeDef,
ListTagsForResourceRequestListTagsForResourcePaginateTypeDef,
DescribeDomainControllersResultTypeDef,
DescribeEventTopicsResultTypeDef,
DescribeLDAPSSettingsResultTypeDef,
DescribeSettingsResultTypeDef,
DescribeSnapshotsResultTypeDef,
DescribeTrustsResultTypeDef,
EnableRadiusRequestRequestTypeDef,
OwnerDirectoryDescriptionTypeDef,
UpdateRadiusRequestRequestTypeDef,
GetDirectoryLimitsResultTypeDef,
GetSnapshotLimitsResultTypeDef,
ListIpRoutesResultTypeDef,
ListLogSubscriptionsResultTypeDef,
ListSchemaExtensionsResultTypeDef,
UpdateDirectorySetupRequestRequestTypeDef,
UpdateValueTypeDef,
UpdateSettingsRequestRequestTypeDef,
ShareDirectoryRequestRequestTypeDef,
UnshareDirectoryRequestRequestTypeDef,
DescribeRegionsResultTypeDef,
CreateComputerResultTypeDef,
DescribeCertificateResultTypeDef,
DirectoryDescriptionTypeDef,
UpdateInfoEntryTypeDef,
DescribeDirectoriesResultTypeDef,
DescribeUpdateDirectoryResultTypeDef,
)
def get_structure() -> AcceptSharedDirectoryRequestRequestTypeDef:
return {...}
```
## How it works
Fully automated
[mypy-boto3-builder](https://github.com/youtype/mypy_boto3_builder) carefully
generates type annotations for each service, patiently waiting for `boto3`
updates. It delivers a drop-in type annotations for you and makes sure that:
- All available `boto3` services are covered.
- Each public class and method of every `boto3` service gets valid type
annotations extracted from the documentation (blame `botocore` docs if types
are incorrect).
- Type annotations include up-to-date documentation.
- Link to documentation is provided for every method.
- Code is processed by [black](https://github.com/psf/black) and
[isort](https://github.com/PyCQA/isort) for readability.
## What's new
### Implemented features
- Fully type annotated `boto3`, `botocore` and `aiobotocore` libraries
- `mypy`, `pyright`, `VSCode`, `PyCharm`, `Sublime Text` and `Emacs`
compatibility
- `Client`, `ServiceResource`, `Resource`, `Waiter` `Paginator` type
annotations for each service
- Generated `TypeDefs` for each service
- Generated `Literals` for each service
- Auto discovery of types for `boto3.client` and `boto3.session` calls
- Auto discovery of types for `session.client` and `session.session` calls
- Auto discovery of types for `client.get_waiter` and `client.get_paginator`
calls
- Auto discovery of types for `ServiceResource` and `Resource` collections
- Auto discovery of types for `aiobotocore.Session.create_client` calls
### Latest changes
Builder changelog can be found in
[Releases](https://github.com/youtype/mypy_boto3_builder/releases).
## Versioning
`mypy-boto3-ds` version is the same as related `boto3` version and follows
[PEP 440](https://www.python.org/dev/peps/pep-0440/) format.
## Thank you
- [Allie Fitter](https://github.com/alliefitter) for
[boto3-type-annotations](https://pypi.org/project/boto3-type-annotations/),
this package is based on top of his work
- [black](https://github.com/psf/black) developers for an awesome formatting
tool
- [Timothy Edmund Crosley](https://github.com/timothycrosley) for
[isort](https://github.com/PyCQA/isort) and how flexible it is
- [mypy](https://github.com/python/mypy) developers for doing all dirty work
for us
- [pyright](https://github.com/microsoft/pyright) team for the new era of typed
Python
## Documentation
All services type annotations can be found in
[boto3 docs](https://youtype.github.io/boto3_stubs_docs/mypy_boto3_ds/)
## Support and contributing
This package is auto-generated. Please reports any bugs or request new features
in [mypy-boto3-builder](https://github.com/youtype/mypy_boto3_builder/issues/)
repository.
%package -n python3-mypy-boto3-ds
Summary: Type annotations for boto3.DirectoryService 1.26.0 service generated with mypy-boto3-builder 7.11.10
Provides: python-mypy-boto3-ds
BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: python3-pip
%description -n python3-mypy-boto3-ds
# mypy-boto3-ds
[![PyPI - mypy-boto3-ds](https://img.shields.io/pypi/v/mypy-boto3-ds.svg?color=blue)](https://pypi.org/project/mypy-boto3-ds)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/mypy-boto3-ds.svg?color=blue)](https://pypi.org/project/mypy-boto3-ds)
[![Docs](https://img.shields.io/readthedocs/mypy-boto3-builder.svg?color=blue)](https://mypy-boto3-builder.readthedocs.io/)
[![PyPI - Downloads](https://img.shields.io/pypi/dm/mypy-boto3-ds?color=blue)](https://pypistats.org/packages/mypy-boto3-ds)
![boto3.typed](https://github.com/youtype/mypy_boto3_builder/raw/main/logo.png)
Type annotations for
[boto3.DirectoryService 1.26.0](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/ds.html#DirectoryService)
service compatible with [VSCode](https://code.visualstudio.com/),
[PyCharm](https://www.jetbrains.com/pycharm/),
[Emacs](https://www.gnu.org/software/emacs/),
[Sublime Text](https://www.sublimetext.com/),
[mypy](https://github.com/python/mypy),
[pyright](https://github.com/microsoft/pyright) and other tools.
Generated by
[mypy-boto3-builder 7.11.10](https://github.com/youtype/mypy_boto3_builder).
More information can be found on
[boto3-stubs](https://pypi.org/project/boto3-stubs/) page and in
[mypy-boto3-ds docs](https://youtype.github.io/boto3_stubs_docs/mypy_boto3_ds/).
See how it helps to find and fix potential bugs:
![boto3-stubs demo](https://github.com/youtype/mypy_boto3_builder/raw/main/demo.gif)
- [mypy-boto3-ds](#mypy-boto3-ds)
- [How to install](#how-to-install)
- [VSCode extension](#vscode-extension)
- [From PyPI with pip](#from-pypi-with-pip)
- [How to uninstall](#how-to-uninstall)
- [Usage](#usage)
- [VSCode](#vscode)
- [PyCharm](#pycharm)
- [Emacs](#emacs)
- [Sublime Text](#sublime-text)
- [Other IDEs](#other-ides)
- [mypy](#mypy)
- [pyright](#pyright)
- [Explicit type annotations](#explicit-type-annotations)
- [Client annotations](#client-annotations)
- [Paginators annotations](#paginators-annotations)
- [Literals](#literals)
- [Typed dictionaries](#typed-dictionaries)
- [How it works](#how-it-works)
- [What's new](#what's-new)
- [Implemented features](#implemented-features)
- [Latest changes](#latest-changes)
- [Versioning](#versioning)
- [Thank you](#thank-you)
- [Documentation](#documentation)
- [Support and contributing](#support-and-contributing)
## How to install
### VSCode extension
Add
[AWS Boto3](https://marketplace.visualstudio.com/items?itemName=Boto3typed.boto3-ide)
extension to your VSCode and run `AWS boto3: Quick Start` command.
Click `Modify` and select `boto3 common` and `DirectoryService`.
### From PyPI with pip
Install `boto3-stubs` for `DirectoryService` service.
```bash
# install with boto3 type annotations
python -m pip install 'boto3-stubs[ds]'
# 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[ds]'
# standalone installation
python -m pip install mypy-boto3-ds
```
## How to uninstall
```bash
python -m pip uninstall -y mypy-boto3-ds
```
## Usage
### VSCode
- Install
[Python extension](https://marketplace.visualstudio.com/items?itemName=ms-python.python)
- Install
[Pylance extension](https://marketplace.visualstudio.com/items?itemName=ms-python.vscode-pylance)
- Set `Pylance` as your Python Language Server
- Install `boto3-stubs[ds]` in your environment:
```bash
python -m pip install 'boto3-stubs[ds]'
```
Both type checking and code completion should now work. No explicit type
annotations required, write your `boto3` code as usual.
### PyCharm
Install `boto3-stubs-lite[ds]` in your environment:
```bash
python -m pip install 'boto3-stubs-lite[ds]'`
```
Both type checking and code completion should now work. Explicit type
annotations **are required**.
Use `boto3-stubs` package instead for implicit type discovery.
### Emacs
- Install `boto3-stubs` with services you use in your environment:
```bash
python -m pip install 'boto3-stubs[ds]'
```
- Install [use-package](https://github.com/jwiegley/use-package),
[lsp](https://github.com/emacs-lsp/lsp-mode/),
[company](https://github.com/company-mode/company-mode) and
[flycheck](https://github.com/flycheck/flycheck) packages
- Install [lsp-pyright](https://github.com/emacs-lsp/lsp-pyright) package
```elisp
(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"))
)
```
- Make sure emacs uses the environment where you have installed `boto3-stubs`
Type checking should now work. No explicit type annotations required, write
your `boto3` code as usual.
### Sublime Text
- Install `boto3-stubs[ds]` with services you use in your environment:
```bash
python -m pip install 'boto3-stubs[ds]'
```
- Install [LSP-pyright](https://github.com/sublimelsp/LSP-pyright) package
Type checking should now work. No explicit type annotations required, write
your `boto3` code as usual.
### Other IDEs
Not tested, but as long as your IDE supports `mypy` or `pyright`, everything
should work.
### mypy
- Install `mypy`: `python -m pip install mypy`
- Install `boto3-stubs[ds]` in your environment:
```bash
python -m pip install 'boto3-stubs[ds]'`
```
Type checking should now work. No explicit type annotations required, write
your `boto3` code as usual.
### pyright
- Install `pyright`: `npm i -g pyright`
- Install `boto3-stubs[ds]` in your environment:
```bash
python -m pip install 'boto3-stubs[ds]'
```
Optionally, you can install `boto3-stubs` to `typings` folder.
Type checking should now work. No explicit type annotations required, write
your `boto3` code as usual.
## Explicit type annotations
### Client annotations
`DirectoryServiceClient` provides annotations for `boto3.client("ds")`.
```python
from boto3.session import Session
from mypy_boto3_ds import DirectoryServiceClient
client: DirectoryServiceClient = Session().client("ds")
# now client usage is checked by mypy and IDE should provide code completion
```
### Paginators annotations
`mypy_boto3_ds.paginator` module contains type annotations for all paginators.
```python
from boto3.session import Session
from mypy_boto3_ds import DirectoryServiceClient
from mypy_boto3_ds.paginator import (
DescribeClientAuthenticationSettingsPaginator,
DescribeDirectoriesPaginator,
DescribeDomainControllersPaginator,
DescribeLDAPSSettingsPaginator,
DescribeRegionsPaginator,
DescribeSharedDirectoriesPaginator,
DescribeSnapshotsPaginator,
DescribeTrustsPaginator,
DescribeUpdateDirectoryPaginator,
ListCertificatesPaginator,
ListIpRoutesPaginator,
ListLogSubscriptionsPaginator,
ListSchemaExtensionsPaginator,
ListTagsForResourcePaginator,
)
client: DirectoryServiceClient = Session().client("ds")
# Explicit type annotations are optional here
# Types should be correctly discovered by mypy and IDEs
describe_client_authentication_settings_paginator: DescribeClientAuthenticationSettingsPaginator = (
client.get_paginator("describe_client_authentication_settings")
)
describe_directories_paginator: DescribeDirectoriesPaginator = client.get_paginator(
"describe_directories"
)
describe_domain_controllers_paginator: DescribeDomainControllersPaginator = client.get_paginator(
"describe_domain_controllers"
)
describe_ldaps_settings_paginator: DescribeLDAPSSettingsPaginator = client.get_paginator(
"describe_ldaps_settings"
)
describe_regions_paginator: DescribeRegionsPaginator = client.get_paginator("describe_regions")
describe_shared_directories_paginator: DescribeSharedDirectoriesPaginator = client.get_paginator(
"describe_shared_directories"
)
describe_snapshots_paginator: DescribeSnapshotsPaginator = client.get_paginator(
"describe_snapshots"
)
describe_trusts_paginator: DescribeTrustsPaginator = client.get_paginator("describe_trusts")
describe_update_directory_paginator: DescribeUpdateDirectoryPaginator = client.get_paginator(
"describe_update_directory"
)
list_certificates_paginator: ListCertificatesPaginator = client.get_paginator("list_certificates")
list_ip_routes_paginator: ListIpRoutesPaginator = client.get_paginator("list_ip_routes")
list_log_subscriptions_paginator: ListLogSubscriptionsPaginator = client.get_paginator(
"list_log_subscriptions"
)
list_schema_extensions_paginator: ListSchemaExtensionsPaginator = client.get_paginator(
"list_schema_extensions"
)
list_tags_for_resource_paginator: ListTagsForResourcePaginator = client.get_paginator(
"list_tags_for_resource"
)
```
### Literals
`mypy_boto3_ds.literals` module contains literals extracted from shapes that
can be used in user code for type checking.
```python
from mypy_boto3_ds.literals import (
CertificateStateType,
CertificateTypeType,
ClientAuthenticationStatusType,
ClientAuthenticationTypeType,
DescribeClientAuthenticationSettingsPaginatorName,
DescribeDirectoriesPaginatorName,
DescribeDomainControllersPaginatorName,
DescribeLDAPSSettingsPaginatorName,
DescribeRegionsPaginatorName,
DescribeSharedDirectoriesPaginatorName,
DescribeSnapshotsPaginatorName,
DescribeTrustsPaginatorName,
DescribeUpdateDirectoryPaginatorName,
DirectoryConfigurationStatusType,
DirectoryEditionType,
DirectorySizeType,
DirectoryStageType,
DirectoryTypeType,
DomainControllerStatusType,
IpRouteStatusMsgType,
LDAPSStatusType,
LDAPSTypeType,
ListCertificatesPaginatorName,
ListIpRoutesPaginatorName,
ListLogSubscriptionsPaginatorName,
ListSchemaExtensionsPaginatorName,
ListTagsForResourcePaginatorName,
OSVersionType,
RadiusAuthenticationProtocolType,
RadiusStatusType,
RegionTypeType,
ReplicationScopeType,
SchemaExtensionStatusType,
SelectiveAuthType,
ShareMethodType,
ShareStatusType,
SnapshotStatusType,
SnapshotTypeType,
TargetTypeType,
TopicStatusType,
TrustDirectionType,
TrustStateType,
TrustTypeType,
UpdateStatusType,
UpdateTypeType,
DirectoryServiceServiceName,
ServiceName,
ResourceServiceName,
PaginatorName,
RegionName,
)
def check_value(value: CertificateStateType) -> bool:
...
```
### Typed dictionaries
`mypy_boto3_ds.type_defs` module contains structures and shapes assembled to
typed dictionaries for additional type checking.
```python
from mypy_boto3_ds.type_defs import (
AcceptSharedDirectoryRequestRequestTypeDef,
ResponseMetadataTypeDef,
SharedDirectoryTypeDef,
IpRouteTypeDef,
DirectoryVpcSettingsTypeDef,
TagTypeDef,
AttributeTypeDef,
CancelSchemaExtensionRequestRequestTypeDef,
CertificateInfoTypeDef,
ClientCertAuthSettingsTypeDef,
ClientAuthenticationSettingInfoTypeDef,
ConditionalForwarderTypeDef,
DirectoryConnectSettingsTypeDef,
CreateAliasRequestRequestTypeDef,
CreateConditionalForwarderRequestRequestTypeDef,
CreateLogSubscriptionRequestRequestTypeDef,
CreateSnapshotRequestRequestTypeDef,
CreateTrustRequestRequestTypeDef,
DeleteConditionalForwarderRequestRequestTypeDef,
DeleteDirectoryRequestRequestTypeDef,
DeleteLogSubscriptionRequestRequestTypeDef,
DeleteSnapshotRequestRequestTypeDef,
DeleteTrustRequestRequestTypeDef,
DeregisterCertificateRequestRequestTypeDef,
DeregisterEventTopicRequestRequestTypeDef,
DescribeCertificateRequestRequestTypeDef,
PaginatorConfigTypeDef,
DescribeClientAuthenticationSettingsRequestRequestTypeDef,
DescribeConditionalForwardersRequestRequestTypeDef,
DescribeDirectoriesRequestRequestTypeDef,
DescribeDomainControllersRequestRequestTypeDef,
DomainControllerTypeDef,
DescribeEventTopicsRequestRequestTypeDef,
EventTopicTypeDef,
DescribeLDAPSSettingsRequestRequestTypeDef,
LDAPSSettingInfoTypeDef,
DescribeRegionsRequestRequestTypeDef,
DescribeSettingsRequestRequestTypeDef,
SettingEntryTypeDef,
DescribeSharedDirectoriesRequestRequestTypeDef,
DescribeSnapshotsRequestRequestTypeDef,
SnapshotTypeDef,
DescribeTrustsRequestRequestTypeDef,
TrustTypeDef,
DescribeUpdateDirectoryRequestRequestTypeDef,
DirectoryConnectSettingsDescriptionTypeDef,
DirectoryVpcSettingsDescriptionTypeDef,
RadiusSettingsTypeDef,
RegionsInfoTypeDef,
DirectoryLimitsTypeDef,
DisableClientAuthenticationRequestRequestTypeDef,
DisableLDAPSRequestRequestTypeDef,
DisableRadiusRequestRequestTypeDef,
DisableSsoRequestRequestTypeDef,
EnableClientAuthenticationRequestRequestTypeDef,
EnableLDAPSRequestRequestTypeDef,
EnableSsoRequestRequestTypeDef,
GetSnapshotLimitsRequestRequestTypeDef,
SnapshotLimitsTypeDef,
IpRouteInfoTypeDef,
ListCertificatesRequestRequestTypeDef,
ListIpRoutesRequestRequestTypeDef,
ListLogSubscriptionsRequestRequestTypeDef,
LogSubscriptionTypeDef,
ListSchemaExtensionsRequestRequestTypeDef,
SchemaExtensionInfoTypeDef,
ListTagsForResourceRequestRequestTypeDef,
OSUpdateSettingsTypeDef,
RegisterEventTopicRequestRequestTypeDef,
RejectSharedDirectoryRequestRequestTypeDef,
RemoveIpRoutesRequestRequestTypeDef,
RemoveRegionRequestRequestTypeDef,
RemoveTagsFromResourceRequestRequestTypeDef,
ResetUserPasswordRequestRequestTypeDef,
RestoreFromSnapshotRequestRequestTypeDef,
SettingTypeDef,
ShareTargetTypeDef,
StartSchemaExtensionRequestRequestTypeDef,
UnshareTargetTypeDef,
UpdateConditionalForwarderRequestRequestTypeDef,
UpdateNumberOfDomainControllersRequestRequestTypeDef,
UpdateTrustRequestRequestTypeDef,
VerifyTrustRequestRequestTypeDef,
ConnectDirectoryResultTypeDef,
CreateAliasResultTypeDef,
CreateDirectoryResultTypeDef,
CreateMicrosoftADResultTypeDef,
CreateSnapshotResultTypeDef,
CreateTrustResultTypeDef,
DeleteDirectoryResultTypeDef,
DeleteSnapshotResultTypeDef,
DeleteTrustResultTypeDef,
RegisterCertificateResultTypeDef,
RejectSharedDirectoryResultTypeDef,
ShareDirectoryResultTypeDef,
StartSchemaExtensionResultTypeDef,
UnshareDirectoryResultTypeDef,
UpdateSettingsResultTypeDef,
UpdateTrustResultTypeDef,
VerifyTrustResultTypeDef,
AcceptSharedDirectoryResultTypeDef,
DescribeSharedDirectoriesResultTypeDef,
AddIpRoutesRequestRequestTypeDef,
AddRegionRequestRequestTypeDef,
RegionDescriptionTypeDef,
AddTagsToResourceRequestRequestTypeDef,
CreateDirectoryRequestRequestTypeDef,
CreateMicrosoftADRequestRequestTypeDef,
ListTagsForResourceResultTypeDef,
ComputerTypeDef,
CreateComputerRequestRequestTypeDef,
ListCertificatesResultTypeDef,
CertificateTypeDef,
RegisterCertificateRequestRequestTypeDef,
DescribeClientAuthenticationSettingsResultTypeDef,
DescribeConditionalForwardersResultTypeDef,
ConnectDirectoryRequestRequestTypeDef,
DescribeClientAuthenticationSettingsRequestDescribeClientAuthenticationSettingsPaginateTypeDef,
DescribeDirectoriesRequestDescribeDirectoriesPaginateTypeDef,
DescribeDomainControllersRequestDescribeDomainControllersPaginateTypeDef,
DescribeLDAPSSettingsRequestDescribeLDAPSSettingsPaginateTypeDef,
DescribeRegionsRequestDescribeRegionsPaginateTypeDef,
DescribeSharedDirectoriesRequestDescribeSharedDirectoriesPaginateTypeDef,
DescribeSnapshotsRequestDescribeSnapshotsPaginateTypeDef,
DescribeTrustsRequestDescribeTrustsPaginateTypeDef,
DescribeUpdateDirectoryRequestDescribeUpdateDirectoryPaginateTypeDef,
ListCertificatesRequestListCertificatesPaginateTypeDef,
ListIpRoutesRequestListIpRoutesPaginateTypeDef,
ListLogSubscriptionsRequestListLogSubscriptionsPaginateTypeDef,
ListSchemaExtensionsRequestListSchemaExtensionsPaginateTypeDef,
ListTagsForResourceRequestListTagsForResourcePaginateTypeDef,
DescribeDomainControllersResultTypeDef,
DescribeEventTopicsResultTypeDef,
DescribeLDAPSSettingsResultTypeDef,
DescribeSettingsResultTypeDef,
DescribeSnapshotsResultTypeDef,
DescribeTrustsResultTypeDef,
EnableRadiusRequestRequestTypeDef,
OwnerDirectoryDescriptionTypeDef,
UpdateRadiusRequestRequestTypeDef,
GetDirectoryLimitsResultTypeDef,
GetSnapshotLimitsResultTypeDef,
ListIpRoutesResultTypeDef,
ListLogSubscriptionsResultTypeDef,
ListSchemaExtensionsResultTypeDef,
UpdateDirectorySetupRequestRequestTypeDef,
UpdateValueTypeDef,
UpdateSettingsRequestRequestTypeDef,
ShareDirectoryRequestRequestTypeDef,
UnshareDirectoryRequestRequestTypeDef,
DescribeRegionsResultTypeDef,
CreateComputerResultTypeDef,
DescribeCertificateResultTypeDef,
DirectoryDescriptionTypeDef,
UpdateInfoEntryTypeDef,
DescribeDirectoriesResultTypeDef,
DescribeUpdateDirectoryResultTypeDef,
)
def get_structure() -> AcceptSharedDirectoryRequestRequestTypeDef:
return {...}
```
## How it works
Fully automated
[mypy-boto3-builder](https://github.com/youtype/mypy_boto3_builder) carefully
generates type annotations for each service, patiently waiting for `boto3`
updates. It delivers a drop-in type annotations for you and makes sure that:
- All available `boto3` services are covered.
- Each public class and method of every `boto3` service gets valid type
annotations extracted from the documentation (blame `botocore` docs if types
are incorrect).
- Type annotations include up-to-date documentation.
- Link to documentation is provided for every method.
- Code is processed by [black](https://github.com/psf/black) and
[isort](https://github.com/PyCQA/isort) for readability.
## What's new
### Implemented features
- Fully type annotated `boto3`, `botocore` and `aiobotocore` libraries
- `mypy`, `pyright`, `VSCode`, `PyCharm`, `Sublime Text` and `Emacs`
compatibility
- `Client`, `ServiceResource`, `Resource`, `Waiter` `Paginator` type
annotations for each service
- Generated `TypeDefs` for each service
- Generated `Literals` for each service
- Auto discovery of types for `boto3.client` and `boto3.session` calls
- Auto discovery of types for `session.client` and `session.session` calls
- Auto discovery of types for `client.get_waiter` and `client.get_paginator`
calls
- Auto discovery of types for `ServiceResource` and `Resource` collections
- Auto discovery of types for `aiobotocore.Session.create_client` calls
### Latest changes
Builder changelog can be found in
[Releases](https://github.com/youtype/mypy_boto3_builder/releases).
## Versioning
`mypy-boto3-ds` version is the same as related `boto3` version and follows
[PEP 440](https://www.python.org/dev/peps/pep-0440/) format.
## Thank you
- [Allie Fitter](https://github.com/alliefitter) for
[boto3-type-annotations](https://pypi.org/project/boto3-type-annotations/),
this package is based on top of his work
- [black](https://github.com/psf/black) developers for an awesome formatting
tool
- [Timothy Edmund Crosley](https://github.com/timothycrosley) for
[isort](https://github.com/PyCQA/isort) and how flexible it is
- [mypy](https://github.com/python/mypy) developers for doing all dirty work
for us
- [pyright](https://github.com/microsoft/pyright) team for the new era of typed
Python
## Documentation
All services type annotations can be found in
[boto3 docs](https://youtype.github.io/boto3_stubs_docs/mypy_boto3_ds/)
## Support and contributing
This package is auto-generated. Please reports any bugs or request new features
in [mypy-boto3-builder](https://github.com/youtype/mypy_boto3_builder/issues/)
repository.
%package help
Summary: Development documents and examples for mypy-boto3-ds
Provides: python3-mypy-boto3-ds-doc
%description help
# mypy-boto3-ds
[![PyPI - mypy-boto3-ds](https://img.shields.io/pypi/v/mypy-boto3-ds.svg?color=blue)](https://pypi.org/project/mypy-boto3-ds)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/mypy-boto3-ds.svg?color=blue)](https://pypi.org/project/mypy-boto3-ds)
[![Docs](https://img.shields.io/readthedocs/mypy-boto3-builder.svg?color=blue)](https://mypy-boto3-builder.readthedocs.io/)
[![PyPI - Downloads](https://img.shields.io/pypi/dm/mypy-boto3-ds?color=blue)](https://pypistats.org/packages/mypy-boto3-ds)
![boto3.typed](https://github.com/youtype/mypy_boto3_builder/raw/main/logo.png)
Type annotations for
[boto3.DirectoryService 1.26.0](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/ds.html#DirectoryService)
service compatible with [VSCode](https://code.visualstudio.com/),
[PyCharm](https://www.jetbrains.com/pycharm/),
[Emacs](https://www.gnu.org/software/emacs/),
[Sublime Text](https://www.sublimetext.com/),
[mypy](https://github.com/python/mypy),
[pyright](https://github.com/microsoft/pyright) and other tools.
Generated by
[mypy-boto3-builder 7.11.10](https://github.com/youtype/mypy_boto3_builder).
More information can be found on
[boto3-stubs](https://pypi.org/project/boto3-stubs/) page and in
[mypy-boto3-ds docs](https://youtype.github.io/boto3_stubs_docs/mypy_boto3_ds/).
See how it helps to find and fix potential bugs:
![boto3-stubs demo](https://github.com/youtype/mypy_boto3_builder/raw/main/demo.gif)
- [mypy-boto3-ds](#mypy-boto3-ds)
- [How to install](#how-to-install)
- [VSCode extension](#vscode-extension)
- [From PyPI with pip](#from-pypi-with-pip)
- [How to uninstall](#how-to-uninstall)
- [Usage](#usage)
- [VSCode](#vscode)
- [PyCharm](#pycharm)
- [Emacs](#emacs)
- [Sublime Text](#sublime-text)
- [Other IDEs](#other-ides)
- [mypy](#mypy)
- [pyright](#pyright)
- [Explicit type annotations](#explicit-type-annotations)
- [Client annotations](#client-annotations)
- [Paginators annotations](#paginators-annotations)
- [Literals](#literals)
- [Typed dictionaries](#typed-dictionaries)
- [How it works](#how-it-works)
- [What's new](#what's-new)
- [Implemented features](#implemented-features)
- [Latest changes](#latest-changes)
- [Versioning](#versioning)
- [Thank you](#thank-you)
- [Documentation](#documentation)
- [Support and contributing](#support-and-contributing)
## How to install
### VSCode extension
Add
[AWS Boto3](https://marketplace.visualstudio.com/items?itemName=Boto3typed.boto3-ide)
extension to your VSCode and run `AWS boto3: Quick Start` command.
Click `Modify` and select `boto3 common` and `DirectoryService`.
### From PyPI with pip
Install `boto3-stubs` for `DirectoryService` service.
```bash
# install with boto3 type annotations
python -m pip install 'boto3-stubs[ds]'
# 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[ds]'
# standalone installation
python -m pip install mypy-boto3-ds
```
## How to uninstall
```bash
python -m pip uninstall -y mypy-boto3-ds
```
## Usage
### VSCode
- Install
[Python extension](https://marketplace.visualstudio.com/items?itemName=ms-python.python)
- Install
[Pylance extension](https://marketplace.visualstudio.com/items?itemName=ms-python.vscode-pylance)
- Set `Pylance` as your Python Language Server
- Install `boto3-stubs[ds]` in your environment:
```bash
python -m pip install 'boto3-stubs[ds]'
```
Both type checking and code completion should now work. No explicit type
annotations required, write your `boto3` code as usual.
### PyCharm
Install `boto3-stubs-lite[ds]` in your environment:
```bash
python -m pip install 'boto3-stubs-lite[ds]'`
```
Both type checking and code completion should now work. Explicit type
annotations **are required**.
Use `boto3-stubs` package instead for implicit type discovery.
### Emacs
- Install `boto3-stubs` with services you use in your environment:
```bash
python -m pip install 'boto3-stubs[ds]'
```
- Install [use-package](https://github.com/jwiegley/use-package),
[lsp](https://github.com/emacs-lsp/lsp-mode/),
[company](https://github.com/company-mode/company-mode) and
[flycheck](https://github.com/flycheck/flycheck) packages
- Install [lsp-pyright](https://github.com/emacs-lsp/lsp-pyright) package
```elisp
(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"))
)
```
- Make sure emacs uses the environment where you have installed `boto3-stubs`
Type checking should now work. No explicit type annotations required, write
your `boto3` code as usual.
### Sublime Text
- Install `boto3-stubs[ds]` with services you use in your environment:
```bash
python -m pip install 'boto3-stubs[ds]'
```
- Install [LSP-pyright](https://github.com/sublimelsp/LSP-pyright) package
Type checking should now work. No explicit type annotations required, write
your `boto3` code as usual.
### Other IDEs
Not tested, but as long as your IDE supports `mypy` or `pyright`, everything
should work.
### mypy
- Install `mypy`: `python -m pip install mypy`
- Install `boto3-stubs[ds]` in your environment:
```bash
python -m pip install 'boto3-stubs[ds]'`
```
Type checking should now work. No explicit type annotations required, write
your `boto3` code as usual.
### pyright
- Install `pyright`: `npm i -g pyright`
- Install `boto3-stubs[ds]` in your environment:
```bash
python -m pip install 'boto3-stubs[ds]'
```
Optionally, you can install `boto3-stubs` to `typings` folder.
Type checking should now work. No explicit type annotations required, write
your `boto3` code as usual.
## Explicit type annotations
### Client annotations
`DirectoryServiceClient` provides annotations for `boto3.client("ds")`.
```python
from boto3.session import Session
from mypy_boto3_ds import DirectoryServiceClient
client: DirectoryServiceClient = Session().client("ds")
# now client usage is checked by mypy and IDE should provide code completion
```
### Paginators annotations
`mypy_boto3_ds.paginator` module contains type annotations for all paginators.
```python
from boto3.session import Session
from mypy_boto3_ds import DirectoryServiceClient
from mypy_boto3_ds.paginator import (
DescribeClientAuthenticationSettingsPaginator,
DescribeDirectoriesPaginator,
DescribeDomainControllersPaginator,
DescribeLDAPSSettingsPaginator,
DescribeRegionsPaginator,
DescribeSharedDirectoriesPaginator,
DescribeSnapshotsPaginator,
DescribeTrustsPaginator,
DescribeUpdateDirectoryPaginator,
ListCertificatesPaginator,
ListIpRoutesPaginator,
ListLogSubscriptionsPaginator,
ListSchemaExtensionsPaginator,
ListTagsForResourcePaginator,
)
client: DirectoryServiceClient = Session().client("ds")
# Explicit type annotations are optional here
# Types should be correctly discovered by mypy and IDEs
describe_client_authentication_settings_paginator: DescribeClientAuthenticationSettingsPaginator = (
client.get_paginator("describe_client_authentication_settings")
)
describe_directories_paginator: DescribeDirectoriesPaginator = client.get_paginator(
"describe_directories"
)
describe_domain_controllers_paginator: DescribeDomainControllersPaginator = client.get_paginator(
"describe_domain_controllers"
)
describe_ldaps_settings_paginator: DescribeLDAPSSettingsPaginator = client.get_paginator(
"describe_ldaps_settings"
)
describe_regions_paginator: DescribeRegionsPaginator = client.get_paginator("describe_regions")
describe_shared_directories_paginator: DescribeSharedDirectoriesPaginator = client.get_paginator(
"describe_shared_directories"
)
describe_snapshots_paginator: DescribeSnapshotsPaginator = client.get_paginator(
"describe_snapshots"
)
describe_trusts_paginator: DescribeTrustsPaginator = client.get_paginator("describe_trusts")
describe_update_directory_paginator: DescribeUpdateDirectoryPaginator = client.get_paginator(
"describe_update_directory"
)
list_certificates_paginator: ListCertificatesPaginator = client.get_paginator("list_certificates")
list_ip_routes_paginator: ListIpRoutesPaginator = client.get_paginator("list_ip_routes")
list_log_subscriptions_paginator: ListLogSubscriptionsPaginator = client.get_paginator(
"list_log_subscriptions"
)
list_schema_extensions_paginator: ListSchemaExtensionsPaginator = client.get_paginator(
"list_schema_extensions"
)
list_tags_for_resource_paginator: ListTagsForResourcePaginator = client.get_paginator(
"list_tags_for_resource"
)
```
### Literals
`mypy_boto3_ds.literals` module contains literals extracted from shapes that
can be used in user code for type checking.
```python
from mypy_boto3_ds.literals import (
CertificateStateType,
CertificateTypeType,
ClientAuthenticationStatusType,
ClientAuthenticationTypeType,
DescribeClientAuthenticationSettingsPaginatorName,
DescribeDirectoriesPaginatorName,
DescribeDomainControllersPaginatorName,
DescribeLDAPSSettingsPaginatorName,
DescribeRegionsPaginatorName,
DescribeSharedDirectoriesPaginatorName,
DescribeSnapshotsPaginatorName,
DescribeTrustsPaginatorName,
DescribeUpdateDirectoryPaginatorName,
DirectoryConfigurationStatusType,
DirectoryEditionType,
DirectorySizeType,
DirectoryStageType,
DirectoryTypeType,
DomainControllerStatusType,
IpRouteStatusMsgType,
LDAPSStatusType,
LDAPSTypeType,
ListCertificatesPaginatorName,
ListIpRoutesPaginatorName,
ListLogSubscriptionsPaginatorName,
ListSchemaExtensionsPaginatorName,
ListTagsForResourcePaginatorName,
OSVersionType,
RadiusAuthenticationProtocolType,
RadiusStatusType,
RegionTypeType,
ReplicationScopeType,
SchemaExtensionStatusType,
SelectiveAuthType,
ShareMethodType,
ShareStatusType,
SnapshotStatusType,
SnapshotTypeType,
TargetTypeType,
TopicStatusType,
TrustDirectionType,
TrustStateType,
TrustTypeType,
UpdateStatusType,
UpdateTypeType,
DirectoryServiceServiceName,
ServiceName,
ResourceServiceName,
PaginatorName,
RegionName,
)
def check_value(value: CertificateStateType) -> bool:
...
```
### Typed dictionaries
`mypy_boto3_ds.type_defs` module contains structures and shapes assembled to
typed dictionaries for additional type checking.
```python
from mypy_boto3_ds.type_defs import (
AcceptSharedDirectoryRequestRequestTypeDef,
ResponseMetadataTypeDef,
SharedDirectoryTypeDef,
IpRouteTypeDef,
DirectoryVpcSettingsTypeDef,
TagTypeDef,
AttributeTypeDef,
CancelSchemaExtensionRequestRequestTypeDef,
CertificateInfoTypeDef,
ClientCertAuthSettingsTypeDef,
ClientAuthenticationSettingInfoTypeDef,
ConditionalForwarderTypeDef,
DirectoryConnectSettingsTypeDef,
CreateAliasRequestRequestTypeDef,
CreateConditionalForwarderRequestRequestTypeDef,
CreateLogSubscriptionRequestRequestTypeDef,
CreateSnapshotRequestRequestTypeDef,
CreateTrustRequestRequestTypeDef,
DeleteConditionalForwarderRequestRequestTypeDef,
DeleteDirectoryRequestRequestTypeDef,
DeleteLogSubscriptionRequestRequestTypeDef,
DeleteSnapshotRequestRequestTypeDef,
DeleteTrustRequestRequestTypeDef,
DeregisterCertificateRequestRequestTypeDef,
DeregisterEventTopicRequestRequestTypeDef,
DescribeCertificateRequestRequestTypeDef,
PaginatorConfigTypeDef,
DescribeClientAuthenticationSettingsRequestRequestTypeDef,
DescribeConditionalForwardersRequestRequestTypeDef,
DescribeDirectoriesRequestRequestTypeDef,
DescribeDomainControllersRequestRequestTypeDef,
DomainControllerTypeDef,
DescribeEventTopicsRequestRequestTypeDef,
EventTopicTypeDef,
DescribeLDAPSSettingsRequestRequestTypeDef,
LDAPSSettingInfoTypeDef,
DescribeRegionsRequestRequestTypeDef,
DescribeSettingsRequestRequestTypeDef,
SettingEntryTypeDef,
DescribeSharedDirectoriesRequestRequestTypeDef,
DescribeSnapshotsRequestRequestTypeDef,
SnapshotTypeDef,
DescribeTrustsRequestRequestTypeDef,
TrustTypeDef,
DescribeUpdateDirectoryRequestRequestTypeDef,
DirectoryConnectSettingsDescriptionTypeDef,
DirectoryVpcSettingsDescriptionTypeDef,
RadiusSettingsTypeDef,
RegionsInfoTypeDef,
DirectoryLimitsTypeDef,
DisableClientAuthenticationRequestRequestTypeDef,
DisableLDAPSRequestRequestTypeDef,
DisableRadiusRequestRequestTypeDef,
DisableSsoRequestRequestTypeDef,
EnableClientAuthenticationRequestRequestTypeDef,
EnableLDAPSRequestRequestTypeDef,
EnableSsoRequestRequestTypeDef,
GetSnapshotLimitsRequestRequestTypeDef,
SnapshotLimitsTypeDef,
IpRouteInfoTypeDef,
ListCertificatesRequestRequestTypeDef,
ListIpRoutesRequestRequestTypeDef,
ListLogSubscriptionsRequestRequestTypeDef,
LogSubscriptionTypeDef,
ListSchemaExtensionsRequestRequestTypeDef,
SchemaExtensionInfoTypeDef,
ListTagsForResourceRequestRequestTypeDef,
OSUpdateSettingsTypeDef,
RegisterEventTopicRequestRequestTypeDef,
RejectSharedDirectoryRequestRequestTypeDef,
RemoveIpRoutesRequestRequestTypeDef,
RemoveRegionRequestRequestTypeDef,
RemoveTagsFromResourceRequestRequestTypeDef,
ResetUserPasswordRequestRequestTypeDef,
RestoreFromSnapshotRequestRequestTypeDef,
SettingTypeDef,
ShareTargetTypeDef,
StartSchemaExtensionRequestRequestTypeDef,
UnshareTargetTypeDef,
UpdateConditionalForwarderRequestRequestTypeDef,
UpdateNumberOfDomainControllersRequestRequestTypeDef,
UpdateTrustRequestRequestTypeDef,
VerifyTrustRequestRequestTypeDef,
ConnectDirectoryResultTypeDef,
CreateAliasResultTypeDef,
CreateDirectoryResultTypeDef,
CreateMicrosoftADResultTypeDef,
CreateSnapshotResultTypeDef,
CreateTrustResultTypeDef,
DeleteDirectoryResultTypeDef,
DeleteSnapshotResultTypeDef,
DeleteTrustResultTypeDef,
RegisterCertificateResultTypeDef,
RejectSharedDirectoryResultTypeDef,
ShareDirectoryResultTypeDef,
StartSchemaExtensionResultTypeDef,
UnshareDirectoryResultTypeDef,
UpdateSettingsResultTypeDef,
UpdateTrustResultTypeDef,
VerifyTrustResultTypeDef,
AcceptSharedDirectoryResultTypeDef,
DescribeSharedDirectoriesResultTypeDef,
AddIpRoutesRequestRequestTypeDef,
AddRegionRequestRequestTypeDef,
RegionDescriptionTypeDef,
AddTagsToResourceRequestRequestTypeDef,
CreateDirectoryRequestRequestTypeDef,
CreateMicrosoftADRequestRequestTypeDef,
ListTagsForResourceResultTypeDef,
ComputerTypeDef,
CreateComputerRequestRequestTypeDef,
ListCertificatesResultTypeDef,
CertificateTypeDef,
RegisterCertificateRequestRequestTypeDef,
DescribeClientAuthenticationSettingsResultTypeDef,
DescribeConditionalForwardersResultTypeDef,
ConnectDirectoryRequestRequestTypeDef,
DescribeClientAuthenticationSettingsRequestDescribeClientAuthenticationSettingsPaginateTypeDef,
DescribeDirectoriesRequestDescribeDirectoriesPaginateTypeDef,
DescribeDomainControllersRequestDescribeDomainControllersPaginateTypeDef,
DescribeLDAPSSettingsRequestDescribeLDAPSSettingsPaginateTypeDef,
DescribeRegionsRequestDescribeRegionsPaginateTypeDef,
DescribeSharedDirectoriesRequestDescribeSharedDirectoriesPaginateTypeDef,
DescribeSnapshotsRequestDescribeSnapshotsPaginateTypeDef,
DescribeTrustsRequestDescribeTrustsPaginateTypeDef,
DescribeUpdateDirectoryRequestDescribeUpdateDirectoryPaginateTypeDef,
ListCertificatesRequestListCertificatesPaginateTypeDef,
ListIpRoutesRequestListIpRoutesPaginateTypeDef,
ListLogSubscriptionsRequestListLogSubscriptionsPaginateTypeDef,
ListSchemaExtensionsRequestListSchemaExtensionsPaginateTypeDef,
ListTagsForResourceRequestListTagsForResourcePaginateTypeDef,
DescribeDomainControllersResultTypeDef,
DescribeEventTopicsResultTypeDef,
DescribeLDAPSSettingsResultTypeDef,
DescribeSettingsResultTypeDef,
DescribeSnapshotsResultTypeDef,
DescribeTrustsResultTypeDef,
EnableRadiusRequestRequestTypeDef,
OwnerDirectoryDescriptionTypeDef,
UpdateRadiusRequestRequestTypeDef,
GetDirectoryLimitsResultTypeDef,
GetSnapshotLimitsResultTypeDef,
ListIpRoutesResultTypeDef,
ListLogSubscriptionsResultTypeDef,
ListSchemaExtensionsResultTypeDef,
UpdateDirectorySetupRequestRequestTypeDef,
UpdateValueTypeDef,
UpdateSettingsRequestRequestTypeDef,
ShareDirectoryRequestRequestTypeDef,
UnshareDirectoryRequestRequestTypeDef,
DescribeRegionsResultTypeDef,
CreateComputerResultTypeDef,
DescribeCertificateResultTypeDef,
DirectoryDescriptionTypeDef,
UpdateInfoEntryTypeDef,
DescribeDirectoriesResultTypeDef,
DescribeUpdateDirectoryResultTypeDef,
)
def get_structure() -> AcceptSharedDirectoryRequestRequestTypeDef:
return {...}
```
## How it works
Fully automated
[mypy-boto3-builder](https://github.com/youtype/mypy_boto3_builder) carefully
generates type annotations for each service, patiently waiting for `boto3`
updates. It delivers a drop-in type annotations for you and makes sure that:
- All available `boto3` services are covered.
- Each public class and method of every `boto3` service gets valid type
annotations extracted from the documentation (blame `botocore` docs if types
are incorrect).
- Type annotations include up-to-date documentation.
- Link to documentation is provided for every method.
- Code is processed by [black](https://github.com/psf/black) and
[isort](https://github.com/PyCQA/isort) for readability.
## What's new
### Implemented features
- Fully type annotated `boto3`, `botocore` and `aiobotocore` libraries
- `mypy`, `pyright`, `VSCode`, `PyCharm`, `Sublime Text` and `Emacs`
compatibility
- `Client`, `ServiceResource`, `Resource`, `Waiter` `Paginator` type
annotations for each service
- Generated `TypeDefs` for each service
- Generated `Literals` for each service
- Auto discovery of types for `boto3.client` and `boto3.session` calls
- Auto discovery of types for `session.client` and `session.session` calls
- Auto discovery of types for `client.get_waiter` and `client.get_paginator`
calls
- Auto discovery of types for `ServiceResource` and `Resource` collections
- Auto discovery of types for `aiobotocore.Session.create_client` calls
### Latest changes
Builder changelog can be found in
[Releases](https://github.com/youtype/mypy_boto3_builder/releases).
## Versioning
`mypy-boto3-ds` version is the same as related `boto3` version and follows
[PEP 440](https://www.python.org/dev/peps/pep-0440/) format.
## Thank you
- [Allie Fitter](https://github.com/alliefitter) for
[boto3-type-annotations](https://pypi.org/project/boto3-type-annotations/),
this package is based on top of his work
- [black](https://github.com/psf/black) developers for an awesome formatting
tool
- [Timothy Edmund Crosley](https://github.com/timothycrosley) for
[isort](https://github.com/PyCQA/isort) and how flexible it is
- [mypy](https://github.com/python/mypy) developers for doing all dirty work
for us
- [pyright](https://github.com/microsoft/pyright) team for the new era of typed
Python
## Documentation
All services type annotations can be found in
[boto3 docs](https://youtype.github.io/boto3_stubs_docs/mypy_boto3_ds/)
## Support and contributing
This package is auto-generated. Please reports any bugs or request new features
in [mypy-boto3-builder](https://github.com/youtype/mypy_boto3_builder/issues/)
repository.
%prep
%autosetup -n mypy-boto3-ds-1.26.0.post1
%build
%py3_build
%install
%py3_install
install -d -m755 %{buildroot}/%{_pkgdocdir}
if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
pushd %{buildroot}
if [ -d usr/lib ]; then
find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/lib64 ]; then
find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/bin ]; then
find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/sbin ]; then
find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
fi
touch doclist.lst
if [ -d usr/share/man ]; then
find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
fi
popd
mv %{buildroot}/filelist.lst .
mv %{buildroot}/doclist.lst .
%files -n python3-mypy-boto3-ds -f filelist.lst
%dir %{python3_sitelib}/*
%files help -f doclist.lst
%{_docdir}/*
%changelog
* Sun Apr 23 2023 Python_Bot - 1.26.0.post1-1
- Package Spec generated