diff --git a/awscliv2/api.py b/awscliv2/api.py index 9800728..4bf8469 100644 --- a/awscliv2/api.py +++ b/awscliv2/api.py @@ -2,14 +2,13 @@ Runner for all AWS CLI v2 commands. """ import json +import subprocess import sys from configparser import ConfigParser from io import StringIO from pathlib import Path from typing import List, Optional, Sequence, TextIO -import executor # type: ignore - from awscliv2.constants import DOCKER_PATH, ENCODING, IMAGE_NAME from awscliv2.exceptions import AWSCLIError, ExecutableNotFoundError, SubprocessError from awscliv2.interactive_process import InteractiveProcess @@ -67,13 +66,15 @@ def _run_subprocess(self, cmd: Sequence[str]) -> int: return return_code def _run_detached_subprocess(self, cmd: Sequence[str]) -> int: - try: - executor.execute(*cmd, encoding=self.encoding) - except executor.ExternalCommandFailed as e: - self.logger.error(f"Command failed with code {e.returncode}") - return e.returncode + p = subprocess.Popen(cmd, encoding=self.encoding) + return_code: Optional[int] = None + while return_code is None: + return_code = p.poll() - return 0 + if return_code: + raise AWSCLIError(f"Command failed with code {return_code}") + + return return_code def execute(self, args: Sequence[str]) -> str: """ diff --git a/docs/awscliv2/api/index.html b/docs/awscliv2/api/index.html index cefd2c7..e2f6398 100644 --- a/docs/awscliv2/api/index.html +++ b/docs/awscliv2/api/index.html @@ -916,7 +916,7 @@
Auto-generated documentation for awscliv2.api module.
API for all AWS CLI v2 commands.
Supports installed and dockerized AWS CLI v2.
class AWSAPI:
def __init__(
self, encoding: str = ENCODING, output: Optional[TextIO] = None
- ) -> None:
- ...
+ ) -> None: ...
Add assume role to credentials.
def assume_role(self, profile_name: str, source_profile: str, role_arn: str) -> None:
- ...
+
AWSAPI().execute#
-
+
Execute AWS CLI v2 command.
Returns#
Command output.
Signature#
-def execute(self, args: Sequence[str]) -> str:
- ...
+
AWSAPI.get_awscli_v2_cmd#
-
+
Get command to run AWS CLI v2.
Signature#
@staticmethod
-def get_awscli_v2_cmd() -> List[str]:
- ...
+def get_awscli_v2_cmd() -> List[str]: ...
AWSAPI().print_version#
-
+
Print AWS CLI v2 version.
Returns#
Process exit code.
Signature#
-def print_version(self) -> int:
- ...
+
AWSAPI().run_awscli_v2#
-
+
Run AWS CLI.
Returns#
Process exit code.
Signature#
-def run_awscli_v2(self, args: Sequence[str]) -> int:
- ...
+
AWSAPI().run_awscli_v2_detached#
-
+
Run AWS CLI as a detached subprocess.
Returns#
Process exit code.
Signature#
-def run_awscli_v2_detached(self, args: Sequence[str]) -> int:
- ...
+
AWSAPI().set_credentials#
-
+
Add or update credentials in ~/.aws/credentials
.
Signature#
def set_credentials(
@@ -997,8 +990,7 @@ Signature aws_secret_access_key: str,
aws_session_token: str = "",
region: str = "",
-) -> None:
- ...
+) -> None: ...
diff --git a/docs/awscliv2/cli_parser/index.html b/docs/awscliv2/cli_parser/index.html
index 4b2d4fe..98ca42e 100644
--- a/docs/awscliv2/cli_parser/index.html
+++ b/docs/awscliv2/cli_parser/index.html
@@ -673,8 +673,7 @@ Signature update: bool,
version: bool,
other: Sequence[str],
- ) -> None:
- ...
+ ) -> None: ...
get_version#
Show source in cli_parser.py:17
@@ -682,15 +681,13 @@ get_versionReturns#
Version as a string.
Signature#
-def get_version() -> str:
- ...
+
parse_args#
Show source in cli_parser.py:54
Parse CLI arguments.
Signature#
-def parse_args(args: Sequence[str]) -> CLINamespace:
- ...
+
See also#
diff --git a/docs/awscliv2/exceptions/index.html b/docs/awscliv2/exceptions/index.html
index 2400ca6..e326c11 100644
--- a/docs/awscliv2/exceptions/index.html
+++ b/docs/awscliv2/exceptions/index.html
@@ -690,22 +690,19 @@ AWSCLIErrorMain error for awscliv2.
Signature#
class AWSCLIError(BaseException):
- def __init__(self, msg: str = "", returncode: int = 1) -> None:
- ...
+ def __init__(self, msg: str = "", returncode: int = 1) -> None: ...
ExecutableNotFoundError#
Show source in exceptions.py:32
Subprocess cannot find an executable error.
Signature#
-class ExecutableNotFoundError(BaseException):
- ...
+
InstallError#
Show source in exceptions.py:20
AWS CLi v2 installer error.
Signature#
-class InstallError(AWSCLIError):
- ...
+
See also#
@@ -715,8 +712,7 @@ SubprocessErrorShow source in exceptions.py:26
Subprocess interrupted error.
Signature#
-class SubprocessError(BaseException):
- ...
+
diff --git a/docs/awscliv2/installers/index.html b/docs/awscliv2/installers/index.html
index 8b20405..ef8ffd3 100644
--- a/docs/awscliv2/installers/index.html
+++ b/docs/awscliv2/installers/index.html
@@ -755,43 +755,37 @@ download_fileShow source in installers.py:19
Download file from url
to target
path.
Signature#
-def download_file(url: str, target: Path) -> None:
- ...
+
install_linux#
Show source in installers.py:72
Install AWS CLI v2 for Linux from url
.
Signature#
-def install_linux(url: str) -> None:
- ...
+
install_linux_arm#
Show source in installers.py:65
Install AWS CLI v2 for Linux ARM.
Signature#
-def install_linux_arm() -> None:
- ...
+
install_linux_x86_64#
Show source in installers.py:58
Install AWS CLI v2 for Linux x86_64.
Signature#
-def install_linux_x86_64() -> None:
- ...
+
install_macos#
Show source in installers.py:28
Install AWS CLI v2 for MacOS.
Signature#
-def install_macos() -> None:
- ...
+
install_multiplatform#
Show source in installers.py:114
Install AWS CLI v2 for Linux ar MacOS.
Signature#
-def install_multiplatform() -> None:
- ...
+
diff --git a/docs/awscliv2/interactive_process/index.html b/docs/awscliv2/interactive_process/index.html
index 9193217..f2a83b9 100644
--- a/docs/awscliv2/interactive_process/index.html
+++ b/docs/awscliv2/interactive_process/index.html
@@ -760,8 +760,7 @@ InteractiveProcessSignature#
class InteractiveProcess:
- def __init__(self, command: Sequence[str], encoding: str = ENCODING) -> None:
- ...
+ def __init__(self, command: Sequence[str], encoding: str = ENCODING) -> None: ...
See also#
@@ -776,8 +775,7 @@ ArgumentsSignature#
-def readall(self, process: Popen, stdin: ignore) -> None:
- ...
+
InteractiveProcess().run#
Show source in interactive_process.py:76
@@ -795,8 +793,7 @@ RaisesReturns#
Process status code
Signature#
-def run(self, stdin: TextIO = default_stdin, stdout: TextIO = default_stdout) -> int:
- ...
+
InteractiveProcess().writeall#
Show source in interactive_process.py:29
@@ -807,8 +804,7 @@ ArgumentsSignature#
-def writeall(self, process: Popen, stdout: ignore) -> None:
- ...
+
diff --git a/docs/awscliv2/logger/index.html b/docs/awscliv2/logger/index.html
index 344b368..c8bed33 100644
--- a/docs/awscliv2/logger/index.html
+++ b/docs/awscliv2/logger/index.html
@@ -589,8 +589,7 @@ ArgumentsReturns#
New or existing logger instance.
Signature#
-def get_logger(level: int = logging.DEBUG) -> logging.Logger:
- ...
+
diff --git a/docs/awscliv2/main/index.html b/docs/awscliv2/main/index.html
index 3088fa2..1f870e5 100644
--- a/docs/awscliv2/main/index.html
+++ b/docs/awscliv2/main/index.html
@@ -595,15 +595,13 @@ main
Main program entrypoint.
Signature#
-def main(args: Sequence[str]) -> int:
- ...
+
main_cli#
Main entrypoint for CLI.
Signature#
-def main_cli() -> None:
- ...
+
diff --git a/docs/search/search_index.json b/docs/search/search_index.json
index e2cba5a..60f33dc 100644
--- a/docs/search/search_index.json
+++ b/docs/search/search_index.json
@@ -1 +1 @@
-{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"","title":"Awscliv2 Index","text":"Auto-generated documentation index.
A full list of Awscliv2 project modules.
- Awscliv2
- Module
- Api
- Cli Parser
- Constants
- Exceptions
- Installers
- InteractiveProcess
- Logger
- Main
"},{"location":"awscliv2/","title":"Awscliv2","text":"Awscliv2 Index / Awscliv2
Auto-generated documentation for awscliv2 module.
"},{"location":"awscliv2/#modules","title":"Modules","text":" - Module
- Api
- Cli Parser
- Constants
- Exceptions
- Installers
- InteractiveProcess
- Logger
- Main
"},{"location":"awscliv2/api/","title":"Api","text":"Awscliv2 Index / Awscliv2 / Api
Auto-generated documentation for awscliv2.api module.
"},{"location":"awscliv2/api/#awsapi","title":"AWSAPI","text":"Show source in api.py:19
API for all AWS CLI v2 commands.
Supports installed and dockerized AWS CLI v2.
"},{"location":"awscliv2/api/#arguments","title":"Arguments","text":" encoding
- Input/output encoding, default utf-8. output
- Output stream, default sys.stdout.
"},{"location":"awscliv2/api/#signature","title":"Signature","text":"class AWSAPI:\ndef __init__(\nself, encoding: str = ENCODING, output: Optional[TextIO] = None\n) -> None:\n...\n
"},{"location":"awscliv2/api/#see-also","title":"See also","text":" - ENCODING
"},{"location":"awscliv2/api/#awsapiassume_role","title":"AWSAPI().assume_role","text":"Show source in api.py:134
Add assume role to credentials.
"},{"location":"awscliv2/api/#signature_1","title":"Signature","text":"def assume_role(self, profile_name: str, source_profile: str, role_arn: str) -> None:\n...\n
"},{"location":"awscliv2/api/#awsapiexecute","title":"AWSAPI().execute","text":"Show source in api.py:78
Execute AWS CLI v2 command.
"},{"location":"awscliv2/api/#returns","title":"Returns","text":"Command output.
"},{"location":"awscliv2/api/#signature_2","title":"Signature","text":"def execute(self, args: Sequence[str]) -> str:\n...\n
"},{"location":"awscliv2/api/#awsapiget_awscli_v2_cmd","title":"AWSAPI.get_awscli_v2_cmd","text":"Show source in api.py:35
Get command to run AWS CLI v2.
"},{"location":"awscliv2/api/#signature_3","title":"Signature","text":"@staticmethod\ndef get_awscli_v2_cmd() -> List[str]:\n...\n
"},{"location":"awscliv2/api/#awsapiprint_version","title":"AWSAPI().print_version","text":"Show source in api.py:125
Print AWS CLI v2 version.
"},{"location":"awscliv2/api/#returns_1","title":"Returns","text":"Process exit code.
"},{"location":"awscliv2/api/#signature_4","title":"Signature","text":"def print_version(self) -> int:\n...\n
"},{"location":"awscliv2/api/#awsapirun_awscli_v2","title":"AWSAPI().run_awscli_v2","text":"Show source in api.py:93
Run AWS CLI.
"},{"location":"awscliv2/api/#returns_2","title":"Returns","text":"Process exit code.
"},{"location":"awscliv2/api/#signature_5","title":"Signature","text":"def run_awscli_v2(self, args: Sequence[str]) -> int:\n...\n
"},{"location":"awscliv2/api/#awsapirun_awscli_v2_detached","title":"AWSAPI().run_awscli_v2_detached","text":"Show source in api.py:109
Run AWS CLI as a detached subprocess.
"},{"location":"awscliv2/api/#returns_3","title":"Returns","text":"Process exit code.
"},{"location":"awscliv2/api/#signature_6","title":"Signature","text":"def run_awscli_v2_detached(self, args: Sequence[str]) -> int:\n...\n
"},{"location":"awscliv2/api/#awsapiset_credentials","title":"AWSAPI().set_credentials","text":"Show source in api.py:170
Add or update credentials in ~/.aws/credentials
.
"},{"location":"awscliv2/api/#signature_7","title":"Signature","text":"def set_credentials(\nself,\nprofile_name: str,\naws_access_key_id: str,\naws_secret_access_key: str,\naws_session_token: str = \"\",\nregion: str = \"\",\n) -> None:\n...\n
"},{"location":"awscliv2/cli_parser/","title":"Cli Parser","text":"Awscliv2 Index / Awscliv2 / Cli Parser
Auto-generated documentation for awscliv2.cli_parser module.
"},{"location":"awscliv2/cli_parser/#clinamespace","title":"CLINamespace","text":"Show source in cli_parser.py:30
Main CLI Namespace.
"},{"location":"awscliv2/cli_parser/#signature","title":"Signature","text":"class CLINamespace:\ndef __init__(\nself,\nconfigure: Sequence[str],\nassume_role: Sequence[str],\nencoding: str,\ninstall: bool,\nupdate: bool,\nversion: bool,\nother: Sequence[str],\n) -> None:\n...\n
"},{"location":"awscliv2/cli_parser/#get_version","title":"get_version","text":"Show source in cli_parser.py:17
Get awscliv2 package version.
"},{"location":"awscliv2/cli_parser/#returns","title":"Returns","text":"Version as a string.
"},{"location":"awscliv2/cli_parser/#signature_1","title":"Signature","text":"def get_version() -> str:\n...\n
"},{"location":"awscliv2/cli_parser/#parse_args","title":"parse_args","text":"Show source in cli_parser.py:54
Parse CLI arguments.
"},{"location":"awscliv2/cli_parser/#signature_2","title":"Signature","text":"def parse_args(args: Sequence[str]) -> CLINamespace:\n...\n
"},{"location":"awscliv2/cli_parser/#see-also","title":"See also","text":" - CLINamespace
"},{"location":"awscliv2/constants/","title":"Constants","text":"Awscliv2 Index / Awscliv2 / Constants
Auto-generated documentation for awscliv2.constants module.
"},{"location":"awscliv2/exceptions/","title":"Exceptions","text":"Awscliv2 Index / Awscliv2 / Exceptions
Auto-generated documentation for awscliv2.exceptions module.
"},{"location":"awscliv2/exceptions/#awsclierror","title":"AWSCLIError","text":"Show source in exceptions.py:6
Main error for awscliv2.
"},{"location":"awscliv2/exceptions/#signature","title":"Signature","text":"class AWSCLIError(BaseException):\ndef __init__(self, msg: str = \"\", returncode: int = 1) -> None:\n...\n
"},{"location":"awscliv2/exceptions/#executablenotfounderror","title":"ExecutableNotFoundError","text":"Show source in exceptions.py:32
Subprocess cannot find an executable error.
"},{"location":"awscliv2/exceptions/#signature_1","title":"Signature","text":"class ExecutableNotFoundError(BaseException):\n...\n
"},{"location":"awscliv2/exceptions/#installerror","title":"InstallError","text":"Show source in exceptions.py:20
AWS CLi v2 installer error.
"},{"location":"awscliv2/exceptions/#signature_2","title":"Signature","text":"class InstallError(AWSCLIError):\n...\n
"},{"location":"awscliv2/exceptions/#see-also","title":"See also","text":" - AWSCLIError
"},{"location":"awscliv2/exceptions/#subprocesserror","title":"SubprocessError","text":"Show source in exceptions.py:26
Subprocess interrupted error.
"},{"location":"awscliv2/exceptions/#signature_3","title":"Signature","text":"class SubprocessError(BaseException):\n...\n
"},{"location":"awscliv2/installers/","title":"Installers","text":"Awscliv2 Index / Awscliv2 / Installers
Auto-generated documentation for awscliv2.installers module.
"},{"location":"awscliv2/installers/#download_file","title":"download_file","text":"Show source in installers.py:19
Download file from url
to target
path.
"},{"location":"awscliv2/installers/#signature","title":"Signature","text":"def download_file(url: str, target: Path) -> None:\n...\n
"},{"location":"awscliv2/installers/#install_linux","title":"install_linux","text":"Show source in installers.py:72
Install AWS CLI v2 for Linux from url
.
"},{"location":"awscliv2/installers/#signature_1","title":"Signature","text":"def install_linux(url: str) -> None:\n...\n
"},{"location":"awscliv2/installers/#install_linux_arm","title":"install_linux_arm","text":"Show source in installers.py:65
Install AWS CLI v2 for Linux ARM.
"},{"location":"awscliv2/installers/#signature_2","title":"Signature","text":"def install_linux_arm() -> None:\n...\n
"},{"location":"awscliv2/installers/#install_linux_x86_64","title":"install_linux_x86_64","text":"Show source in installers.py:58
Install AWS CLI v2 for Linux x86_64.
"},{"location":"awscliv2/installers/#signature_3","title":"Signature","text":"def install_linux_x86_64() -> None:\n...\n
"},{"location":"awscliv2/installers/#install_macos","title":"install_macos","text":"Show source in installers.py:28
Install AWS CLI v2 for MacOS.
"},{"location":"awscliv2/installers/#signature_4","title":"Signature","text":"def install_macos() -> None:\n...\n
"},{"location":"awscliv2/installers/#install_multiplatform","title":"install_multiplatform","text":"Show source in installers.py:114
Install AWS CLI v2 for Linux ar MacOS.
"},{"location":"awscliv2/installers/#signature_5","title":"Signature","text":"def install_multiplatform() -> None:\n...\n
"},{"location":"awscliv2/interactive_process/","title":"InteractiveProcess","text":"Awscliv2 Index / Awscliv2 / InteractiveProcess
Auto-generated documentation for awscliv2.interactive_process module.
"},{"location":"awscliv2/interactive_process/#interactiveprocess_1","title":"InteractiveProcess","text":"Show source in interactive_process.py:15
Wrapper for subrocess.Popen with interactive input support.
"},{"location":"awscliv2/interactive_process/#signature","title":"Signature","text":"class InteractiveProcess:\ndef __init__(self, command: Sequence[str], encoding: str = ENCODING) -> None:\n...\n
"},{"location":"awscliv2/interactive_process/#see-also","title":"See also","text":" - ENCODING
"},{"location":"awscliv2/interactive_process/#interactiveprocessreadall","title":"InteractiveProcess().readall","text":"Show source in interactive_process.py:53
Write input from stdin
stream to process
.
"},{"location":"awscliv2/interactive_process/#arguments","title":"Arguments","text":" process
- Popen process stdin
- Stream to read
"},{"location":"awscliv2/interactive_process/#signature_1","title":"Signature","text":"def readall(self, process: Popen, stdin: ignore) -> None:\n...\n
"},{"location":"awscliv2/interactive_process/#interactiveprocessrun","title":"InteractiveProcess().run","text":"Show source in interactive_process.py:76
Run interactive process with input from stdin
and output to stdout
.
"},{"location":"awscliv2/interactive_process/#arguments_1","title":"Arguments","text":" stdin
- Process stdin text stream stdout
- Process stdout text stream
"},{"location":"awscliv2/interactive_process/#raises","title":"Raises","text":" ExecutableNotFoundError
- Process executable not found SubprocessError
- Process error
"},{"location":"awscliv2/interactive_process/#returns","title":"Returns","text":"Process status code
"},{"location":"awscliv2/interactive_process/#signature_2","title":"Signature","text":"def run(self, stdin: TextIO = default_stdin, stdout: TextIO = default_stdout) -> int:\n...\n
"},{"location":"awscliv2/interactive_process/#interactiveprocesswriteall","title":"InteractiveProcess().writeall","text":"Show source in interactive_process.py:29
Read output from process
to stdout
stream.
"},{"location":"awscliv2/interactive_process/#arguments_2","title":"Arguments","text":" process
- Popen process stdout
- Stream to write
"},{"location":"awscliv2/interactive_process/#signature_3","title":"Signature","text":"def writeall(self, process: Popen, stdout: ignore) -> None:\n...\n
"},{"location":"awscliv2/logger/","title":"Logger","text":"Awscliv2 Index / Awscliv2 / Logger
Auto-generated documentation for awscliv2.logger module.
"},{"location":"awscliv2/logger/#get_logger","title":"get_logger","text":"Show source in logger.py:12
Get default logger.
"},{"location":"awscliv2/logger/#arguments","title":"Arguments","text":" level
- Python log level
"},{"location":"awscliv2/logger/#returns","title":"Returns","text":"New or existing logger instance.
"},{"location":"awscliv2/logger/#signature","title":"Signature","text":"def get_logger(level: int = logging.DEBUG) -> logging.Logger:\n...\n
"},{"location":"awscliv2/main/","title":"Main","text":"Awscliv2 Index / Awscliv2 / Main
Auto-generated documentation for awscliv2.main module.
"},{"location":"awscliv2/main/#main_1","title":"main","text":"Show source in main.py:14
Main program entrypoint.
"},{"location":"awscliv2/main/#signature","title":"Signature","text":"def main(args: Sequence[str]) -> int:\n...\n
"},{"location":"awscliv2/main/#main_cli","title":"main_cli","text":"Show source in main.py:58
Main entrypoint for CLI.
"},{"location":"awscliv2/main/#signature_1","title":"Signature","text":"def main_cli() -> None:\n...\n
"},{"location":"awscliv2/module/","title":"Module","text":"Awscliv2 Index / Awscliv2 / Module
Auto-generated documentation for awscliv2.main module.
"}]}
\ No newline at end of file
+{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"","title":"Awscliv2 Index","text":"Auto-generated documentation index.
A full list of Awscliv2 project modules.
- Awscliv2
- Module
- Api
- Cli Parser
- Constants
- Exceptions
- Installers
- InteractiveProcess
- Logger
- Main
"},{"location":"awscliv2/","title":"Awscliv2","text":"Awscliv2 Index / Awscliv2
Auto-generated documentation for awscliv2 module.
"},{"location":"awscliv2/#modules","title":"Modules","text":" - Module
- Api
- Cli Parser
- Constants
- Exceptions
- Installers
- InteractiveProcess
- Logger
- Main
"},{"location":"awscliv2/api/","title":"Api","text":"Awscliv2 Index / Awscliv2 / Api
Auto-generated documentation for awscliv2.api module.
"},{"location":"awscliv2/api/#awsapi","title":"AWSAPI","text":"Show source in api.py:18
API for all AWS CLI v2 commands.
Supports installed and dockerized AWS CLI v2.
"},{"location":"awscliv2/api/#arguments","title":"Arguments","text":" encoding
- Input/output encoding, default utf-8. output
- Output stream, default sys.stdout.
"},{"location":"awscliv2/api/#signature","title":"Signature","text":"class AWSAPI:\ndef __init__(\nself, encoding: str = ENCODING, output: Optional[TextIO] = None\n) -> None: ...\n
"},{"location":"awscliv2/api/#see-also","title":"See also","text":" - ENCODING
"},{"location":"awscliv2/api/#awsapiassume_role","title":"AWSAPI().assume_role","text":"Show source in api.py:135
Add assume role to credentials.
"},{"location":"awscliv2/api/#signature_1","title":"Signature","text":"def assume_role(self, profile_name: str, source_profile: str, role_arn: str) -> None: ...\n
"},{"location":"awscliv2/api/#awsapiexecute","title":"AWSAPI().execute","text":"Show source in api.py:79
Execute AWS CLI v2 command.
"},{"location":"awscliv2/api/#returns","title":"Returns","text":"Command output.
"},{"location":"awscliv2/api/#signature_2","title":"Signature","text":"def execute(self, args: Sequence[str]) -> str: ...\n
"},{"location":"awscliv2/api/#awsapiget_awscli_v2_cmd","title":"AWSAPI.get_awscli_v2_cmd","text":"Show source in api.py:34
Get command to run AWS CLI v2.
"},{"location":"awscliv2/api/#signature_3","title":"Signature","text":"@staticmethod\ndef get_awscli_v2_cmd() -> List[str]: ...\n
"},{"location":"awscliv2/api/#awsapiprint_version","title":"AWSAPI().print_version","text":"Show source in api.py:126
Print AWS CLI v2 version.
"},{"location":"awscliv2/api/#returns_1","title":"Returns","text":"Process exit code.
"},{"location":"awscliv2/api/#signature_4","title":"Signature","text":"def print_version(self) -> int: ...\n
"},{"location":"awscliv2/api/#awsapirun_awscli_v2","title":"AWSAPI().run_awscli_v2","text":"Show source in api.py:94
Run AWS CLI.
"},{"location":"awscliv2/api/#returns_2","title":"Returns","text":"Process exit code.
"},{"location":"awscliv2/api/#signature_5","title":"Signature","text":"def run_awscli_v2(self, args: Sequence[str]) -> int: ...\n
"},{"location":"awscliv2/api/#awsapirun_awscli_v2_detached","title":"AWSAPI().run_awscli_v2_detached","text":"Show source in api.py:110
Run AWS CLI as a detached subprocess.
"},{"location":"awscliv2/api/#returns_3","title":"Returns","text":"Process exit code.
"},{"location":"awscliv2/api/#signature_6","title":"Signature","text":"def run_awscli_v2_detached(self, args: Sequence[str]) -> int: ...\n
"},{"location":"awscliv2/api/#awsapiset_credentials","title":"AWSAPI().set_credentials","text":"Show source in api.py:171
Add or update credentials in ~/.aws/credentials
.
"},{"location":"awscliv2/api/#signature_7","title":"Signature","text":"def set_credentials(\nself,\nprofile_name: str,\naws_access_key_id: str,\naws_secret_access_key: str,\naws_session_token: str = \"\",\nregion: str = \"\",\n) -> None: ...\n
"},{"location":"awscliv2/cli_parser/","title":"Cli Parser","text":"Awscliv2 Index / Awscliv2 / Cli Parser
Auto-generated documentation for awscliv2.cli_parser module.
"},{"location":"awscliv2/cli_parser/#clinamespace","title":"CLINamespace","text":"Show source in cli_parser.py:30
Main CLI Namespace.
"},{"location":"awscliv2/cli_parser/#signature","title":"Signature","text":"class CLINamespace:\ndef __init__(\nself,\nconfigure: Sequence[str],\nassume_role: Sequence[str],\nencoding: str,\ninstall: bool,\nupdate: bool,\nversion: bool,\nother: Sequence[str],\n) -> None: ...\n
"},{"location":"awscliv2/cli_parser/#get_version","title":"get_version","text":"Show source in cli_parser.py:17
Get awscliv2 package version.
"},{"location":"awscliv2/cli_parser/#returns","title":"Returns","text":"Version as a string.
"},{"location":"awscliv2/cli_parser/#signature_1","title":"Signature","text":"def get_version() -> str: ...\n
"},{"location":"awscliv2/cli_parser/#parse_args","title":"parse_args","text":"Show source in cli_parser.py:54
Parse CLI arguments.
"},{"location":"awscliv2/cli_parser/#signature_2","title":"Signature","text":"def parse_args(args: Sequence[str]) -> CLINamespace: ...\n
"},{"location":"awscliv2/cli_parser/#see-also","title":"See also","text":" - CLINamespace
"},{"location":"awscliv2/constants/","title":"Constants","text":"Awscliv2 Index / Awscliv2 / Constants
Auto-generated documentation for awscliv2.constants module.
"},{"location":"awscliv2/exceptions/","title":"Exceptions","text":"Awscliv2 Index / Awscliv2 / Exceptions
Auto-generated documentation for awscliv2.exceptions module.
"},{"location":"awscliv2/exceptions/#awsclierror","title":"AWSCLIError","text":"Show source in exceptions.py:6
Main error for awscliv2.
"},{"location":"awscliv2/exceptions/#signature","title":"Signature","text":"class AWSCLIError(BaseException):\ndef __init__(self, msg: str = \"\", returncode: int = 1) -> None: ...\n
"},{"location":"awscliv2/exceptions/#executablenotfounderror","title":"ExecutableNotFoundError","text":"Show source in exceptions.py:32
Subprocess cannot find an executable error.
"},{"location":"awscliv2/exceptions/#signature_1","title":"Signature","text":"class ExecutableNotFoundError(BaseException): ...\n
"},{"location":"awscliv2/exceptions/#installerror","title":"InstallError","text":"Show source in exceptions.py:20
AWS CLi v2 installer error.
"},{"location":"awscliv2/exceptions/#signature_2","title":"Signature","text":"class InstallError(AWSCLIError): ...\n
"},{"location":"awscliv2/exceptions/#see-also","title":"See also","text":" - AWSCLIError
"},{"location":"awscliv2/exceptions/#subprocesserror","title":"SubprocessError","text":"Show source in exceptions.py:26
Subprocess interrupted error.
"},{"location":"awscliv2/exceptions/#signature_3","title":"Signature","text":"class SubprocessError(BaseException): ...\n
"},{"location":"awscliv2/installers/","title":"Installers","text":"Awscliv2 Index / Awscliv2 / Installers
Auto-generated documentation for awscliv2.installers module.
"},{"location":"awscliv2/installers/#download_file","title":"download_file","text":"Show source in installers.py:19
Download file from url
to target
path.
"},{"location":"awscliv2/installers/#signature","title":"Signature","text":"def download_file(url: str, target: Path) -> None: ...\n
"},{"location":"awscliv2/installers/#install_linux","title":"install_linux","text":"Show source in installers.py:72
Install AWS CLI v2 for Linux from url
.
"},{"location":"awscliv2/installers/#signature_1","title":"Signature","text":"def install_linux(url: str) -> None: ...\n
"},{"location":"awscliv2/installers/#install_linux_arm","title":"install_linux_arm","text":"Show source in installers.py:65
Install AWS CLI v2 for Linux ARM.
"},{"location":"awscliv2/installers/#signature_2","title":"Signature","text":"def install_linux_arm() -> None: ...\n
"},{"location":"awscliv2/installers/#install_linux_x86_64","title":"install_linux_x86_64","text":"Show source in installers.py:58
Install AWS CLI v2 for Linux x86_64.
"},{"location":"awscliv2/installers/#signature_3","title":"Signature","text":"def install_linux_x86_64() -> None: ...\n
"},{"location":"awscliv2/installers/#install_macos","title":"install_macos","text":"Show source in installers.py:28
Install AWS CLI v2 for MacOS.
"},{"location":"awscliv2/installers/#signature_4","title":"Signature","text":"def install_macos() -> None: ...\n
"},{"location":"awscliv2/installers/#install_multiplatform","title":"install_multiplatform","text":"Show source in installers.py:114
Install AWS CLI v2 for Linux ar MacOS.
"},{"location":"awscliv2/installers/#signature_5","title":"Signature","text":"def install_multiplatform() -> None: ...\n
"},{"location":"awscliv2/interactive_process/","title":"InteractiveProcess","text":"Awscliv2 Index / Awscliv2 / InteractiveProcess
Auto-generated documentation for awscliv2.interactive_process module.
"},{"location":"awscliv2/interactive_process/#interactiveprocess_1","title":"InteractiveProcess","text":"Show source in interactive_process.py:15
Wrapper for subrocess.Popen with interactive input support.
"},{"location":"awscliv2/interactive_process/#signature","title":"Signature","text":"class InteractiveProcess:\ndef __init__(self, command: Sequence[str], encoding: str = ENCODING) -> None: ...\n
"},{"location":"awscliv2/interactive_process/#see-also","title":"See also","text":" - ENCODING
"},{"location":"awscliv2/interactive_process/#interactiveprocessreadall","title":"InteractiveProcess().readall","text":"Show source in interactive_process.py:53
Write input from stdin
stream to process
.
"},{"location":"awscliv2/interactive_process/#arguments","title":"Arguments","text":" process
- Popen process stdin
- Stream to read
"},{"location":"awscliv2/interactive_process/#signature_1","title":"Signature","text":"def readall(self, process: Popen, stdin: ignore) -> None: ...\n
"},{"location":"awscliv2/interactive_process/#interactiveprocessrun","title":"InteractiveProcess().run","text":"Show source in interactive_process.py:76
Run interactive process with input from stdin
and output to stdout
.
"},{"location":"awscliv2/interactive_process/#arguments_1","title":"Arguments","text":" stdin
- Process stdin text stream stdout
- Process stdout text stream
"},{"location":"awscliv2/interactive_process/#raises","title":"Raises","text":" ExecutableNotFoundError
- Process executable not found SubprocessError
- Process error
"},{"location":"awscliv2/interactive_process/#returns","title":"Returns","text":"Process status code
"},{"location":"awscliv2/interactive_process/#signature_2","title":"Signature","text":"def run(self, stdin: TextIO = default_stdin, stdout: TextIO = default_stdout) -> int: ...\n
"},{"location":"awscliv2/interactive_process/#interactiveprocesswriteall","title":"InteractiveProcess().writeall","text":"Show source in interactive_process.py:29
Read output from process
to stdout
stream.
"},{"location":"awscliv2/interactive_process/#arguments_2","title":"Arguments","text":" process
- Popen process stdout
- Stream to write
"},{"location":"awscliv2/interactive_process/#signature_3","title":"Signature","text":"def writeall(self, process: Popen, stdout: ignore) -> None: ...\n
"},{"location":"awscliv2/logger/","title":"Logger","text":"Awscliv2 Index / Awscliv2 / Logger
Auto-generated documentation for awscliv2.logger module.
"},{"location":"awscliv2/logger/#get_logger","title":"get_logger","text":"Show source in logger.py:12
Get default logger.
"},{"location":"awscliv2/logger/#arguments","title":"Arguments","text":" level
- Python log level
"},{"location":"awscliv2/logger/#returns","title":"Returns","text":"New or existing logger instance.
"},{"location":"awscliv2/logger/#signature","title":"Signature","text":"def get_logger(level: int = logging.DEBUG) -> logging.Logger: ...\n
"},{"location":"awscliv2/main/","title":"Main","text":"Awscliv2 Index / Awscliv2 / Main
Auto-generated documentation for awscliv2.main module.
"},{"location":"awscliv2/main/#main_1","title":"main","text":"Show source in main.py:14
Main program entrypoint.
"},{"location":"awscliv2/main/#signature","title":"Signature","text":"def main(args: Sequence[str]) -> int: ...\n
"},{"location":"awscliv2/main/#main_cli","title":"main_cli","text":"Show source in main.py:58
Main entrypoint for CLI.
"},{"location":"awscliv2/main/#signature_1","title":"Signature","text":"def main_cli() -> None: ...\n
"},{"location":"awscliv2/module/","title":"Module","text":"Awscliv2 Index / Awscliv2 / Module
Auto-generated documentation for awscliv2.main module.
"}]}
\ No newline at end of file
diff --git a/docs/sitemap.xml.gz b/docs/sitemap.xml.gz
index 9cd0753..4c3f48e 100644
Binary files a/docs/sitemap.xml.gz and b/docs/sitemap.xml.gz differ
diff --git a/docsmd/awscliv2/api.md b/docsmd/awscliv2/api.md
index 4e3abf3..44e1620 100644
--- a/docsmd/awscliv2/api.md
+++ b/docsmd/awscliv2/api.md
@@ -8,7 +8,7 @@ Api
## AWSAPI
-[Show source in api.py:19](https://github.com/youtype/awscliv2/blob/main/awscliv2/api.py#L19)
+[Show source in api.py:18](https://github.com/youtype/awscliv2/blob/main/awscliv2/api.py#L18)
API for all AWS CLI v2 commands.
@@ -25,8 +25,7 @@ Supports installed and dockerized AWS CLI v2.
class AWSAPI:
def __init__(
self, encoding: str = ENCODING, output: Optional[TextIO] = None
- ) -> None:
- ...
+ ) -> None: ...
```
#### See also
@@ -35,20 +34,19 @@ class AWSAPI:
### AWSAPI().assume_role
-[Show source in api.py:134](https://github.com/youtype/awscliv2/blob/main/awscliv2/api.py#L134)
+[Show source in api.py:135](https://github.com/youtype/awscliv2/blob/main/awscliv2/api.py#L135)
Add assume role to credentials.
#### Signature
```python
-def assume_role(self, profile_name: str, source_profile: str, role_arn: str) -> None:
- ...
+def assume_role(self, profile_name: str, source_profile: str, role_arn: str) -> None: ...
```
### AWSAPI().execute
-[Show source in api.py:78](https://github.com/youtype/awscliv2/blob/main/awscliv2/api.py#L78)
+[Show source in api.py:79](https://github.com/youtype/awscliv2/blob/main/awscliv2/api.py#L79)
Execute AWS CLI v2 command.
@@ -59,13 +57,12 @@ Command output.
#### Signature
```python
-def execute(self, args: Sequence[str]) -> str:
- ...
+def execute(self, args: Sequence[str]) -> str: ...
```
### AWSAPI.get_awscli_v2_cmd
-[Show source in api.py:35](https://github.com/youtype/awscliv2/blob/main/awscliv2/api.py#L35)
+[Show source in api.py:34](https://github.com/youtype/awscliv2/blob/main/awscliv2/api.py#L34)
Get command to run AWS CLI v2.
@@ -73,13 +70,12 @@ Get command to run AWS CLI v2.
```python
@staticmethod
-def get_awscli_v2_cmd() -> List[str]:
- ...
+def get_awscli_v2_cmd() -> List[str]: ...
```
### AWSAPI().print_version
-[Show source in api.py:125](https://github.com/youtype/awscliv2/blob/main/awscliv2/api.py#L125)
+[Show source in api.py:126](https://github.com/youtype/awscliv2/blob/main/awscliv2/api.py#L126)
Print AWS CLI v2 version.
@@ -90,13 +86,12 @@ Process exit code.
#### Signature
```python
-def print_version(self) -> int:
- ...
+def print_version(self) -> int: ...
```
### AWSAPI().run_awscli_v2
-[Show source in api.py:93](https://github.com/youtype/awscliv2/blob/main/awscliv2/api.py#L93)
+[Show source in api.py:94](https://github.com/youtype/awscliv2/blob/main/awscliv2/api.py#L94)
Run AWS CLI.
@@ -107,13 +102,12 @@ Process exit code.
#### Signature
```python
-def run_awscli_v2(self, args: Sequence[str]) -> int:
- ...
+def run_awscli_v2(self, args: Sequence[str]) -> int: ...
```
### AWSAPI().run_awscli_v2_detached
-[Show source in api.py:109](https://github.com/youtype/awscliv2/blob/main/awscliv2/api.py#L109)
+[Show source in api.py:110](https://github.com/youtype/awscliv2/blob/main/awscliv2/api.py#L110)
Run AWS CLI as a detached subprocess.
@@ -124,13 +118,12 @@ Process exit code.
#### Signature
```python
-def run_awscli_v2_detached(self, args: Sequence[str]) -> int:
- ...
+def run_awscli_v2_detached(self, args: Sequence[str]) -> int: ...
```
### AWSAPI().set_credentials
-[Show source in api.py:170](https://github.com/youtype/awscliv2/blob/main/awscliv2/api.py#L170)
+[Show source in api.py:171](https://github.com/youtype/awscliv2/blob/main/awscliv2/api.py#L171)
Add or update credentials in `~/.aws/credentials`.
@@ -144,6 +137,5 @@ def set_credentials(
aws_secret_access_key: str,
aws_session_token: str = "",
region: str = "",
-) -> None:
- ...
+) -> None: ...
```
diff --git a/docsmd/awscliv2/cli_parser.md b/docsmd/awscliv2/cli_parser.md
index 3d1930d..b20fca2 100644
--- a/docsmd/awscliv2/cli_parser.md
+++ b/docsmd/awscliv2/cli_parser.md
@@ -25,8 +25,7 @@ class CLINamespace:
update: bool,
version: bool,
other: Sequence[str],
- ) -> None:
- ...
+ ) -> None: ...
```
@@ -44,8 +43,7 @@ Version as a string.
#### Signature
```python
-def get_version() -> str:
- ...
+def get_version() -> str: ...
```
@@ -59,8 +57,7 @@ Parse CLI arguments.
#### Signature
```python
-def parse_args(args: Sequence[str]) -> CLINamespace:
- ...
+def parse_args(args: Sequence[str]) -> CLINamespace: ...
```
#### See also
diff --git a/docsmd/awscliv2/exceptions.md b/docsmd/awscliv2/exceptions.md
index 3f5380c..7ed4c55 100644
--- a/docsmd/awscliv2/exceptions.md
+++ b/docsmd/awscliv2/exceptions.md
@@ -16,8 +16,7 @@ Main error for awscliv2.
```python
class AWSCLIError(BaseException):
- def __init__(self, msg: str = "", returncode: int = 1) -> None:
- ...
+ def __init__(self, msg: str = "", returncode: int = 1) -> None: ...
```
@@ -31,8 +30,7 @@ Subprocess cannot find an executable error.
#### Signature
```python
-class ExecutableNotFoundError(BaseException):
- ...
+class ExecutableNotFoundError(BaseException): ...
```
@@ -46,8 +44,7 @@ AWS CLi v2 installer error.
#### Signature
```python
-class InstallError(AWSCLIError):
- ...
+class InstallError(AWSCLIError): ...
```
#### See also
@@ -65,6 +62,5 @@ Subprocess interrupted error.
#### Signature
```python
-class SubprocessError(BaseException):
- ...
+class SubprocessError(BaseException): ...
```
diff --git a/docsmd/awscliv2/installers.md b/docsmd/awscliv2/installers.md
index 1ab8520..de1a704 100644
--- a/docsmd/awscliv2/installers.md
+++ b/docsmd/awscliv2/installers.md
@@ -15,8 +15,7 @@ Download file from `url` to `target` path.
#### Signature
```python
-def download_file(url: str, target: Path) -> None:
- ...
+def download_file(url: str, target: Path) -> None: ...
```
@@ -30,8 +29,7 @@ Install AWS CLI v2 for Linux from `url`.
#### Signature
```python
-def install_linux(url: str) -> None:
- ...
+def install_linux(url: str) -> None: ...
```
@@ -45,8 +43,7 @@ Install AWS CLI v2 for Linux ARM.
#### Signature
```python
-def install_linux_arm() -> None:
- ...
+def install_linux_arm() -> None: ...
```
@@ -60,8 +57,7 @@ Install AWS CLI v2 for Linux x86_64.
#### Signature
```python
-def install_linux_x86_64() -> None:
- ...
+def install_linux_x86_64() -> None: ...
```
@@ -75,8 +71,7 @@ Install AWS CLI v2 for MacOS.
#### Signature
```python
-def install_macos() -> None:
- ...
+def install_macos() -> None: ...
```
@@ -90,6 +85,5 @@ Install AWS CLI v2 for Linux ar MacOS.
#### Signature
```python
-def install_multiplatform() -> None:
- ...
+def install_multiplatform() -> None: ...
```
diff --git a/docsmd/awscliv2/interactive_process.md b/docsmd/awscliv2/interactive_process.md
index 5a9e229..4f9c008 100644
--- a/docsmd/awscliv2/interactive_process.md
+++ b/docsmd/awscliv2/interactive_process.md
@@ -16,8 +16,7 @@ Wrapper for subrocess.Popen with interactive input support.
```python
class InteractiveProcess:
- def __init__(self, command: Sequence[str], encoding: str = ENCODING) -> None:
- ...
+ def __init__(self, command: Sequence[str], encoding: str = ENCODING) -> None: ...
```
#### See also
@@ -38,8 +37,7 @@ Write input from `stdin` stream to `process`.
#### Signature
```python
-def readall(self, process: Popen, stdin: ignore) -> None:
- ...
+def readall(self, process: Popen, stdin: ignore) -> None: ...
```
### InteractiveProcess().run
@@ -65,8 +63,7 @@ Process status code
#### Signature
```python
-def run(self, stdin: TextIO = default_stdin, stdout: TextIO = default_stdout) -> int:
- ...
+def run(self, stdin: TextIO = default_stdin, stdout: TextIO = default_stdout) -> int: ...
```
### InteractiveProcess().writeall
@@ -83,6 +80,5 @@ Read output from `process` to `stdout` stream.
#### Signature
```python
-def writeall(self, process: Popen, stdout: ignore) -> None:
- ...
+def writeall(self, process: Popen, stdout: ignore) -> None: ...
```
diff --git a/docsmd/awscliv2/logger.md b/docsmd/awscliv2/logger.md
index c1f8da1..b889d85 100644
--- a/docsmd/awscliv2/logger.md
+++ b/docsmd/awscliv2/logger.md
@@ -23,6 +23,5 @@ New or existing logger instance.
#### Signature
```python
-def get_logger(level: int = logging.DEBUG) -> logging.Logger:
- ...
+def get_logger(level: int = logging.DEBUG) -> logging.Logger: ...
```
diff --git a/docsmd/awscliv2/main.md b/docsmd/awscliv2/main.md
index ead3dd5..ef2c9d3 100644
--- a/docsmd/awscliv2/main.md
+++ b/docsmd/awscliv2/main.md
@@ -15,8 +15,7 @@ Main program entrypoint.
#### Signature
```python
-def main(args: Sequence[str]) -> int:
- ...
+def main(args: Sequence[str]) -> int: ...
```
@@ -30,6 +29,5 @@ Main entrypoint for CLI.
#### Signature
```python
-def main_cli() -> None:
- ...
+def main_cli() -> None: ...
```
diff --git a/poetry.lock b/poetry.lock
index 951edd6..3c6b6dc 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -1,4 +1,4 @@
-# This file is automatically @generated by Poetry 1.5.1 and should not be changed by hand.
+# This file is automatically @generated by Poetry 1.6.1 and should not be changed by hand.
[[package]]
name = "astor"
@@ -31,33 +31,29 @@ tests-no-zope = ["cloudpickle", "hypothesis", "mypy (>=1.1.1)", "pympler", "pyte
[[package]]
name = "black"
-version = "23.7.0"
+version = "23.10.1"
description = "The uncompromising code formatter."
optional = false
python-versions = ">=3.8"
files = [
- {file = "black-23.7.0-cp310-cp310-macosx_10_16_arm64.whl", hash = "sha256:5c4bc552ab52f6c1c506ccae05681fab58c3f72d59ae6e6639e8885e94fe2587"},
- {file = "black-23.7.0-cp310-cp310-macosx_10_16_universal2.whl", hash = "sha256:552513d5cd5694590d7ef6f46e1767a4df9af168d449ff767b13b084c020e63f"},
- {file = "black-23.7.0-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:86cee259349b4448adb4ef9b204bb4467aae74a386bce85d56ba4f5dc0da27be"},
- {file = "black-23.7.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:501387a9edcb75d7ae8a4412bb8749900386eaef258f1aefab18adddea1936bc"},
- {file = "black-23.7.0-cp310-cp310-win_amd64.whl", hash = "sha256:fb074d8b213749fa1d077d630db0d5f8cc3b2ae63587ad4116e8a436e9bbe995"},
- {file = "black-23.7.0-cp311-cp311-macosx_10_16_arm64.whl", hash = "sha256:b5b0ee6d96b345a8b420100b7d71ebfdd19fab5e8301aff48ec270042cd40ac2"},
- {file = "black-23.7.0-cp311-cp311-macosx_10_16_universal2.whl", hash = "sha256:893695a76b140881531062d48476ebe4a48f5d1e9388177e175d76234ca247cd"},
- {file = "black-23.7.0-cp311-cp311-macosx_10_16_x86_64.whl", hash = "sha256:c333286dc3ddca6fdff74670b911cccedacb4ef0a60b34e491b8a67c833b343a"},
- {file = "black-23.7.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:831d8f54c3a8c8cf55f64d0422ee875eecac26f5f649fb6c1df65316b67c8926"},
- {file = "black-23.7.0-cp311-cp311-win_amd64.whl", hash = "sha256:7f3bf2dec7d541b4619b8ce526bda74a6b0bffc480a163fed32eb8b3c9aed8ad"},
- {file = "black-23.7.0-cp38-cp38-macosx_10_16_arm64.whl", hash = "sha256:f9062af71c59c004cd519e2fb8f5d25d39e46d3af011b41ab43b9c74e27e236f"},
- {file = "black-23.7.0-cp38-cp38-macosx_10_16_universal2.whl", hash = "sha256:01ede61aac8c154b55f35301fac3e730baf0c9cf8120f65a9cd61a81cfb4a0c3"},
- {file = "black-23.7.0-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:327a8c2550ddc573b51e2c352adb88143464bb9d92c10416feb86b0f5aee5ff6"},
- {file = "black-23.7.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d1c6022b86f83b632d06f2b02774134def5d4d4f1dac8bef16d90cda18ba28a"},
- {file = "black-23.7.0-cp38-cp38-win_amd64.whl", hash = "sha256:27eb7a0c71604d5de083757fbdb245b1a4fae60e9596514c6ec497eb63f95320"},
- {file = "black-23.7.0-cp39-cp39-macosx_10_16_arm64.whl", hash = "sha256:8417dbd2f57b5701492cd46edcecc4f9208dc75529bcf76c514864e48da867d9"},
- {file = "black-23.7.0-cp39-cp39-macosx_10_16_universal2.whl", hash = "sha256:47e56d83aad53ca140da0af87678fb38e44fd6bc0af71eebab2d1f59b1acf1d3"},
- {file = "black-23.7.0-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:25cc308838fe71f7065df53aedd20327969d05671bac95b38fdf37ebe70ac087"},
- {file = "black-23.7.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:642496b675095d423f9b8448243336f8ec71c9d4d57ec17bf795b67f08132a91"},
- {file = "black-23.7.0-cp39-cp39-win_amd64.whl", hash = "sha256:ad0014efc7acf0bd745792bd0d8857413652979200ab924fbf239062adc12491"},
- {file = "black-23.7.0-py3-none-any.whl", hash = "sha256:9fd59d418c60c0348505f2ddf9609c1e1de8e7493eab96198fc89d9f865e7a96"},
- {file = "black-23.7.0.tar.gz", hash = "sha256:022a582720b0d9480ed82576c920a8c1dde97cc38ff11d8d8859b3bd6ca9eedb"},
+ {file = "black-23.10.1-cp310-cp310-macosx_10_16_arm64.whl", hash = "sha256:ec3f8e6234c4e46ff9e16d9ae96f4ef69fa328bb4ad08198c8cee45bb1f08c69"},
+ {file = "black-23.10.1-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:1b917a2aa020ca600483a7b340c165970b26e9029067f019e3755b56e8dd5916"},
+ {file = "black-23.10.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c74de4c77b849e6359c6f01987e94873c707098322b91490d24296f66d067dc"},
+ {file = "black-23.10.1-cp310-cp310-win_amd64.whl", hash = "sha256:7b4d10b0f016616a0d93d24a448100adf1699712fb7a4efd0e2c32bbb219b173"},
+ {file = "black-23.10.1-cp311-cp311-macosx_10_16_arm64.whl", hash = "sha256:b15b75fc53a2fbcac8a87d3e20f69874d161beef13954747e053bca7a1ce53a0"},
+ {file = "black-23.10.1-cp311-cp311-macosx_10_16_x86_64.whl", hash = "sha256:e293e4c2f4a992b980032bbd62df07c1bcff82d6964d6c9496f2cd726e246ace"},
+ {file = "black-23.10.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7d56124b7a61d092cb52cce34182a5280e160e6aff3137172a68c2c2c4b76bcb"},
+ {file = "black-23.10.1-cp311-cp311-win_amd64.whl", hash = "sha256:3f157a8945a7b2d424da3335f7ace89c14a3b0625e6593d21139c2d8214d55ce"},
+ {file = "black-23.10.1-cp38-cp38-macosx_10_16_arm64.whl", hash = "sha256:cfcce6f0a384d0da692119f2d72d79ed07c7159879d0bb1bb32d2e443382bf3a"},
+ {file = "black-23.10.1-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:33d40f5b06be80c1bbce17b173cda17994fbad096ce60eb22054da021bf933d1"},
+ {file = "black-23.10.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:840015166dbdfbc47992871325799fd2dc0dcf9395e401ada6d88fe11498abad"},
+ {file = "black-23.10.1-cp38-cp38-win_amd64.whl", hash = "sha256:037e9b4664cafda5f025a1728c50a9e9aedb99a759c89f760bd83730e76ba884"},
+ {file = "black-23.10.1-cp39-cp39-macosx_10_16_arm64.whl", hash = "sha256:7cb5936e686e782fddb1c73f8aa6f459e1ad38a6a7b0e54b403f1f05a1507ee9"},
+ {file = "black-23.10.1-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:7670242e90dc129c539e9ca17665e39a146a761e681805c54fbd86015c7c84f7"},
+ {file = "black-23.10.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5ed45ac9a613fb52dad3b61c8dea2ec9510bf3108d4db88422bacc7d1ba1243d"},
+ {file = "black-23.10.1-cp39-cp39-win_amd64.whl", hash = "sha256:6d23d7822140e3fef190734216cefb262521789367fbdc0b3f22af6744058982"},
+ {file = "black-23.10.1-py3-none-any.whl", hash = "sha256:d431e6739f727bb2e0495df64a6c7a5310758e87505f5f8cde9ff6c0f2d7e4fe"},
+ {file = "black-23.10.1.tar.gz", hash = "sha256:1f8ce316753428ff68749c65a5f7844631aa18c8679dfd3ca9dc1a289979c258"},
]
[package.dependencies]
@@ -67,6 +63,7 @@ packaging = ">=22.0"
pathspec = ">=0.9.0"
platformdirs = ">=2"
tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""}
+typing-extensions = {version = ">=4.0.1", markers = "python_version < \"3.11\""}
[package.extras]
colorama = ["colorama (>=0.4.3)"]
@@ -76,13 +73,13 @@ uvloop = ["uvloop (>=0.15.2)"]
[[package]]
name = "click"
-version = "8.1.6"
+version = "8.1.7"
description = "Composable command line interface toolkit"
optional = false
python-versions = ">=3.7"
files = [
- {file = "click-8.1.6-py3-none-any.whl", hash = "sha256:fa244bb30b3b5ee2cae3da8f55c9e5e0c0e86093306301fb418eb9dc40fbded5"},
- {file = "click-8.1.6.tar.gz", hash = "sha256:48ee849951919527a045bfe3bf7baa8a959c423134e1a5b98c05c20ba75a1cbd"},
+ {file = "click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28"},
+ {file = "click-8.1.7.tar.gz", hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"},
]
[package.dependencies]
@@ -99,23 +96,6 @@ files = [
{file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"},
]
-[[package]]
-name = "coloredlogs"
-version = "15.0.1"
-description = "Colored terminal output for Python's logging module"
-optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
-files = [
- {file = "coloredlogs-15.0.1-py2.py3-none-any.whl", hash = "sha256:612ee75c546f53e92e70049c9dbfcc18c935a2b9a53b66085ce9ef6a6e5c0934"},
- {file = "coloredlogs-15.0.1.tar.gz", hash = "sha256:7c991aa71a4577af2f82600d8f8f3a89f936baeaf9b50a9c197da014e5bf16b0"},
-]
-
-[package.dependencies]
-humanfriendly = ">=9.1"
-
-[package.extras]
-cron = ["capturer (>=2.4)"]
-
[[package]]
name = "coverage"
version = "7.2.7"
@@ -193,72 +173,43 @@ toml = ["tomli"]
[[package]]
name = "exceptiongroup"
-version = "1.1.2"
+version = "1.1.3"
description = "Backport of PEP 654 (exception groups)"
optional = false
python-versions = ">=3.7"
files = [
- {file = "exceptiongroup-1.1.2-py3-none-any.whl", hash = "sha256:e346e69d186172ca7cf029c8c1d16235aa0e04035e5750b4b95039e65204328f"},
- {file = "exceptiongroup-1.1.2.tar.gz", hash = "sha256:12c3e887d6485d16943a309616de20ae5582633e0a2eda17f4e10fd61c1e8af5"},
+ {file = "exceptiongroup-1.1.3-py3-none-any.whl", hash = "sha256:343280667a4585d195ca1cf9cef84a4e178c4b6cf2274caef9859782b567d5e3"},
+ {file = "exceptiongroup-1.1.3.tar.gz", hash = "sha256:097acd85d473d75af5bb98e41b61ff7fe35efe6675e4f9370ec6ec5126d160e9"},
]
[package.extras]
test = ["pytest (>=6)"]
-[[package]]
-name = "executor"
-version = "23.2"
-description = "Programmer friendly subprocess wrapper"
-optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
-files = [
- {file = "executor-23.2-py2.py3-none-any.whl", hash = "sha256:f2ea8cf92a1570a9898d5915b9620033aa9d4789eaf27e8a915d91dc8ba83dd9"},
- {file = "executor-23.2.tar.gz", hash = "sha256:e1c6c18ceca9e64f3f9e691bc5271806037c9a96c01e683ce46c03494af6033d"},
-]
-
-[package.dependencies]
-coloredlogs = ">=3.5"
-fasteners = ">=0.14.1"
-humanfriendly = ">=8.0"
-property-manager = ">=3.0"
-six = ">=1.9.0"
-
-[[package]]
-name = "fasteners"
-version = "0.18"
-description = "A python package that provides useful locks"
-optional = false
-python-versions = ">=3.6"
-files = [
- {file = "fasteners-0.18-py3-none-any.whl", hash = "sha256:1d4caf5f8db57b0e4107d94fd5a1d02510a450dced6ca77d1839064c1bacf20c"},
- {file = "fasteners-0.18.tar.gz", hash = "sha256:cb7c13ef91e0c7e4fe4af38ecaf6b904ec3f5ce0dda06d34924b6b74b869d953"},
-]
-
[[package]]
name = "flake8"
-version = "6.0.0"
+version = "6.1.0"
description = "the modular source code checker: pep8 pyflakes and co"
optional = false
python-versions = ">=3.8.1"
files = [
- {file = "flake8-6.0.0-py2.py3-none-any.whl", hash = "sha256:3833794e27ff64ea4e9cf5d410082a8b97ff1a06c16aa3d2027339cd0f1195c7"},
- {file = "flake8-6.0.0.tar.gz", hash = "sha256:c61007e76655af75e6785a931f452915b371dc48f56efd765247c8fe68f2b181"},
+ {file = "flake8-6.1.0-py2.py3-none-any.whl", hash = "sha256:ffdfce58ea94c6580c77888a86506937f9a1a227dfcd15f245d694ae20a6b6e5"},
+ {file = "flake8-6.1.0.tar.gz", hash = "sha256:d5b3857f07c030bdb5bf41c7f53799571d75c4491748a3adcd47de929e34cd23"},
]
[package.dependencies]
mccabe = ">=0.7.0,<0.8.0"
-pycodestyle = ">=2.10.0,<2.11.0"
-pyflakes = ">=3.0.0,<3.1.0"
+pycodestyle = ">=2.11.0,<2.12.0"
+pyflakes = ">=3.1.0,<3.2.0"
[[package]]
name = "flake8-bugbear"
-version = "23.7.10"
+version = "23.9.16"
description = "A plugin for flake8 finding likely bugs and design problems in your program. Contains warnings that don't belong in pyflakes and pycodestyle."
optional = false
python-versions = ">=3.8.1"
files = [
- {file = "flake8-bugbear-23.7.10.tar.gz", hash = "sha256:0ebdc7d8ec1ca8bd49347694562381f099f4de2f8ec6bda7a7dca65555d9e0d4"},
- {file = "flake8_bugbear-23.7.10-py3-none-any.whl", hash = "sha256:d99d005114020fbef47ed5e4aebafd22f167f9a0fbd0d8bf3c9e90612cb25c34"},
+ {file = "flake8-bugbear-23.9.16.tar.gz", hash = "sha256:90cf04b19ca02a682feb5aac67cae8de742af70538590509941ab10ae8351f71"},
+ {file = "flake8_bugbear-23.9.16-py3-none-any.whl", hash = "sha256:b182cf96ea8f7a8595b2f87321d7d9b28728f4d9c3318012d896543d19742cb5"},
]
[package.dependencies]
@@ -299,13 +250,13 @@ pydocstyle = ">=2.1"
[[package]]
name = "flake8-simplify"
-version = "0.20.0"
+version = "0.21.0"
description = "flake8 plugin which checks for code that can be simplified"
optional = false
python-versions = ">=3.6.1"
files = [
- {file = "flake8_simplify-0.20.0-py3-none-any.whl", hash = "sha256:599a47824726c93fadcf0274e569daed45052e38cd906360d9080eaa3bd76d61"},
- {file = "flake8_simplify-0.20.0.tar.gz", hash = "sha256:7b8796bbea8aed45f56621c389d0556cc86f0afa5d992581139451240a8fbeca"},
+ {file = "flake8_simplify-0.21.0-py3-none-any.whl", hash = "sha256:439391e762a9370b371208add0b5c5c40c3d25a98e1f5421d263215d08194183"},
+ {file = "flake8_simplify-0.21.0.tar.gz", hash = "sha256:c95ff1dcc1de5949af47e0087cbf1164445881131b15bcd7a71252670f492f4d"},
]
[package.dependencies]
@@ -344,21 +295,6 @@ jinja2 = "*"
pip = "*"
typed-ast = "*"
-[[package]]
-name = "humanfriendly"
-version = "10.0"
-description = "Human friendly output for text interfaces using Python"
-optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
-files = [
- {file = "humanfriendly-10.0-py2.py3-none-any.whl", hash = "sha256:1697e1a8a8f550fd43c2865cd84542fc175a61dcb779b6fee18cf6b6ccba1477"},
- {file = "humanfriendly-10.0.tar.gz", hash = "sha256:6b0b831ce8f15f7300721aa49829fc4e83921a9a301cc7f606be6686a2288ddc"},
-]
-
-[package.dependencies]
-pyreadline = {version = "*", markers = "sys_platform == \"win32\" and python_version < \"3.8\""}
-pyreadline3 = {version = "*", markers = "sys_platform == \"win32\" and python_version >= \"3.8\""}
-
[[package]]
name = "importlib-metadata"
version = "6.7.0"
@@ -381,18 +317,18 @@ testing = ["flufl.flake8", "importlib-resources (>=1.3)", "packaging", "pyfakefs
[[package]]
name = "importlib-resources"
-version = "6.0.0"
+version = "6.1.1"
description = "Read resources from Python packages"
optional = false
python-versions = ">=3.8"
files = [
- {file = "importlib_resources-6.0.0-py3-none-any.whl", hash = "sha256:d952faee11004c045f785bb5636e8f885bed30dc3c940d5d42798a2a4541c185"},
- {file = "importlib_resources-6.0.0.tar.gz", hash = "sha256:4cf94875a8368bd89531a756df9a9ebe1f150e0f885030b461237bc7f2d905f2"},
+ {file = "importlib_resources-6.1.1-py3-none-any.whl", hash = "sha256:e8bf90d8213b486f428c9c39714b920041cb02c184686a3dee24905aaa8105d6"},
+ {file = "importlib_resources-6.1.1.tar.gz", hash = "sha256:3893a00122eafde6894c59914446a512f728a0c1a45f9bb9b63721b6bacf0b4a"},
]
[package.extras]
-docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"]
-testing = ["pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-ruff"]
+docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-lint"]
+testing = ["pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-ruff", "zipp (>=3.17)"]
[[package]]
name = "iniconfig"
@@ -522,54 +458,54 @@ files = [
[[package]]
name = "packaging"
-version = "23.1"
+version = "23.2"
description = "Core utilities for Python packages"
optional = false
python-versions = ">=3.7"
files = [
- {file = "packaging-23.1-py3-none-any.whl", hash = "sha256:994793af429502c4ea2ebf6bf664629d07c1a9fe974af92966e4b8d2df7edc61"},
- {file = "packaging-23.1.tar.gz", hash = "sha256:a392980d2b6cffa644431898be54b0045151319d1e7ec34f0cfed48767dd334f"},
+ {file = "packaging-23.2-py3-none-any.whl", hash = "sha256:8c491190033a9af7e1d931d0b5dacc2ef47509b34dd0de67ed209b5203fc88c7"},
+ {file = "packaging-23.2.tar.gz", hash = "sha256:048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5"},
]
[[package]]
name = "pathspec"
-version = "0.11.1"
+version = "0.11.2"
description = "Utility library for gitignore style pattern matching of file paths."
optional = false
python-versions = ">=3.7"
files = [
- {file = "pathspec-0.11.1-py3-none-any.whl", hash = "sha256:d8af70af76652554bd134c22b3e8a1cc46ed7d91edcdd721ef1a0c51a84a5293"},
- {file = "pathspec-0.11.1.tar.gz", hash = "sha256:2798de800fa92780e33acca925945e9a19a133b715067cf165b8866c15a31687"},
+ {file = "pathspec-0.11.2-py3-none-any.whl", hash = "sha256:1d6ed233af05e679efb96b1851550ea95bbb64b7c490b0f5aa52996c11e92a20"},
+ {file = "pathspec-0.11.2.tar.gz", hash = "sha256:e0d8d0ac2f12da61956eb2306b69f9469b42f4deb0f3cb6ed47b9cce9996ced3"},
]
[[package]]
name = "pip"
-version = "23.2"
+version = "23.3.1"
description = "The PyPA recommended tool for installing Python packages."
optional = false
python-versions = ">=3.7"
files = [
- {file = "pip-23.2-py3-none-any.whl", hash = "sha256:78e5353a9dda374b462f2054f83a7b63f3f065c98236a68361845c1b0ee7e35f"},
- {file = "pip-23.2.tar.gz", hash = "sha256:a160a170f3331d9ca1a0247eb1cd79c758879f1f81158f9cd05bbb5df80bea5c"},
+ {file = "pip-23.3.1-py3-none-any.whl", hash = "sha256:55eb67bb6171d37447e82213be585b75fe2b12b359e993773aca4de9247a052b"},
+ {file = "pip-23.3.1.tar.gz", hash = "sha256:1fcaa041308d01f14575f6d0d2ea4b75a3e2871fe4f9c694976f908768e14174"},
]
[[package]]
name = "platformdirs"
-version = "3.9.1"
+version = "3.11.0"
description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"."
optional = false
python-versions = ">=3.7"
files = [
- {file = "platformdirs-3.9.1-py3-none-any.whl", hash = "sha256:ad8291ae0ae5072f66c16945166cb11c63394c7a3ad1b1bc9828ca3162da8c2f"},
- {file = "platformdirs-3.9.1.tar.gz", hash = "sha256:1b42b450ad933e981d56e59f1b97495428c9bd60698baab9f3eb3d00d5822421"},
+ {file = "platformdirs-3.11.0-py3-none-any.whl", hash = "sha256:e9d171d00af68be50e9202731309c4e658fd8bc76f55c11c7dd760d023bda68e"},
+ {file = "platformdirs-3.11.0.tar.gz", hash = "sha256:cf8ee52a3afdb965072dcc652433e0c7e3e40cf5ea1477cd4b3b1d2eb75495b3"},
]
[package.dependencies]
-typing-extensions = {version = ">=4.6.3", markers = "python_version < \"3.8\""}
+typing-extensions = {version = ">=4.7.1", markers = "python_version < \"3.8\""}
[package.extras]
-docs = ["furo (>=2023.5.20)", "proselint (>=0.13)", "sphinx (>=7.0.1)", "sphinx-autodoc-typehints (>=1.23,!=1.23.4)"]
-test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.3.1)", "pytest-cov (>=4.1)", "pytest-mock (>=3.10)"]
+docs = ["furo (>=2023.7.26)", "proselint (>=0.13)", "sphinx (>=7.1.1)", "sphinx-autodoc-typehints (>=1.24)"]
+test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4)", "pytest-cov (>=4.1)", "pytest-mock (>=3.11.1)"]
[[package]]
name = "pluggy"
@@ -589,30 +525,15 @@ importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""}
dev = ["pre-commit", "tox"]
testing = ["pytest", "pytest-benchmark"]
-[[package]]
-name = "property-manager"
-version = "3.0"
-description = "Useful property variants for Python programming (required properties, writable properties, cached properties, etc)"
-optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
-files = [
- {file = "property-manager-3.0.tar.gz", hash = "sha256:93e76da9ae7af13cccc2cd1e3b47219950c56c125cd962aaed693894af267c54"},
- {file = "property_manager-3.0-py2.py3-none-any.whl", hash = "sha256:d5d648053e669cf9cb2f157e4a41ef46174eaa8ee13bfa49e1530c17d65bfe45"},
-]
-
-[package.dependencies]
-humanfriendly = ">=8.0"
-verboselogs = ">=1.1"
-
[[package]]
name = "pycodestyle"
-version = "2.10.0"
+version = "2.11.1"
description = "Python style guide checker"
optional = false
-python-versions = ">=3.6"
+python-versions = ">=3.8"
files = [
- {file = "pycodestyle-2.10.0-py2.py3-none-any.whl", hash = "sha256:8a4eaf0d0495c7395bdab3589ac2db602797d76207242c17d470186815706610"},
- {file = "pycodestyle-2.10.0.tar.gz", hash = "sha256:347187bdb476329d98f695c213d7295a846d1152ff4fe9bacb8a9590b8ee7053"},
+ {file = "pycodestyle-2.11.1-py2.py3-none-any.whl", hash = "sha256:44fe31000b2d866f2e41841b18528a505fbd7fef9017b04eff4e2648a0fadc67"},
+ {file = "pycodestyle-2.11.1.tar.gz", hash = "sha256:41ba0e7afc9752dfb53ced5489e89f8186be00e599e712660695b7a75ff2663f"},
]
[[package]]
@@ -634,45 +555,24 @@ toml = ["tomli (>=1.2.3)"]
[[package]]
name = "pyflakes"
-version = "3.0.1"
+version = "3.1.0"
description = "passive checker of Python programs"
optional = false
-python-versions = ">=3.6"
-files = [
- {file = "pyflakes-3.0.1-py2.py3-none-any.whl", hash = "sha256:ec55bf7fe21fff7f1ad2f7da62363d749e2a470500eab1b555334b67aa1ef8cf"},
- {file = "pyflakes-3.0.1.tar.gz", hash = "sha256:ec8b276a6b60bd80defed25add7e439881c19e64850afd9b346283d4165fd0fd"},
-]
-
-[[package]]
-name = "pyreadline"
-version = "2.1"
-description = "A python implmementation of GNU readline."
-optional = false
-python-versions = "*"
-files = [
- {file = "pyreadline-2.1.zip", hash = "sha256:4530592fc2e85b25b1a9f79664433da09237c1a270e4d78ea5aa3a2c7229e2d1"},
-]
-
-[[package]]
-name = "pyreadline3"
-version = "3.4.1"
-description = "A python implementation of GNU readline."
-optional = false
-python-versions = "*"
+python-versions = ">=3.8"
files = [
- {file = "pyreadline3-3.4.1-py3-none-any.whl", hash = "sha256:b0efb6516fd4fb07b45949053826a62fa4cb353db5be2bbb4a7aa1fdd1e345fb"},
- {file = "pyreadline3-3.4.1.tar.gz", hash = "sha256:6f3d1f7b8a31ba32b73917cefc1f28cc660562f39aea8646d30bd6eff21f7bae"},
+ {file = "pyflakes-3.1.0-py2.py3-none-any.whl", hash = "sha256:4132f6d49cb4dae6819e5379898f2b8cce3c5f23994194c24b77d5da2e36f774"},
+ {file = "pyflakes-3.1.0.tar.gz", hash = "sha256:a0aae034c444db0071aa077972ba4768d40c830d9539fd45bf4cd3f8f6992efc"},
]
[[package]]
name = "pytest"
-version = "7.4.0"
+version = "7.4.3"
description = "pytest: simple powerful testing with Python"
optional = false
python-versions = ">=3.7"
files = [
- {file = "pytest-7.4.0-py3-none-any.whl", hash = "sha256:78bf16451a2eb8c7a2ea98e32dc119fd2aa758f1d5d66dbf0a59d69a3969df32"},
- {file = "pytest-7.4.0.tar.gz", hash = "sha256:b4bf8c45bd59934ed84001ad51e11b4ee40d40a1229d2c79f9c592b0a3f6bd8a"},
+ {file = "pytest-7.4.3-py3-none-any.whl", hash = "sha256:0d009c083ea859a71b76adf7c1d502e4bc170b80a8ef002da5806527b9591fac"},
+ {file = "pytest-7.4.3.tar.gz", hash = "sha256:d989d136982de4e3b29dabcc838ad581c64e8ed52c11fbe86ddebd9da0818cd5"},
]
[package.dependencies]
@@ -707,13 +607,13 @@ testing = ["fields", "hunter", "process-tests", "pytest-xdist", "six", "virtuale
[[package]]
name = "pytoolconfig"
-version = "1.2.5"
+version = "1.2.6"
description = "Python tool configuration"
optional = false
python-versions = ">=3.7"
files = [
- {file = "pytoolconfig-1.2.5-py3-none-any.whl", hash = "sha256:239ba9d3e537b91d0243275a497700ea39a5e259ddb80421c366e3b288bf30fe"},
- {file = "pytoolconfig-1.2.5.tar.gz", hash = "sha256:a50f9dfe23b03a9d40414c1fdf902fefbeae12f2ac75a3c8f915944d6ffac279"},
+ {file = "pytoolconfig-1.2.6-py3-none-any.whl", hash = "sha256:e8b2e538f11dbabc4617884d45401e0105e2d7db920cb8ae6baa94d66126a8e3"},
+ {file = "pytoolconfig-1.2.6.tar.gz", hash = "sha256:f2d00ea4f8cbdffd3006780ba51016618c835b338f634e3f7f8b2715b1710889"},
]
[package.dependencies]
@@ -747,17 +647,6 @@ dev = ["build (>=0.7.0)", "pre-commit (>=2.20.0)", "pytest (>=7.0.1)", "pytest-t
doc = ["pytoolconfig[doc]", "sphinx (>=4.5.0)", "sphinx-autodoc-typehints (>=1.18.1)", "sphinx-rtd-theme (>=1.0.0)"]
release = ["pip-tools (>=6.12.1)", "toml (>=0.10.2)", "twine (>=4.0.2)"]
-[[package]]
-name = "six"
-version = "1.16.0"
-description = "Python 2 and 3 compatibility utilities"
-optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*"
-files = [
- {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"},
- {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"},
-]
-
[[package]]
name = "snowballstemmer"
version = "2.2.0"
@@ -832,13 +721,13 @@ files = [
[[package]]
name = "types-setuptools"
-version = "68.0.0.3"
+version = "68.2.0.0"
description = "Typing stubs for setuptools"
optional = false
python-versions = "*"
files = [
- {file = "types-setuptools-68.0.0.3.tar.gz", hash = "sha256:d57ae6076100b5704b3cc869fdefc671e1baf4c2cd6643f84265dfc0b955bf05"},
- {file = "types_setuptools-68.0.0.3-py3-none-any.whl", hash = "sha256:fec09e5c18264c5c09351c00be01a34456fb7a88e457abe97401325f84ad9d36"},
+ {file = "types-setuptools-68.2.0.0.tar.gz", hash = "sha256:a4216f1e2ef29d089877b3af3ab2acf489eb869ccaf905125c69d2dc3932fd85"},
+ {file = "types_setuptools-68.2.0.0-py3-none-any.whl", hash = "sha256:77edcc843e53f8fc83bb1a840684841f3dc804ec94562623bfa2ea70d5a2ba1b"},
]
[[package]]
@@ -852,17 +741,6 @@ files = [
{file = "typing_extensions-4.7.1.tar.gz", hash = "sha256:b75ddc264f0ba5615db7ba217daeb99701ad295353c45f9e95963337ceeeffb2"},
]
-[[package]]
-name = "verboselogs"
-version = "1.7"
-description = "Verbose logging level for Python's logging module"
-optional = false
-python-versions = "*"
-files = [
- {file = "verboselogs-1.7-py2.py3-none-any.whl", hash = "sha256:d63f23bf568295b95d3530c6864a0b580cec70e7ff974177dead1e4ffbc6ff49"},
- {file = "verboselogs-1.7.tar.gz", hash = "sha256:e33ddedcdfdafcb3a174701150430b11b46ceb64c2a9a26198c76a156568e427"},
-]
-
[[package]]
name = "zipp"
version = "3.15.0"
@@ -881,4 +759,4 @@ testing = ["big-O", "flake8 (<5)", "jaraco.functools", "jaraco.itertools", "more
[metadata]
lock-version = "2.0"
python-versions = "^3.7"
-content-hash = "a0fc23780a6afb27c35d3360d8eab64fddda1339a586e9c43895cf8149c431c2"
+content-hash = "eda5f2260b81f446520142b89b8fe19600ab57a4f400847d1abd91fed9d11522"
diff --git a/pyproject.toml b/pyproject.toml
index b402668..9bddf69 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,20 +1,12 @@
[tool.black]
line-length = 100
include = "(awscliv2|tests)/.*\\.pyi?$"
-target-version = [
- "py37",
- "py38",
- "py39",
- "py310",
-]
+target-version = ["py37", "py38", "py39", "py310"]
[tool.isort]
profile = "black"
line_length = 100
-known_first_party = [
- "awscliv2",
- "tests",
-]
+known_first_party = ["awscliv2", "tests"]
src_paths = []
[tool.poetry]
@@ -42,18 +34,14 @@ classifiers = [
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
+ "Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: Implementation :: CPython",
"Typing :: Typed",
"Topic :: Software Development :: Libraries :: Python Modules",
]
-packages = [
- { include = "awscliv2" },
-]
-include = [
- "LICENSE",
- "awscliv2/py.typed",
-]
+packages = [{ include = "awscliv2" }]
+include = ["LICENSE", "awscliv2/py.typed"]
[tool.poetry.scripts]
awscliv2 = 'awscliv2.main:main_cli'
@@ -67,7 +55,6 @@ awsv2 = 'awscliv2.main:main_cli'
[tool.poetry.dependencies]
python = "^3.7"
pip = "*"
-executor = "*"
importlib-metadata = { version = "*", python = "<3.8" }
[tool.poetry.dev-dependencies]
@@ -99,19 +86,11 @@ exclude_lines = [
"@overload",
]
ignore_errors = true
-omit = [
- "tests/*",
-]
+omit = ["tests/*"]
[tool.pyright]
-include = [
- "awscliv2",
-]
-exclude = [
- "**/__pycache__",
- "tests",
- "typestubs",
-]
+include = ["awscliv2"]
+exclude = ["**/__pycache__", "tests", "typestubs"]
reportMissingImports = true
reportMissingTypeStubs = true
reportMissingTypeArgument = "error"
diff --git a/scripts/before_commit.sh b/scripts/before_commit.sh
index 9ebb75a..d5cee9b 100755
--- a/scripts/before_commit.sh
+++ b/scripts/before_commit.sh
@@ -4,8 +4,8 @@ set -e
ROOT_PATH=$(dirname $(dirname $(realpath $0)))
cd $ROOT_PATH
-poetry run black awscliv2
-poetry run isort awscliv2
+poetry run black .
+poetry run isort .
poetry run flake8 awscliv2
poetry run pytest --cov-report term --cov=awscliv2
poetry run npx pyright
diff --git a/tests/test_api.py b/tests/test_api.py
index 3dd43b4..04d3aa3 100644
--- a/tests/test_api.py
+++ b/tests/test_api.py
@@ -1,12 +1,14 @@
-from awscliv2.api import AWSAPI
from unittest.mock import Mock
+from awscliv2.api import AWSAPI
+
+
class TestAWSAPI:
def test_get_awscli_v2_cmd(self):
- assert AWSAPI().get_awscli_v2_cmd()[0] == "docker"
-
+ assert AWSAPI().get_awscli_v2_cmd()[0]
+
def test_execute(self):
awsapi = AWSAPI()
awsapi._run_subprocess = Mock()
awsapi._run_subprocess.return_value = 0
- assert awsapi.execute(["--version"]) == ""
\ No newline at end of file
+ assert awsapi.execute(["--version"]) == ""
diff --git a/tests/test_cli_parser.py b/tests/test_cli_parser.py
index 66e456f..4482b8a 100644
--- a/tests/test_cli_parser.py
+++ b/tests/test_cli_parser.py
@@ -1,8 +1,9 @@
-from awscliv2.cli_parser import parse_args, get_version
+from awscliv2.cli_parser import get_version, parse_args
+
class TestCliParser:
def test_parse_args(self):
assert parse_args(["--install"]).install
-
+
def test_get_version(self):
- assert get_version()
\ No newline at end of file
+ assert get_version()