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 @@

Api#Auto-generated documentation for awscliv2.api module.

AWSAPI#

-

Show source in api.py:19

+

Show source in api.py:18

API for all AWS CLI v2 commands.

Supports installed and dockerized AWS CLI v2.

Arguments#

@@ -928,66 +928,59 @@

Signature
class AWSAPI:
     def __init__(
         self, encoding: str = ENCODING, output: Optional[TextIO] = None
-    ) -> None:
-        ...
+    ) -> None: ...
 

See also#

AWSAPI().assume_role#

-

Show source in api.py:134

+

Show source in api.py:135

Add assume role to credentials.

Signature#

-
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

+

Show source in api.py:79

Execute AWS CLI v2 command.

Returns#

Command output.

Signature#

-
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

+

Show source in api.py:34

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#

-

Show source in api.py:125

+

Show source in api.py:126

Print AWS CLI v2 version.

Returns#

Process exit code.

Signature#

-
def print_version(self) -> int:
-    ...
+
def print_version(self) -> int: ...
 

AWSAPI().run_awscli_v2#

-

Show source in api.py:93

+

Show source in api.py:94

Run AWS CLI.

Returns#

Process exit code.

Signature#

-
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

+

Show source in api.py:110

Run AWS CLI as a detached subprocess.

Returns#

Process exit code.

Signature#

-
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

+

Show source in api.py:171

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:
-    ...
+
def get_version() -> str: ...
 

parse_args#

Show source in cli_parser.py:54

Parse CLI arguments.

Signature#

-
def parse_args(args: Sequence[str]) -> CLINamespace:
-    ...
+
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):
    -    ...
    +
    class ExecutableNotFoundError(BaseException): ...
     

    InstallError#

    Show source in exceptions.py:20

    AWS CLi v2 installer error.

    Signature#

    -
    class InstallError(AWSCLIError):
    -    ...
    +
    class InstallError(AWSCLIError): ...
     

    See also#

      @@ -715,8 +712,7 @@

      SubprocessErrorShow source in exceptions.py:26

      Subprocess interrupted error.

      Signature#

      -
      class SubprocessError(BaseException):
      -    ...
      +
      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:
      -    ...
      +
      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:
      -    ...
      +
      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:
      -    ...
      +
      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:
      -    ...
      +
      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:
      -    ...
      +
      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:
      -    ...
      +
      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:
        -    ...
        +
        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:
        -    ...
        +
        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:
        -    ...
        +
        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:
        -    ...
        +
        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

        Show source in main.py:14

        Main program entrypoint.

        Signature#

        -
        def main(args: Sequence[str]) -> int:
        -    ...
        +
        def main(args: Sequence[str]) -> int: ...
         

        main_cli#

        Show source in main.py:58

        Main entrypoint for CLI.

        Signature#

        -
        def main_cli() -> None:
        -    ...
        +
        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()