diff --git a/.github/ISSUE_TEMPLATE b/.github/ISSUE_TEMPLATE new file mode 100644 index 000000000..b293cb1ab --- /dev/null +++ b/.github/ISSUE_TEMPLATE @@ -0,0 +1,37 @@ +### Description of Issue/Question + +*Note*: Please check https://guides.github.com/features/mastering-markdown/ +to see how to properly format your request. + +### Setup + +### Netmiko version +(Paste verbatim output from `pip freeze | grep netmiko` between quotes below) + +``` + +``` + +### Netmiko device_type (if relevant to the issue) +(Paste `device_type` between quotes below) + +``` + +``` + +### Steps to Reproduce the Issue + +### Error Traceback +(Paste the complete traceback of the exception between quotes below) + +``` + +``` + +### Relevant Python code +(Please try to essentialize your Python code to the minimum code needed to reproduce the issue) +(Paste the code between the quotes below) + +```python + +``` diff --git a/.github/workflows/commit.yaml b/.github/workflows/commit.yaml deleted file mode 100644 index 8c68679c7..000000000 --- a/.github/workflows/commit.yaml +++ /dev/null @@ -1,103 +0,0 @@ ---- -name: Netmiko -on: [push,pull_request] -env: - environment: gh_actions - FORCE_COLOR: 1 - -jobs: - linters: - name: linters - runs-on: ubuntu-20.04 - steps: - - uses: actions/checkout@v2 - - - name: Setup python - uses: actions/setup-python@v1 - id: cp311 - with: - python-version: '3.11' - architecture: x64 - - - name: Install Poetry - uses: snok/install-poetry@v1 - with: - version: 1.3.2 - virtualenvs-create: true - virtualenvs-in-project: true - - - name: Cache Poetry virtualenv - uses: actions/cache@v2 - id: cached-poetry-dependencies - with: - path: .venv - key: venv-${{ runner.os }}-cache-${{ steps.cp311.outputs.version }}-${{ hashFiles('**/poetry.lock') }} - - - name: Install Dependencies - run: poetry install - if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true' - - - name: Run pylama - run: | - poetry run pylama . - - - name: Run black - run: | - poetry run black --check . - - - name: Run mypy - run: | - poetry run mypy --version - poetry run mypy ./netmiko/ - - pytest: - name: Testing on Python ${{ matrix.python-version }} (${{ matrix.platform}}) - defaults: - run: - shell: bash - strategy: - matrix: - python-version: [ '3.8', '3.9', '3.10', '3.11' ] - platform: [ubuntu-20.04] - - runs-on: ${{ matrix.platform }} - steps: - - uses: actions/checkout@v2 - - - name: Setup python - uses: actions/setup-python@v1 - id: py_ver - with: - python-version: ${{ matrix.python-version }} - architecture: x64 - - - name: Setup python - uses: actions/setup-python@v1 - - - name: Install Poetry - uses: snok/install-poetry@v1 - with: - version: 1.3.2 - virtualenvs-create: true - virtualenvs-in-project: true - - - name: Cache Poetry virtualenv - uses: actions/cache@v2 - id: cached-poetry-dependencies - with: - path: .venv - key: venv-${{ runner.os }}-cache-${{ steps.py_ver.outputs.version }}-${{ hashFiles('**/poetry.lock') }} - if: ${{ matrix.platform != 'windows-latest' }} # windows hangs if using a cached venv - - - name: Install Dependencies - run: poetry install - if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true' - - - name: Run Tests - run: | - poetry run pytest -v -s tests/test_import_netmiko.py - poetry run pytest -v -s tests/unit/test_base_connection.py - poetry run pytest -v -s tests/unit/test_utilities.py - poetry run pytest -v -s tests/unit/test_ssh_autodetect.py - poetry run pytest -v -s tests/unit/test_connection.py - poetry run pytest -v -s tests/unit/test_entry_points.py diff --git a/.github/workflows/main_testing.yaml b/.github/workflows/main_testing.yaml new file mode 100644 index 000000000..d4bf82817 --- /dev/null +++ b/.github/workflows/main_testing.yaml @@ -0,0 +1,217 @@ +--- +name: Netmiko +on: [push,pull_request] +env: + environment: gh_actions + FORCE_COLOR: 1 + +jobs: + linters: + name: linters + runs-on: ubuntu-24.04 + steps: + - uses: actions/checkout@v4 + + - name: Setup python + uses: actions/setup-python@v5 + with: + python-version: '3.11' + architecture: x64 + + - name: Install poetry + run: | + pipx install poetry + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: '3.11' + cache: 'poetry' + + - name: Install dependencies + run: | + poetry install + + - name: Run pylama + run: | + poetry run pylama . + + - name: Run black + run: | + poetry run black --check . + + - name: Run mypy + run: | + poetry run mypy --version + poetry run mypy ./netmiko/ + + pytest: + name: Std Test on Python ${{ matrix.python-version }} (${{ matrix.platform}}) + defaults: + run: + shell: bash + strategy: + matrix: + python-version: [ '3.8', '3.9', '3.10', '3.11', "3.12", "3.13.0-beta.2" ] + platform: [ubuntu-24.04, windows-2022] + + runs-on: ${{ matrix.platform }} + steps: + - uses: actions/checkout@v4 + + - name: Setup python + uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python-version }} + architecture: x64 + - uses: actions/checkout@v4 + + - name: Install poetry + run: | + pipx install poetry + + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python-version }} + cache: 'poetry' + + - name: Install dependencies + run: | + poetry install + + - name: Run Tests + run: | + poetry run pytest -v -s tests/test_import_netmiko.py + poetry run pytest -v -s tests/unit/test_base_connection.py + poetry run pytest -v -s tests/unit/test_ssh_autodetect.py + poetry run pytest -v -s tests/unit/test_connection.py + poetry run pytest -v -s tests/unit/test_entry_points.py + + # ARM/X86_64 issues on macos + pytest-macos13: + name: Std Test on Python ${{ matrix.python-version }} (${{ matrix.platform}}) + defaults: + run: + shell: bash + strategy: + matrix: + python-version: [ '3.8', '3.9', '3.10', '3.11' ] + platform: [macos-13] + + runs-on: ${{ matrix.platform }} + steps: + - uses: actions/checkout@v4 + + - name: Setup python + uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python-version }} + architecture: x64 + - uses: actions/checkout@v4 + + - name: Install poetry + run: | + pipx install poetry + + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python-version }} + + - name: Install dependencies + run: | + poetry install + + - name: Run Tests + run: | + poetry run pytest -v -s tests/test_import_netmiko.py + poetry run pytest -v -s tests/unit/test_base_connection.py + poetry run pytest -v -s tests/unit/test_ssh_autodetect.py + poetry run pytest -v -s tests/unit/test_connection.py + poetry run pytest -v -s tests/unit/test_entry_points.py + + pytest-macos14: + name: Std Test on Python ${{ matrix.python-version }} (${{ matrix.platform}}) + defaults: + run: + shell: bash + strategy: + matrix: + python-version: [ "3.12", "3.13.0-beta.2" ] + platform: [macos-14] + + runs-on: ${{ matrix.platform }} + steps: + - uses: actions/checkout@v4 + + - name: Setup python + uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python-version }} + architecture: x64 + - uses: actions/checkout@v4 + + - name: Install poetry + run: | + pipx install poetry + + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python-version }} + + - name: Install dependencies + run: | + poetry install + + - name: Run Tests + run: | + poetry run pytest -v -s tests/test_import_netmiko.py + poetry run pytest -v -s tests/unit/test_base_connection.py + poetry run pytest -v -s tests/unit/test_ssh_autodetect.py + poetry run pytest -v -s tests/unit/test_connection.py + poetry run pytest -v -s tests/unit/test_entry_points.py + + pytest_parsers: + name: Parsers Test on Python ${{ matrix.python-version }} (${{ matrix.platform}}) + defaults: + run: + shell: bash + + # Only use latest Python version that will work with pyats/genie due to their + # ongoing issues supporting newer Python versions. + strategy: + matrix: + python-version: [ '3.11'] + platform: [ubuntu-24.04] + + runs-on: ${{ matrix.platform }} + steps: + - uses: actions/checkout@v4 + + - name: Setup python + uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python-version }} + architecture: x64 + - uses: actions/checkout@v4 + + - name: Install poetry + run: | + pipx install poetry + + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python-version }} + cache: 'poetry' + + - name: Install dependencies + run: | + poetry install --with parsers + + - name: Run Tests + run: | + poetry run pytest -v -s tests/test_import_netmiko.py + poetry run pytest -v -s tests/unit/test_utilities.py diff --git a/EXAMPLES.md b/EXAMPLES.md index 86d69aecd..7e141f96d 100644 --- a/EXAMPLES.md +++ b/EXAMPLES.md @@ -10,7 +10,7 @@ A set of common Netmiko use cases. ## Table of contents #### Available Device Types -- [Available device types](#available-device-types) +- [Available device types](#available-device-types-1) #### Simple Examples - [Simple example](#simple-example) diff --git a/PLATFORMS.md b/PLATFORMS.md index 6f54ad0ac..4b7e7aff5 100644 --- a/PLATFORMS.md +++ b/PLATFORMS.md @@ -8,7 +8,6 @@ - Cisco IOS-XR - Cisco NX-OS - Cisco SG300 -- HP ProCurve - Juniper Junos - Linux @@ -20,6 +19,7 @@ - Alcatel AOS6/AOS8 - Apresia Systems AEOS - ARRIS CER +- Aruba OS Switch - AudioCodes Gateways & Controllers - Broadcom ICOS - Calix B6 @@ -42,6 +42,7 @@ - Fiberstore FSOS - Hillstone StoneOS - HPE Comware7 +- HPE ProCurve - Huawei - Huawei OLT - Huawei SmartAX @@ -73,7 +74,8 @@ - A10 - Accedian - Allied Telesis AlliedWare Plus -- Aruba +- Aruba OS (Wireless Controllers/WAPs) +- Aruba AOS-CX - Brocade Fabric OS - C-DOT CROS - Ciena SAOS diff --git a/docs/netmiko/a10/a10_ssh.html b/docs/netmiko/a10/a10_ssh.html index 348d2b42d..e90c924a7 100644 --- a/docs/netmiko/a10/a10_ssh.html +++ b/docs/netmiko/a10/a10_ssh.html @@ -28,6 +28,7 @@

Module netmiko.a10.a10_ssh

Expand source code
"""A10 support."""
+
 from netmiko.cisco_base_connection import CiscoSSHConnection
 
 
diff --git a/docs/netmiko/adva/adva_aos_fsp_150_f2.html b/docs/netmiko/adva/adva_aos_fsp_150_f2.html
index 49f399bce..c4c58c8bc 100644
--- a/docs/netmiko/adva/adva_aos_fsp_150_f2.html
+++ b/docs/netmiko/adva/adva_aos_fsp_150_f2.html
@@ -28,6 +28,7 @@ 

Module netmiko.adva.adva_aos_fsp_150_f2

Expand source code
"""Adva support."""
+
 import re
 from typing import Any, Optional
 from netmiko.no_enable import NoEnable
diff --git a/docs/netmiko/adva/adva_aos_fsp_150_f3.html b/docs/netmiko/adva/adva_aos_fsp_150_f3.html
index e0bc8f3ca..b7bf78950 100644
--- a/docs/netmiko/adva/adva_aos_fsp_150_f3.html
+++ b/docs/netmiko/adva/adva_aos_fsp_150_f3.html
@@ -28,6 +28,7 @@ 

Module netmiko.adva.adva_aos_fsp_150_f3

Expand source code
"""Adva F3 Device Support"""
+
 import re
 from typing import (
     Optional,
diff --git a/docs/netmiko/adva/index.html b/docs/netmiko/adva/index.html
index dcc0045c2..97514c95f 100644
--- a/docs/netmiko/adva/index.html
+++ b/docs/netmiko/adva/index.html
@@ -28,6 +28,7 @@ 

Module netmiko.adva

Expand source code
"""Adva Device Drivers"""
+
 from netmiko.adva.adva_aos_fsp_150_f2 import AdvaAosFsp150F2SSH
 from netmiko.adva.adva_aos_fsp_150_f3 import AdvaAosFsp150F3SSH
 
diff --git a/docs/netmiko/alcatel/alcatel_aos_ssh.html b/docs/netmiko/alcatel/alcatel_aos_ssh.html
index fd67d123d..259c8d896 100644
--- a/docs/netmiko/alcatel/alcatel_aos_ssh.html
+++ b/docs/netmiko/alcatel/alcatel_aos_ssh.html
@@ -28,6 +28,7 @@ 

Module netmiko.alcatel.alcatel_aos_ssh

Expand source code
"""Alcatel-Lucent Enterprise AOS support (AOS6 and AOS8)."""
+
 from netmiko.no_enable import NoEnable
 from netmiko.no_config import NoConfig
 from netmiko.cisco_base_connection import CiscoSSHConnection
diff --git a/docs/netmiko/aruba/aruba_aoscx.html b/docs/netmiko/aruba/aruba_aoscx.html
new file mode 100644
index 000000000..f07f415ae
--- /dev/null
+++ b/docs/netmiko/aruba/aruba_aoscx.html
@@ -0,0 +1,356 @@
+
+
+
+
+
+
+netmiko.aruba.aruba_aoscx API documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

Module netmiko.aruba.aruba_aoscx

+
+
+

Aruba AOS CX support.

+

For use with Aruba AOS CX devices.

+
+ +Expand source code + +
"""
+Aruba AOS CX support.
+
+For use with Aruba AOS CX devices.
+
+"""
+
+from typing import Any
+from netmiko.cisco_base_connection import CiscoSSHConnection
+
+
+class ArubaCxSSH(CiscoSSHConnection):
+    """Aruba AOS CX support"""
+
+    def __init__(self, **kwargs: Any) -> None:
+        if kwargs.get("default_enter") is None:
+            kwargs["default_enter"] = "\r"
+        return super().__init__(**kwargs)
+
+    def session_preparation(self) -> None:
+        self.ansi_escape_codes = True
+        self._test_channel_read(pattern=r"[>#]")
+        self.set_base_prompt()
+        self.disable_paging(command="no page")
+
+    def check_config_mode(
+        self,
+        check_string: str = "(config)#",
+        pattern: str = r"[>#]",
+        force_regex: bool = False,
+    ) -> bool:
+        return super().check_config_mode(check_string=check_string, pattern=pattern)
+
+    def config_mode(
+        self,
+        config_command: str = "configure term",
+        pattern: str = "",
+        re_flags: int = 0,
+    ) -> str:
+        """Aruba auto completes on space so 'configure' needs fully spelled-out."""
+        return super().config_mode(
+            config_command=config_command, pattern=pattern, re_flags=re_flags
+        )
+
+
+
+
+
+
+
+
+
+

Classes

+
+
+class ArubaCxSSH +(**kwargs: Any) +
+
+

Aruba AOS CX support

+
    Initialize attributes for establishing connection to target device.
+
+    :param ip: IP address of target device. Not required if <code>host</code> is
+        provided.
+
+    :param host: Hostname of target device. Not required if <code>ip</code> is
+            provided.
+
+    :param username: Username to authenticate against target device if
+            required.
+
+    :param password: Password to authenticate against target device if
+            required.
+
+    :param secret: The enable password if target device requires one.
+
+    :param port: The destination port used to connect to the target
+            device.
+
+    :param device_type: Class selection based on device type.
+
+    :param verbose: Enable additional messages to standard output.
+
+    :param global_delay_factor: Multiplication factor affecting Netmiko delays (default: 1).
+
+    :param use_keys: Connect to target device using SSH keys.
+
+    :param key_file: Filename path of the SSH key file to use.
+
+    :param pkey: SSH key object to use.
+
+    :param passphrase: Passphrase to use for encrypted key; password will be used for key
+            decryption if not specified.
+
+    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko
+            documentation for a description of the expected format.
+
+    :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs
+        <https://github.com/paramiko/paramiko/issues/1961> (default: False)
+
+    :param allow_agent: Enable use of SSH key-agent.
+
+    :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which
+            means unknown SSH host keys will be accepted).
+
+    :param system_host_keys: Load host keys from the users known_hosts file.
+
+    :param alt_host_keys: If <code>True</code> host keys will be loaded from the file specified in
+            alt_key_file.
+
+    :param alt_key_file: SSH host key file to use (if alt_host_keys=True).
+
+    :param ssh_config_file: File name of OpenSSH configuration file.
+
+    :param conn_timeout: TCP connection timeout.
+
+    :param session_timeout: Set a timeout for parallel requests.
+
+    :param auth_timeout: Set a timeout (in seconds) to wait for an authentication response.
+
+    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko).
+
+    :param read_timeout_override: Set a timeout that will override the default read_timeout
+            of both send_command and send_command_timing. This is useful for 3rd party
+            libraries where directly accessing method arguments might be impractical.
+
+    :param keepalive: Send SSH keepalive packets at a specific interval, in seconds.
+            Currently defaults to 0, for backwards compatibility (it will not attempt
+            to keep the connection alive).
+
+    :param default_enter: Character(s) to send to correspond to enter key (default:
+
+

).

+
    :param response_return: Character(s) to use in normalized return data to represent
+            enter key (default:
+
+

)

+
    :param serial_settings: Dictionary of settings for use with serial port (pySerial).
+
+    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
+            to select smallest of global and specific. Sets default global_delay_factor to .1
+            (default: True)
+
+    :param session_log: File path, SessionLog object, or BufferedIOBase subclass object
+            to write the session log to.
+
+    :param session_log_record_writes: The session log generally only records channel reads due
+            to eliminate command duplication due to command echo. You can enable this if you
+            want to record both channel reads and channel writes in the log (default: False).
+
+    :param session_log_file_mode: "write" or "append" for session_log file mode
+            (default: "write")
+
+    :param allow_auto_change: Allow automatic configuration changes for terminal settings.
+            (default: False)
+
+    :param encoding: Encoding to be used when writing bytes to the output channel.
+            (default: "utf-8")
+
+    :param sock: An open socket or socket-like object (such as a <code>.Channel</code>) to use for
+            communication to the target host (default: None).
+
+    :param sock_telnet: A dictionary of telnet socket parameters (SOCKS proxy). See
+            telnet_proxy.py code for details.
+
+    :param global_cmd_verify: Control whether command echo verification is enabled or disabled
+            (default: None). Global attribute takes precedence over function <code>cmd\_verify</code>
+            argument. Value of <code>None</code> indicates to use function <code>cmd\_verify</code> argument.
+
+    :param auto_connect: Control whether Netmiko automatically establishes the connection as
+            part of the object creation (default: True).
+
+    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko
+            3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be
+            eliminated in Netmiko 5.x (default: False).
+
+    :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior
+            (default: False)
+
+
+ +Expand source code + +
class ArubaCxSSH(CiscoSSHConnection):
+    """Aruba AOS CX support"""
+
+    def __init__(self, **kwargs: Any) -> None:
+        if kwargs.get("default_enter") is None:
+            kwargs["default_enter"] = "\r"
+        return super().__init__(**kwargs)
+
+    def session_preparation(self) -> None:
+        self.ansi_escape_codes = True
+        self._test_channel_read(pattern=r"[>#]")
+        self.set_base_prompt()
+        self.disable_paging(command="no page")
+
+    def check_config_mode(
+        self,
+        check_string: str = "(config)#",
+        pattern: str = r"[>#]",
+        force_regex: bool = False,
+    ) -> bool:
+        return super().check_config_mode(check_string=check_string, pattern=pattern)
+
+    def config_mode(
+        self,
+        config_command: str = "configure term",
+        pattern: str = "",
+        re_flags: int = 0,
+    ) -> str:
+        """Aruba auto completes on space so 'configure' needs fully spelled-out."""
+        return super().config_mode(
+            config_command=config_command, pattern=pattern, re_flags=re_flags
+        )
+
+

Ancestors

+ +

Methods

+
+
+def config_mode(self, config_command: str = 'configure term', pattern: str = '', re_flags: int = 0) ‑> str +
+
+

Aruba auto completes on space so 'configure' needs fully spelled-out.

+
+ +Expand source code + +
def config_mode(
+    self,
+    config_command: str = "configure term",
+    pattern: str = "",
+    re_flags: int = 0,
+) -> str:
+    """Aruba auto completes on space so 'configure' needs fully spelled-out."""
+    return super().config_mode(
+        config_command=config_command, pattern=pattern, re_flags=re_flags
+    )
+
+
+
+

Inherited members

+ +
+
+
+
+ +
+ + + \ No newline at end of file diff --git a/docs/netmiko/aruba/aruba_os.html b/docs/netmiko/aruba/aruba_os.html new file mode 100644 index 000000000..5f6e78aa2 --- /dev/null +++ b/docs/netmiko/aruba/aruba_os.html @@ -0,0 +1,421 @@ + + + + + + +netmiko.aruba.aruba_os API documentation + + + + + + + + + + + +
+
+
+

Module netmiko.aruba.aruba_os

+
+
+

Aruba OS support.

+

For use with Aruba OS Controllers.

+
+ +Expand source code + +
"""
+Aruba OS support.
+
+For use with Aruba OS Controllers.
+
+"""
+
+from typing import Any
+from netmiko.cisco_base_connection import CiscoSSHConnection
+
+
+class ArubaOsSSH(CiscoSSHConnection):
+    """Aruba OS support"""
+
+    def __init__(self, **kwargs: Any) -> None:
+        if kwargs.get("default_enter") is None:
+            kwargs["default_enter"] = "\r"
+        # Aruba has an auto-complete on space behavior that is problematic
+        if kwargs.get("global_cmd_verify") is None:
+            kwargs["global_cmd_verify"] = False
+        return super().__init__(**kwargs)
+
+    def session_preparation(self) -> None:
+        """Aruba OS requires enable mode to disable paging."""
+        # Aruba switches output ansi codes
+        self.ansi_escape_codes = True
+        self._test_channel_read(pattern=r"[>#]")
+        self.set_base_prompt()
+        self.enable()
+        self.disable_paging(command="no paging")
+
+    def check_config_mode(
+        self,
+        check_string: str = "(config) #",
+        pattern: str = r"[>#]",
+        force_regex: bool = False,
+    ) -> bool:
+        """
+        Checks if the device is in configuration mode or not.
+
+        Aruba uses "(<controller name>) (config) #" as config prompt
+        """
+        return super().check_config_mode(check_string=check_string, pattern=pattern)
+
+    def config_mode(
+        self,
+        config_command: str = "configure term",
+        pattern: str = "",
+        re_flags: int = 0,
+    ) -> str:
+        """Aruba auto completes on space so 'configure' needs fully spelled-out."""
+        return super().config_mode(
+            config_command=config_command, pattern=pattern, re_flags=re_flags
+        )
+
+
+
+
+
+
+
+
+
+

Classes

+
+
+class ArubaOsSSH +(**kwargs: Any) +
+
+

Aruba OS support

+
    Initialize attributes for establishing connection to target device.
+
+    :param ip: IP address of target device. Not required if <code>host</code> is
+        provided.
+
+    :param host: Hostname of target device. Not required if <code>ip</code> is
+            provided.
+
+    :param username: Username to authenticate against target device if
+            required.
+
+    :param password: Password to authenticate against target device if
+            required.
+
+    :param secret: The enable password if target device requires one.
+
+    :param port: The destination port used to connect to the target
+            device.
+
+    :param device_type: Class selection based on device type.
+
+    :param verbose: Enable additional messages to standard output.
+
+    :param global_delay_factor: Multiplication factor affecting Netmiko delays (default: 1).
+
+    :param use_keys: Connect to target device using SSH keys.
+
+    :param key_file: Filename path of the SSH key file to use.
+
+    :param pkey: SSH key object to use.
+
+    :param passphrase: Passphrase to use for encrypted key; password will be used for key
+            decryption if not specified.
+
+    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko
+            documentation for a description of the expected format.
+
+    :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs
+        <https://github.com/paramiko/paramiko/issues/1961> (default: False)
+
+    :param allow_agent: Enable use of SSH key-agent.
+
+    :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which
+            means unknown SSH host keys will be accepted).
+
+    :param system_host_keys: Load host keys from the users known_hosts file.
+
+    :param alt_host_keys: If <code>True</code> host keys will be loaded from the file specified in
+            alt_key_file.
+
+    :param alt_key_file: SSH host key file to use (if alt_host_keys=True).
+
+    :param ssh_config_file: File name of OpenSSH configuration file.
+
+    :param conn_timeout: TCP connection timeout.
+
+    :param session_timeout: Set a timeout for parallel requests.
+
+    :param auth_timeout: Set a timeout (in seconds) to wait for an authentication response.
+
+    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko).
+
+    :param read_timeout_override: Set a timeout that will override the default read_timeout
+            of both send_command and send_command_timing. This is useful for 3rd party
+            libraries where directly accessing method arguments might be impractical.
+
+    :param keepalive: Send SSH keepalive packets at a specific interval, in seconds.
+            Currently defaults to 0, for backwards compatibility (it will not attempt
+            to keep the connection alive).
+
+    :param default_enter: Character(s) to send to correspond to enter key (default:
+
+

).

+
    :param response_return: Character(s) to use in normalized return data to represent
+            enter key (default:
+
+

)

+
    :param serial_settings: Dictionary of settings for use with serial port (pySerial).
+
+    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
+            to select smallest of global and specific. Sets default global_delay_factor to .1
+            (default: True)
+
+    :param session_log: File path, SessionLog object, or BufferedIOBase subclass object
+            to write the session log to.
+
+    :param session_log_record_writes: The session log generally only records channel reads due
+            to eliminate command duplication due to command echo. You can enable this if you
+            want to record both channel reads and channel writes in the log (default: False).
+
+    :param session_log_file_mode: "write" or "append" for session_log file mode
+            (default: "write")
+
+    :param allow_auto_change: Allow automatic configuration changes for terminal settings.
+            (default: False)
+
+    :param encoding: Encoding to be used when writing bytes to the output channel.
+            (default: "utf-8")
+
+    :param sock: An open socket or socket-like object (such as a <code>.Channel</code>) to use for
+            communication to the target host (default: None).
+
+    :param sock_telnet: A dictionary of telnet socket parameters (SOCKS proxy). See
+            telnet_proxy.py code for details.
+
+    :param global_cmd_verify: Control whether command echo verification is enabled or disabled
+            (default: None). Global attribute takes precedence over function <code>cmd\_verify</code>
+            argument. Value of <code>None</code> indicates to use function <code>cmd\_verify</code> argument.
+
+    :param auto_connect: Control whether Netmiko automatically establishes the connection as
+            part of the object creation (default: True).
+
+    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko
+            3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be
+            eliminated in Netmiko 5.x (default: False).
+
+    :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior
+            (default: False)
+
+
+ +Expand source code + +
class ArubaOsSSH(CiscoSSHConnection):
+    """Aruba OS support"""
+
+    def __init__(self, **kwargs: Any) -> None:
+        if kwargs.get("default_enter") is None:
+            kwargs["default_enter"] = "\r"
+        # Aruba has an auto-complete on space behavior that is problematic
+        if kwargs.get("global_cmd_verify") is None:
+            kwargs["global_cmd_verify"] = False
+        return super().__init__(**kwargs)
+
+    def session_preparation(self) -> None:
+        """Aruba OS requires enable mode to disable paging."""
+        # Aruba switches output ansi codes
+        self.ansi_escape_codes = True
+        self._test_channel_read(pattern=r"[>#]")
+        self.set_base_prompt()
+        self.enable()
+        self.disable_paging(command="no paging")
+
+    def check_config_mode(
+        self,
+        check_string: str = "(config) #",
+        pattern: str = r"[>#]",
+        force_regex: bool = False,
+    ) -> bool:
+        """
+        Checks if the device is in configuration mode or not.
+
+        Aruba uses "(<controller name>) (config) #" as config prompt
+        """
+        return super().check_config_mode(check_string=check_string, pattern=pattern)
+
+    def config_mode(
+        self,
+        config_command: str = "configure term",
+        pattern: str = "",
+        re_flags: int = 0,
+    ) -> str:
+        """Aruba auto completes on space so 'configure' needs fully spelled-out."""
+        return super().config_mode(
+            config_command=config_command, pattern=pattern, re_flags=re_flags
+        )
+
+

Ancestors

+ +

Methods

+
+
+def check_config_mode(self, check_string: str = '(config) #', pattern: str = '[>#]', force_regex: bool = False) ‑> bool +
+
+

Checks if the device is in configuration mode or not.

+

Aruba uses "() (config) #" as config prompt

+
+ +Expand source code + +
def check_config_mode(
+    self,
+    check_string: str = "(config) #",
+    pattern: str = r"[>#]",
+    force_regex: bool = False,
+) -> bool:
+    """
+    Checks if the device is in configuration mode or not.
+
+    Aruba uses "(<controller name>) (config) #" as config prompt
+    """
+    return super().check_config_mode(check_string=check_string, pattern=pattern)
+
+
+
+def config_mode(self, config_command: str = 'configure term', pattern: str = '', re_flags: int = 0) ‑> str +
+
+

Aruba auto completes on space so 'configure' needs fully spelled-out.

+
+ +Expand source code + +
def config_mode(
+    self,
+    config_command: str = "configure term",
+    pattern: str = "",
+    re_flags: int = 0,
+) -> str:
+    """Aruba auto completes on space so 'configure' needs fully spelled-out."""
+    return super().config_mode(
+        config_command=config_command, pattern=pattern, re_flags=re_flags
+    )
+
+
+
+def session_preparation(self) ‑> None +
+
+

Aruba OS requires enable mode to disable paging.

+
+ +Expand source code + +
def session_preparation(self) -> None:
+    """Aruba OS requires enable mode to disable paging."""
+    # Aruba switches output ansi codes
+    self.ansi_escape_codes = True
+    self._test_channel_read(pattern=r"[>#]")
+    self.set_base_prompt()
+    self.enable()
+    self.disable_paging(command="no paging")
+
+
+
+

Inherited members

+ +
+
+
+
+ +
+ + + \ No newline at end of file diff --git a/docs/netmiko/aruba/index.html b/docs/netmiko/aruba/index.html index fecf5e266..0ccadf3dc 100644 --- a/docs/netmiko/aruba/index.html +++ b/docs/netmiko/aruba/index.html @@ -26,15 +26,20 @@

Module netmiko.aruba

Expand source code -
from netmiko.aruba.aruba_ssh import ArubaSSH
+
from netmiko.aruba.aruba_aoscx import ArubaCxSSH
+from netmiko.aruba.aruba_os import ArubaOsSSH
 
-__all__ = ["ArubaSSH"]
+__all__ = ["ArubaOsSSH", "ArubaCxSSH"]

Sub-modules

-
netmiko.aruba.aruba_ssh
+
netmiko.aruba.aruba_aoscx
+
+

Aruba AOS CX support …

+
+
netmiko.aruba.aruba_os

Aruba OS support …

@@ -47,8 +52,248 @@

Sub-modules

Classes

-
-class ArubaSSH +
+class ArubaCxSSH +(**kwargs: Any) +
+
+

Aruba AOS CX support

+
    Initialize attributes for establishing connection to target device.
+
+    :param ip: IP address of target device. Not required if <code>host</code> is
+        provided.
+
+    :param host: Hostname of target device. Not required if <code>ip</code> is
+            provided.
+
+    :param username: Username to authenticate against target device if
+            required.
+
+    :param password: Password to authenticate against target device if
+            required.
+
+    :param secret: The enable password if target device requires one.
+
+    :param port: The destination port used to connect to the target
+            device.
+
+    :param device_type: Class selection based on device type.
+
+    :param verbose: Enable additional messages to standard output.
+
+    :param global_delay_factor: Multiplication factor affecting Netmiko delays (default: 1).
+
+    :param use_keys: Connect to target device using SSH keys.
+
+    :param key_file: Filename path of the SSH key file to use.
+
+    :param pkey: SSH key object to use.
+
+    :param passphrase: Passphrase to use for encrypted key; password will be used for key
+            decryption if not specified.
+
+    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko
+            documentation for a description of the expected format.
+
+    :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs
+        <https://github.com/paramiko/paramiko/issues/1961> (default: False)
+
+    :param allow_agent: Enable use of SSH key-agent.
+
+    :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which
+            means unknown SSH host keys will be accepted).
+
+    :param system_host_keys: Load host keys from the users known_hosts file.
+
+    :param alt_host_keys: If <code>True</code> host keys will be loaded from the file specified in
+            alt_key_file.
+
+    :param alt_key_file: SSH host key file to use (if alt_host_keys=True).
+
+    :param ssh_config_file: File name of OpenSSH configuration file.
+
+    :param conn_timeout: TCP connection timeout.
+
+    :param session_timeout: Set a timeout for parallel requests.
+
+    :param auth_timeout: Set a timeout (in seconds) to wait for an authentication response.
+
+    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko).
+
+    :param read_timeout_override: Set a timeout that will override the default read_timeout
+            of both send_command and send_command_timing. This is useful for 3rd party
+            libraries where directly accessing method arguments might be impractical.
+
+    :param keepalive: Send SSH keepalive packets at a specific interval, in seconds.
+            Currently defaults to 0, for backwards compatibility (it will not attempt
+            to keep the connection alive).
+
+    :param default_enter: Character(s) to send to correspond to enter key (default:
+
+

).

+
    :param response_return: Character(s) to use in normalized return data to represent
+            enter key (default:
+
+

)

+
    :param serial_settings: Dictionary of settings for use with serial port (pySerial).
+
+    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
+            to select smallest of global and specific. Sets default global_delay_factor to .1
+            (default: True)
+
+    :param session_log: File path, SessionLog object, or BufferedIOBase subclass object
+            to write the session log to.
+
+    :param session_log_record_writes: The session log generally only records channel reads due
+            to eliminate command duplication due to command echo. You can enable this if you
+            want to record both channel reads and channel writes in the log (default: False).
+
+    :param session_log_file_mode: "write" or "append" for session_log file mode
+            (default: "write")
+
+    :param allow_auto_change: Allow automatic configuration changes for terminal settings.
+            (default: False)
+
+    :param encoding: Encoding to be used when writing bytes to the output channel.
+            (default: "utf-8")
+
+    :param sock: An open socket or socket-like object (such as a <code>.Channel</code>) to use for
+            communication to the target host (default: None).
+
+    :param sock_telnet: A dictionary of telnet socket parameters (SOCKS proxy). See
+            telnet_proxy.py code for details.
+
+    :param global_cmd_verify: Control whether command echo verification is enabled or disabled
+            (default: None). Global attribute takes precedence over function <code>cmd\_verify</code>
+            argument. Value of <code>None</code> indicates to use function <code>cmd\_verify</code> argument.
+
+    :param auto_connect: Control whether Netmiko automatically establishes the connection as
+            part of the object creation (default: True).
+
+    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko
+            3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be
+            eliminated in Netmiko 5.x (default: False).
+
+    :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior
+            (default: False)
+
+
+ +Expand source code + +
class ArubaCxSSH(CiscoSSHConnection):
+    """Aruba AOS CX support"""
+
+    def __init__(self, **kwargs: Any) -> None:
+        if kwargs.get("default_enter") is None:
+            kwargs["default_enter"] = "\r"
+        return super().__init__(**kwargs)
+
+    def session_preparation(self) -> None:
+        self.ansi_escape_codes = True
+        self._test_channel_read(pattern=r"[>#]")
+        self.set_base_prompt()
+        self.disable_paging(command="no page")
+
+    def check_config_mode(
+        self,
+        check_string: str = "(config)#",
+        pattern: str = r"[>#]",
+        force_regex: bool = False,
+    ) -> bool:
+        return super().check_config_mode(check_string=check_string, pattern=pattern)
+
+    def config_mode(
+        self,
+        config_command: str = "configure term",
+        pattern: str = "",
+        re_flags: int = 0,
+    ) -> str:
+        """Aruba auto completes on space so 'configure' needs fully spelled-out."""
+        return super().config_mode(
+            config_command=config_command, pattern=pattern, re_flags=re_flags
+        )
+
+

Ancestors

+ +

Methods

+
+
+def config_mode(self, config_command: str = 'configure term', pattern: str = '', re_flags: int = 0) ‑> str +
+
+

Aruba auto completes on space so 'configure' needs fully spelled-out.

+
+ +Expand source code + +
def config_mode(
+    self,
+    config_command: str = "configure term",
+    pattern: str = "",
+    re_flags: int = 0,
+) -> str:
+    """Aruba auto completes on space so 'configure' needs fully spelled-out."""
+    return super().config_mode(
+        config_command=config_command, pattern=pattern, re_flags=re_flags
+    )
+
+
+
+

Inherited members

+ +
+
+class ArubaOsSSH (**kwargs: Any)
@@ -176,7 +421,7 @@

Classes

Expand source code -
class ArubaSSH(CiscoSSHConnection):
+
class ArubaOsSSH(CiscoSSHConnection):
     """Aruba OS support"""
 
     def __init__(self, **kwargs: Any) -> None:
@@ -228,7 +473,7 @@ 

Ancestors

Methods

-
+
def check_config_mode(self, check_string: str = '(config) #', pattern: str = '[>#]', force_regex: bool = False) ‑> bool
@@ -252,7 +497,7 @@

Methods

return super().check_config_mode(check_string=check_string, pattern=pattern)
-
+
def config_mode(self, config_command: str = 'configure term', pattern: str = '', re_flags: int = 0) ‑> str
@@ -273,7 +518,7 @@

Methods

)
-
+
def session_preparation(self) ‑> None
@@ -355,17 +600,24 @@

Index

  • Sub-modules

  • Classes

    diff --git a/docs/netmiko/base_connection.html b/docs/netmiko/base_connection.html index 74cd45057..6ac60976f 100644 --- a/docs/netmiko/base_connection.html +++ b/docs/netmiko/base_connection.html @@ -38,6 +38,7 @@

    Module netmiko.base_connection

    Also defines methods that should generally be supported by child classes """ + from typing import ( Optional, Callable, @@ -59,7 +60,6 @@

    Module netmiko.base_connection

    import io import re import socket -import telnetlib import time from collections import deque from os import path @@ -82,6 +82,7 @@

    Module netmiko.base_connection

    ReadException, ReadTimeout, ) +from netmiko._telnetlib import telnetlib from netmiko.channel import Channel, SSHChannel, TelnetChannel, SerialChannel from netmiko.session_log import SessionLog from netmiko.utilities import ( @@ -420,7 +421,8 @@

    Module netmiko.base_connection

    if self.secret: no_log["secret"] = self.secret # Always sanitize username and password - log.addFilter(SecretsFilter(no_log=no_log)) + self._secrets_filter = SecretsFilter(no_log=no_log) + log.addFilter(self._secrets_filter) # Netmiko will close the session_log if we open the file if session_log is not None: @@ -630,7 +632,7 @@

    Module netmiko.base_connection

    log.debug("Sending IAC + NOP") # Need to send multiple times to test connection assert isinstance(self.remote_conn, telnetlib.Telnet) - telnet_socket = self.remote_conn.get_socket() + telnet_socket = self.remote_conn.get_socket() # type: ignore telnet_socket.sendall(telnetlib.IAC + telnetlib.NOP) telnet_socket.sendall(telnetlib.IAC + telnetlib.NOP) telnet_socket.sendall(telnetlib.IAC + telnetlib.NOP) @@ -1149,7 +1151,7 @@

    Module netmiko.base_connection

    proxy_dict=self.sock_telnet, ) else: - self.remote_conn = telnetlib.Telnet( + self.remote_conn = telnetlib.Telnet( # type: ignore self.host, port=self.port, timeout=self.timeout ) # Migrating communication to channel class @@ -2500,7 +2502,7 @@

    Module netmiko.base_connection

    self.paramiko_cleanup() elif self.protocol == "telnet": assert isinstance(self.remote_conn, telnetlib.Telnet) - self.remote_conn.close() + self.remote_conn.close() # type: ignore elif self.protocol == "serial": assert isinstance(self.remote_conn, serial.Serial) self.remote_conn.close() @@ -2512,6 +2514,7 @@

    Module netmiko.base_connection

    self.remote_conn = None if self.session_log: self.session_log.close() + log.removeFilter(self._secrets_filter) def commit(self) -> str: """Commit method for platforms that support this.""" @@ -3032,7 +3035,8 @@

    Classes

    if self.secret: no_log["secret"] = self.secret # Always sanitize username and password - log.addFilter(SecretsFilter(no_log=no_log)) + self._secrets_filter = SecretsFilter(no_log=no_log) + log.addFilter(self._secrets_filter) # Netmiko will close the session_log if we open the file if session_log is not None: @@ -3242,7 +3246,7 @@

    Classes

    log.debug("Sending IAC + NOP") # Need to send multiple times to test connection assert isinstance(self.remote_conn, telnetlib.Telnet) - telnet_socket = self.remote_conn.get_socket() + telnet_socket = self.remote_conn.get_socket() # type: ignore telnet_socket.sendall(telnetlib.IAC + telnetlib.NOP) telnet_socket.sendall(telnetlib.IAC + telnetlib.NOP) telnet_socket.sendall(telnetlib.IAC + telnetlib.NOP) @@ -3761,7 +3765,7 @@

    Classes

    proxy_dict=self.sock_telnet, ) else: - self.remote_conn = telnetlib.Telnet( + self.remote_conn = telnetlib.Telnet( # type: ignore self.host, port=self.port, timeout=self.timeout ) # Migrating communication to channel class @@ -5112,7 +5116,7 @@

    Classes

    self.paramiko_cleanup() elif self.protocol == "telnet": assert isinstance(self.remote_conn, telnetlib.Telnet) - self.remote_conn.close() + self.remote_conn.close() # type: ignore elif self.protocol == "serial": assert isinstance(self.remote_conn, serial.Serial) self.remote_conn.close() @@ -5124,6 +5128,7 @@

    Classes

    self.remote_conn = None if self.session_log: self.session_log.close() + log.removeFilter(self._secrets_filter) def commit(self) -> str: """Commit method for platforms that support this.""" @@ -5501,7 +5506,7 @@

    Methods

    self.paramiko_cleanup() elif self.protocol == "telnet": assert isinstance(self.remote_conn, telnetlib.Telnet) - self.remote_conn.close() + self.remote_conn.close() # type: ignore elif self.protocol == "serial": assert isinstance(self.remote_conn, serial.Serial) self.remote_conn.close() @@ -5512,7 +5517,8 @@

    Methods

    self.remote_conn_pre = None self.remote_conn = None if self.session_log: - self.session_log.close()
  • + self.session_log.close() + log.removeFilter(self._secrets_filter)
    @@ -5628,7 +5634,7 @@

    Methods

    proxy_dict=self.sock_telnet, ) else: - self.remote_conn = telnetlib.Telnet( + self.remote_conn = telnetlib.Telnet( # type: ignore self.host, port=self.port, timeout=self.timeout ) # Migrating communication to channel class @@ -5868,7 +5874,7 @@

    Methods

    log.debug("Sending IAC + NOP") # Need to send multiple times to test connection assert isinstance(self.remote_conn, telnetlib.Telnet) - telnet_socket = self.remote_conn.get_socket() + telnet_socket = self.remote_conn.get_socket() # type: ignore telnet_socket.sendall(telnetlib.IAC + telnetlib.NOP) telnet_socket.sendall(telnetlib.IAC + telnetlib.NOP) telnet_socket.sendall(telnetlib.IAC + telnetlib.NOP) diff --git a/docs/netmiko/calix/calix_b6.html b/docs/netmiko/calix/calix_b6.html index 0d4b31dd6..24b33df32 100644 --- a/docs/netmiko/calix/calix_b6.html +++ b/docs/netmiko/calix/calix_b6.html @@ -28,6 +28,7 @@

    Module netmiko.calix.calix_b6

    Expand source code
    """Calix B6 SSH Driver for Netmiko"""
    +
     from typing import Any
     import time
     from os import path
    diff --git a/docs/netmiko/centec/centec_os.html b/docs/netmiko/centec/centec_os.html
    index aadf3543f..40bb0c817 100644
    --- a/docs/netmiko/centec/centec_os.html
    +++ b/docs/netmiko/centec/centec_os.html
    @@ -28,6 +28,7 @@ 

    Module netmiko.centec.centec_os

    Expand source code
    """Centec OS Support"""
    +
     from netmiko.cisco_base_connection import CiscoBaseConnection
     
     
    diff --git a/docs/netmiko/channel.html b/docs/netmiko/channel.html
    index 2bbe38fbd..4fe84b681 100644
    --- a/docs/netmiko/channel.html
    +++ b/docs/netmiko/channel.html
    @@ -29,9 +29,9 @@ 

    Module netmiko.channel

    from typing import Any, Optional
     from abc import ABC, abstractmethod
     import paramiko
    -import telnetlib
     import serial
     
    +from netmiko._telnetlib import telnetlib
     from netmiko.utilities import write_bytes
     from netmiko.netmiko_globals import MAX_BUFFER
     from netmiko.exceptions import ReadException, WriteException
    @@ -141,7 +141,7 @@ 

    Module netmiko.channel

    raise WriteException( "Attempt to write data, but there is no active channel." ) - self.remote_conn.write(write_bytes(out_data, encoding=self.encoding)) + self.remote_conn.write(write_bytes(out_data, encoding=self.encoding)) # type: ignore def read_buffer(self) -> str: """Single read of available data.""" @@ -151,7 +151,7 @@

    Module netmiko.channel

    """Read all of the available data from the channel.""" if self.remote_conn is None: raise ReadException("Attempt to read, but there is no active channel.") - return self.remote_conn.read_very_eager().decode(self.encoding, "ignore") + return self.remote_conn.read_very_eager().decode(self.encoding, "ignore") # type: ignore class SerialChannel(Channel): @@ -462,7 +462,7 @@

    Inherited members

    class TelnetChannel -(conn: Optional[telnetlib.Telnet], encoding: str) +(conn: Optional[netmiko._telnetlib.telnetlib.Telnet], encoding: str)

    Helper class that provides a standard way to create an ABC using @@ -488,7 +488,7 @@

    Inherited members

    raise WriteException( "Attempt to write data, but there is no active channel." ) - self.remote_conn.write(write_bytes(out_data, encoding=self.encoding)) + self.remote_conn.write(write_bytes(out_data, encoding=self.encoding)) # type: ignore def read_buffer(self) -> str: """Single read of available data.""" @@ -498,7 +498,7 @@

    Inherited members

    """Read all of the available data from the channel.""" if self.remote_conn is None: raise ReadException("Attempt to read, but there is no active channel.") - return self.remote_conn.read_very_eager().decode(self.encoding, "ignore")
    + return self.remote_conn.read_very_eager().decode(self.encoding, "ignore") # type: ignore

    Ancestors

      diff --git a/docs/netmiko/ciena/ciena_saos.html b/docs/netmiko/ciena/ciena_saos.html index d129c8b6f..8bfadc166 100644 --- a/docs/netmiko/ciena/ciena_saos.html +++ b/docs/netmiko/ciena/ciena_saos.html @@ -28,6 +28,7 @@

      Module netmiko.ciena.ciena_saos

      Expand source code
      """Ciena SAOS support."""
      +
       from typing import Optional, Any
       import re
       import os
      diff --git a/docs/netmiko/cisco/cisco_asa_ssh.html b/docs/netmiko/cisco/cisco_asa_ssh.html
      index 9fa53494e..dba9d8973 100644
      --- a/docs/netmiko/cisco/cisco_asa_ssh.html
      +++ b/docs/netmiko/cisco/cisco_asa_ssh.html
      @@ -28,6 +28,7 @@ 

      Module netmiko.cisco.cisco_asa_ssh

      Expand source code
      """Subclass specific to Cisco ASA."""
      +
       from typing import Any, Union, List, Dict, Optional
       import re
       import time
      diff --git a/docs/netmiko/cisco/cisco_ftd_ssh.html b/docs/netmiko/cisco/cisco_ftd_ssh.html
      index 9f16a152a..8109e53fb 100644
      --- a/docs/netmiko/cisco/cisco_ftd_ssh.html
      +++ b/docs/netmiko/cisco/cisco_ftd_ssh.html
      @@ -28,6 +28,7 @@ 

      Module netmiko.cisco.cisco_ftd_ssh

      Expand source code
      """Subclass specific to Cisco FTD."""
      +
       from typing import Any
       from netmiko.no_enable import NoEnable
       from netmiko.no_config import NoConfig
      diff --git a/docs/netmiko/cisco/cisco_tp_tcce.html b/docs/netmiko/cisco/cisco_tp_tcce.html
      index db7eccdd8..3ffd77cf3 100644
      --- a/docs/netmiko/cisco/cisco_tp_tcce.html
      +++ b/docs/netmiko/cisco/cisco_tp_tcce.html
      @@ -41,6 +41,7 @@ 

      Module netmiko.cisco.cisco_tp_tcce

      Written by Ahmad Barrin Updated by Kirk Byers """ + from typing import Any, Union, List, Dict import time import re diff --git a/docs/netmiko/cisco/cisco_viptela.html b/docs/netmiko/cisco/cisco_viptela.html index 81a751854..89123b343 100644 --- a/docs/netmiko/cisco/cisco_viptela.html +++ b/docs/netmiko/cisco/cisco_viptela.html @@ -28,6 +28,7 @@

      Module netmiko.cisco.cisco_viptela

      Expand source code
      """Subclass specific to Cisco Viptela."""
      +
       from typing import Union, Sequence, Iterator, TextIO, Any
       import re
       
      diff --git a/docs/netmiko/cisco/cisco_wlc_ssh.html b/docs/netmiko/cisco/cisco_wlc_ssh.html
      index 37f1f08b7..c0a6c9f91 100644
      --- a/docs/netmiko/cisco/cisco_wlc_ssh.html
      +++ b/docs/netmiko/cisco/cisco_wlc_ssh.html
      @@ -28,6 +28,7 @@ 

      Module netmiko.cisco.cisco_wlc_ssh

      Expand source code
      """Netmiko Cisco WLC support."""
      +
       from typing import Any, Union, Sequence, Iterator, TextIO
       import time
       import re
      diff --git a/docs/netmiko/cisco/cisco_xr.html b/docs/netmiko/cisco/cisco_xr.html
      index 5b7105cf1..18c3cf1c2 100644
      --- a/docs/netmiko/cisco/cisco_xr.html
      +++ b/docs/netmiko/cisco/cisco_xr.html
      @@ -219,7 +219,7 @@ 

      Module netmiko.cisco.cisco_xr

      # Read until we detect either an Uncommitted change or the end prompt if not re.search(r"(Uncommitted|#$)", output): output += self.read_until_pattern(pattern=r"(Uncommitted|#$)") - if "Uncommitted changes found" in output: + if "Uncommitted" in output: self.write_channel(self.normalize_cmd("no\n")) output += self.read_until_pattern(pattern=r"[>#]") if not re.search(pattern, output, flags=re.M): @@ -613,7 +613,7 @@

      Classes

      # Read until we detect either an Uncommitted change or the end prompt if not re.search(r"(Uncommitted|#$)", output): output += self.read_until_pattern(pattern=r"(Uncommitted|#$)") - if "Uncommitted changes found" in output: + if "Uncommitted" in output: self.write_channel(self.normalize_cmd("no\n")) output += self.read_until_pattern(pattern=r"[>#]") if not re.search(pattern, output, flags=re.M): @@ -847,7 +847,7 @@

      Methods

      # Read until we detect either an Uncommitted change or the end prompt if not re.search(r"(Uncommitted|#$)", output): output += self.read_until_pattern(pattern=r"(Uncommitted|#$)") - if "Uncommitted changes found" in output: + if "Uncommitted" in output: self.write_channel(self.normalize_cmd("no\n")) output += self.read_until_pattern(pattern=r"[>#]") if not re.search(pattern, output, flags=re.M): diff --git a/docs/netmiko/cisco_base_connection.html b/docs/netmiko/cisco_base_connection.html index 8d53083c0..40a5679f0 100644 --- a/docs/netmiko/cisco_base_connection.html +++ b/docs/netmiko/cisco_base_connection.html @@ -28,6 +28,7 @@

      Module netmiko.cisco_base_connection

      Expand source code
      """CiscoBaseConnection is netmiko SSH class for Cisco and Cisco-like platforms."""
      +
       from typing import Optional
       import re
       import time
      @@ -1267,7 +1268,8 @@ 

      Subclasses

    • ApresiaAeosBase
    • AristaBase
    • ArrisCERBase
    • -
    • ArubaSSH
    • +
    • ArubaCxSSH
    • +
    • ArubaOsSSH
    • BroadcomIcosSSH
    • BrocadeFOSSSH
    • CalixB6Base
    • diff --git a/docs/netmiko/dell/dell_dnos6.html b/docs/netmiko/dell/dell_dnos6.html index 8492e799b..f116bc408 100644 --- a/docs/netmiko/dell/dell_dnos6.html +++ b/docs/netmiko/dell/dell_dnos6.html @@ -28,6 +28,7 @@

      Module netmiko.dell.dell_dnos6

      Expand source code
      """Dell N2/3/4000 base driver- supports DNOS6."""
      +
       from netmiko.dell.dell_powerconnect import DellPowerConnectBase
       
       
      diff --git a/docs/netmiko/dell/dell_force10_ssh.html b/docs/netmiko/dell/dell_force10_ssh.html
      index 431dac419..efbe0c09b 100644
      --- a/docs/netmiko/dell/dell_force10_ssh.html
      +++ b/docs/netmiko/dell/dell_force10_ssh.html
      @@ -28,6 +28,7 @@ 

      Module netmiko.dell.dell_force10_ssh

      Expand source code
      """Dell Force10 Driver - supports DNOS9."""
      +
       from netmiko.cisco_base_connection import CiscoSSHConnection
       
       
      diff --git a/docs/netmiko/dell/dell_os10_ssh.html b/docs/netmiko/dell/dell_os10_ssh.html
      index 14f590974..83e7ea05a 100644
      --- a/docs/netmiko/dell/dell_os10_ssh.html
      +++ b/docs/netmiko/dell/dell_os10_ssh.html
      @@ -28,6 +28,7 @@ 

      Module netmiko.dell.dell_os10_ssh

      Expand source code
      """Dell EMC Networking OS10 Driver - supports dellos10."""
      +
       from typing import Any, Optional
       from netmiko.base_connection import BaseConnection
       from netmiko.cisco_base_connection import CiscoSSHConnection
      diff --git a/docs/netmiko/dell/dell_powerconnect.html b/docs/netmiko/dell/dell_powerconnect.html
      index 1620f47c6..fa40ae31f 100644
      --- a/docs/netmiko/dell/dell_powerconnect.html
      +++ b/docs/netmiko/dell/dell_powerconnect.html
      @@ -28,6 +28,7 @@ 

      Module netmiko.dell.dell_powerconnect

      Expand source code
      """Dell PowerConnect Driver."""
      +
       from typing import Optional
       from paramiko import SSHClient
       import time
      diff --git a/docs/netmiko/dell/dell_sonic_ssh.html b/docs/netmiko/dell/dell_sonic_ssh.html
      index 8cf71e723..fc49e3c74 100644
      --- a/docs/netmiko/dell/dell_sonic_ssh.html
      +++ b/docs/netmiko/dell/dell_sonic_ssh.html
      @@ -33,6 +33,7 @@ 

      Module netmiko.dell.dell_sonic_ssh

      Dell EMC PowerSwitch platforms running Enterprise SONiC Distribution by Dell Technologies Driver - supports dellenterprisesonic. """ + from netmiko.no_enable import NoEnable from netmiko.cisco_base_connection import CiscoSSHConnection from netmiko import log diff --git a/docs/netmiko/digi/digi_transport.html b/docs/netmiko/digi/digi_transport.html index cb2485bd4..81daab766 100644 --- a/docs/netmiko/digi/digi_transport.html +++ b/docs/netmiko/digi/digi_transport.html @@ -28,6 +28,7 @@

      Module netmiko.digi.digi_transport

      Expand source code
      """Digi TransPort Routers"""
      +
       from typing import Any
       from netmiko.no_enable import NoEnable
       from netmiko.no_config import NoConfig
      diff --git a/docs/netmiko/enterasys/enterasys_ssh.html b/docs/netmiko/enterasys/enterasys_ssh.html
      index 3e034e0ad..aa4eef514 100644
      --- a/docs/netmiko/enterasys/enterasys_ssh.html
      +++ b/docs/netmiko/enterasys/enterasys_ssh.html
      @@ -28,6 +28,7 @@ 

      Module netmiko.enterasys.enterasys_ssh

      Expand source code
      """Enterasys support."""
      +
       from typing import Any
       from netmiko.cisco_base_connection import CiscoSSHConnection
       
      diff --git a/docs/netmiko/ericsson/ericsson_ipos.html b/docs/netmiko/ericsson/ericsson_ipos.html
      index 4a606cda6..5d92265a7 100644
      --- a/docs/netmiko/ericsson/ericsson_ipos.html
      +++ b/docs/netmiko/ericsson/ericsson_ipos.html
      @@ -30,6 +30,7 @@ 

      Module netmiko.ericsson.ericsson_ipos

      """
       Ericsson Ipos looks like it was RedBack equipment.
       """
      +
       from typing import Optional, Any, Union, Sequence, Iterator, TextIO
       import re
       import warnings
      diff --git a/docs/netmiko/ericsson/ericsson_mltn.html b/docs/netmiko/ericsson/ericsson_mltn.html
      index 285388b8a..6fcf12a43 100644
      --- a/docs/netmiko/ericsson/ericsson_mltn.html
      +++ b/docs/netmiko/ericsson/ericsson_mltn.html
      @@ -28,6 +28,7 @@ 

      Module netmiko.ericsson.ericsson_mltn

      Expand source code
      """Ericsson MiniLink driver."""
      +
       import time
       import re
       from os import path
      diff --git a/docs/netmiko/extreme/extreme_ers_ssh.html b/docs/netmiko/extreme/extreme_ers_ssh.html
      index f59b34f36..2257159d7 100644
      --- a/docs/netmiko/extreme/extreme_ers_ssh.html
      +++ b/docs/netmiko/extreme/extreme_ers_ssh.html
      @@ -28,6 +28,7 @@ 

      Module netmiko.extreme.extreme_ers_ssh

      Expand source code
      """Netmiko support for Extreme Ethernet Routing Switch."""
      +
       import re
       from netmiko.cisco_base_connection import CiscoSSHConnection
       from netmiko.exceptions import NetmikoAuthenticationException
      diff --git a/docs/netmiko/extreme/extreme_exos.html b/docs/netmiko/extreme/extreme_exos.html
      index e73eb37af..968260546 100644
      --- a/docs/netmiko/extreme/extreme_exos.html
      +++ b/docs/netmiko/extreme/extreme_exos.html
      @@ -28,6 +28,7 @@ 

      Module netmiko.extreme.extreme_exos

      Expand source code
      """Extreme support."""
      +
       import os
       from typing import Any, Callable, Optional, Union, List, Dict
       import re
      diff --git a/docs/netmiko/extreme/extreme_nos_ssh.html b/docs/netmiko/extreme/extreme_nos_ssh.html
      index 74a5ca71f..27c83a0ba 100644
      --- a/docs/netmiko/extreme/extreme_nos_ssh.html
      +++ b/docs/netmiko/extreme/extreme_nos_ssh.html
      @@ -28,6 +28,7 @@ 

      Module netmiko.extreme.extreme_nos_ssh

      Expand source code
      """Support for Extreme NOS/VDX."""
      +
       import time
       from netmiko.no_enable import NoEnable
       from netmiko.cisco_base_connection import CiscoSSHConnection
      diff --git a/docs/netmiko/extreme/extreme_slx_ssh.html b/docs/netmiko/extreme/extreme_slx_ssh.html
      index 72446a9e1..5e25b87ee 100644
      --- a/docs/netmiko/extreme/extreme_slx_ssh.html
      +++ b/docs/netmiko/extreme/extreme_slx_ssh.html
      @@ -28,6 +28,7 @@ 

      Module netmiko.extreme.extreme_slx_ssh

      Expand source code
      """Support for Extreme SLX."""
      +
       import time
       from netmiko.no_enable import NoEnable
       from netmiko.cisco_base_connection import CiscoSSHConnection
      diff --git a/docs/netmiko/extreme/extreme_tierraos_ssh.html b/docs/netmiko/extreme/extreme_tierraos_ssh.html
      index 1229efea3..f254be8bf 100644
      --- a/docs/netmiko/extreme/extreme_tierraos_ssh.html
      +++ b/docs/netmiko/extreme/extreme_tierraos_ssh.html
      @@ -28,6 +28,7 @@ 

      Module netmiko.extreme.extreme_tierraos_ssh

      Expand source code
      """Support for Extreme TierraOS."""
      +
       import time
       from netmiko.no_enable import NoEnable
       from netmiko.cisco_base_connection import CiscoSSHConnection
      diff --git a/docs/netmiko/extreme/extreme_vsp_ssh.html b/docs/netmiko/extreme/extreme_vsp_ssh.html
      index 56d7e649c..e68c2d75d 100644
      --- a/docs/netmiko/extreme/extreme_vsp_ssh.html
      +++ b/docs/netmiko/extreme/extreme_vsp_ssh.html
      @@ -28,6 +28,7 @@ 

      Module netmiko.extreme.extreme_vsp_ssh

      Expand source code
      """Extreme Virtual Services Platform Support."""
      +
       from netmiko.cisco_base_connection import CiscoSSHConnection
       
       
      diff --git a/docs/netmiko/fiberstore/fiberstore_fsos.html b/docs/netmiko/fiberstore/fiberstore_fsos.html
      index 3bb0b76bc..a9c35d5eb 100644
      --- a/docs/netmiko/fiberstore/fiberstore_fsos.html
      +++ b/docs/netmiko/fiberstore/fiberstore_fsos.html
      @@ -28,6 +28,7 @@ 

      Module netmiko.fiberstore.fiberstore_fsos

      Expand source code
      """Fiberstore FSOS Driver."""
      +
       from typing import Optional
       from paramiko import SSHClient
       from netmiko.ssh_auth import SSHClient_noauth
      diff --git a/docs/netmiko/huawei/huawei.html b/docs/netmiko/huawei/huawei.html
      index 5b75abc55..66beeac95 100644
      --- a/docs/netmiko/huawei/huawei.html
      +++ b/docs/netmiko/huawei/huawei.html
      @@ -132,12 +132,18 @@ 

      Module netmiko.huawei.huawei

      Configuration file had been saved successfully Note: The configuration file will take effect after being activated ###################################################################### + or + ###################################################################### + Warning: The current configuration will be written to the device. Continue? [Y/N]:y + Now saving the current configuration to the slot 1 . + Info: Save the configuration successfully. + ###################################################################### """ # Huawei devices might break if you try to use send_command_timing() so use send_command() # instead. if confirm: - pattern = rf"(?:Are you sure|{self.prompt_pattern})" + pattern = rf"(?:[Cc]ontinue\?|{self.prompt_pattern})" output = self._send_command_str( command_string=cmd, expect_string=pattern, @@ -145,7 +151,7 @@

      Module netmiko.huawei.huawei

      strip_command=False, read_timeout=100.0, ) - if confirm_response and "Are you sure" in output: + if confirm_response and re.search(r"[Cc]ontinue\?", output): output += self._send_command_str( command_string=confirm_response, expect_string=self.prompt_pattern, @@ -293,11 +299,7 @@

      Module netmiko.huawei.huawei

      if error_marker in output: raise ValueError(f"Commit failed with following errors:\n\n{output}") - return output - - def save_config(self, *args: Any, **kwargs: Any) -> str: - """Not Implemented""" - raise NotImplementedError
      + return output
      @@ -540,12 +542,18 @@

      Classes

      Configuration file had been saved successfully Note: The configuration file will take effect after being activated ###################################################################### + or + ###################################################################### + Warning: The current configuration will be written to the device. Continue? [Y/N]:y + Now saving the current configuration to the slot 1 . + Info: Save the configuration successfully. + ###################################################################### """ # Huawei devices might break if you try to use send_command_timing() so use send_command() # instead. if confirm: - pattern = rf"(?:Are you sure|{self.prompt_pattern})" + pattern = rf"(?:[Cc]ontinue\?|{self.prompt_pattern})" output = self._send_command_str( command_string=cmd, expect_string=pattern, @@ -553,7 +561,7 @@

      Classes

      strip_command=False, read_timeout=100.0, ) - if confirm_response and "Are you sure" in output: + if confirm_response and re.search(r"[Cc]ontinue\?", output): output += self._send_command_str( command_string=confirm_response, expect_string=self.prompt_pattern, @@ -645,7 +653,13 @@
      It will take several minutes to save configuration file, please wait..................... Configuration file had been saved successfully Note: The configuration file will take effect after being activated

      -
      +
      +

      or

      +
      +

      Warning: The current configuration will be written to the device. Continue? [Y/N]:y +Now saving the current configuration to the slot 1 . +Info: Save the configuration successfully.

      +
      Expand source code @@ -664,12 +678,18 @@
      Configuration file had been saved successfully Note: The configuration file will take effect after being activated ###################################################################### + or + ###################################################################### + Warning: The current configuration will be written to the device. Continue? [Y/N]:y + Now saving the current configuration to the slot 1 . + Info: Save the configuration successfully. + ###################################################################### """ # Huawei devices might break if you try to use send_command_timing() so use send_command() # instead. if confirm: - pattern = rf"(?:Are you sure|{self.prompt_pattern})" + pattern = rf"(?:[Cc]ontinue\?|{self.prompt_pattern})" output = self._send_command_str( command_string=cmd, expect_string=pattern, @@ -677,7 +697,7 @@
      strip_command=False, read_timeout=100.0, ) - if confirm_response and "Are you sure" in output: + if confirm_response and re.search(r"[Cc]ontinue\?", output): output += self._send_command_str( command_string=confirm_response, expect_string=self.prompt_pattern, @@ -1517,11 +1537,7 @@

      Inherited members

      if error_marker in output: raise ValueError(f"Commit failed with following errors:\n\n{output}") - return output - - def save_config(self, *args: Any, **kwargs: Any) -> str: - """Not Implemented""" - raise NotImplementedError
      + return output

      Ancestors

        @@ -1593,20 +1609,6 @@

        Methods

        return output
      -
      -def save_config(self, *args: Any, **kwargs: Any) ‑> str -
      -
      -

      Not Implemented

      -
      - -Expand source code - -
      def save_config(self, *args: Any, **kwargs: Any) -> str:
      -    """Not Implemented"""
      -    raise NotImplementedError
      -
      -
      def send_config_set(self, config_commands: Union[str, Sequence[str], Iterator[str], TextIO, ForwardRef(None)] = None, exit_config_mode: bool = False, **kwargs: Any) ‑> str
      @@ -1655,6 +1657,7 @@

      Inherited members

    • read_until_prompt
    • read_until_prompt_or_pattern
    • run_ttp
    • +
    • save_config
    • select_delay_factor
    • send_command
    • send_command_expect
    • @@ -1718,7 +1721,6 @@

      HuaweiVrpv8SSH

      diff --git a/docs/netmiko/huawei/index.html b/docs/netmiko/huawei/index.html index 2ec6263a7..fac28e055 100644 --- a/docs/netmiko/huawei/index.html +++ b/docs/netmiko/huawei/index.html @@ -1123,11 +1123,7 @@

      Inherited members

      if error_marker in output: raise ValueError(f"Commit failed with following errors:\n\n{output}") - return output - - def save_config(self, *args: Any, **kwargs: Any) -> str: - """Not Implemented""" - raise NotImplementedError
      + return output

      Ancestors

        @@ -1199,20 +1195,6 @@

        Methods

        return output
      -
      -def save_config(self, *args: Any, **kwargs: Any) ‑> str -
      -
      -

      Not Implemented

      -
      - -Expand source code - -
      def save_config(self, *args: Any, **kwargs: Any) -> str:
      -    """Not Implemented"""
      -    raise NotImplementedError
      -
      -
      def send_config_set(self, config_commands: Union[str, Sequence[str], Iterator[str], TextIO, ForwardRef(None)] = None, exit_config_mode: bool = False, **kwargs: Any) ‑> str
      @@ -1261,6 +1243,7 @@

      Inherited members

    • read_until_prompt
    • read_until_prompt_or_pattern
    • run_ttp
    • +
    • save_config
    • select_delay_factor
    • send_command
    • send_command_expect
    • @@ -1325,7 +1308,6 @@

      HuaweiVrpv8SSH

      diff --git a/docs/netmiko/index.html b/docs/netmiko/index.html index 155f5d9b7..d22de5580 100644 --- a/docs/netmiko/index.html +++ b/docs/netmiko/index.html @@ -1261,7 +1261,8 @@

      Classes

      if self.secret: no_log["secret"] = self.secret # Always sanitize username and password - log.addFilter(SecretsFilter(no_log=no_log)) + self._secrets_filter = SecretsFilter(no_log=no_log) + log.addFilter(self._secrets_filter) # Netmiko will close the session_log if we open the file if session_log is not None: @@ -1471,7 +1472,7 @@

      Classes

      log.debug("Sending IAC + NOP") # Need to send multiple times to test connection assert isinstance(self.remote_conn, telnetlib.Telnet) - telnet_socket = self.remote_conn.get_socket() + telnet_socket = self.remote_conn.get_socket() # type: ignore telnet_socket.sendall(telnetlib.IAC + telnetlib.NOP) telnet_socket.sendall(telnetlib.IAC + telnetlib.NOP) telnet_socket.sendall(telnetlib.IAC + telnetlib.NOP) @@ -1990,7 +1991,7 @@

      Classes

      proxy_dict=self.sock_telnet, ) else: - self.remote_conn = telnetlib.Telnet( + self.remote_conn = telnetlib.Telnet( # type: ignore self.host, port=self.port, timeout=self.timeout ) # Migrating communication to channel class @@ -3341,7 +3342,7 @@

      Classes

      self.paramiko_cleanup() elif self.protocol == "telnet": assert isinstance(self.remote_conn, telnetlib.Telnet) - self.remote_conn.close() + self.remote_conn.close() # type: ignore elif self.protocol == "serial": assert isinstance(self.remote_conn, serial.Serial) self.remote_conn.close() @@ -3353,6 +3354,7 @@

      Classes

      self.remote_conn = None if self.session_log: self.session_log.close() + log.removeFilter(self._secrets_filter) def commit(self) -> str: """Commit method for platforms that support this.""" @@ -3730,7 +3732,7 @@

      Methods

      self.paramiko_cleanup() elif self.protocol == "telnet": assert isinstance(self.remote_conn, telnetlib.Telnet) - self.remote_conn.close() + self.remote_conn.close() # type: ignore elif self.protocol == "serial": assert isinstance(self.remote_conn, serial.Serial) self.remote_conn.close() @@ -3741,7 +3743,8 @@

      Methods

      self.remote_conn_pre = None self.remote_conn = None if self.session_log: - self.session_log.close()
      + self.session_log.close() + log.removeFilter(self._secrets_filter)
      @@ -3857,7 +3860,7 @@

      Methods

      proxy_dict=self.sock_telnet, ) else: - self.remote_conn = telnetlib.Telnet( + self.remote_conn = telnetlib.Telnet( # type: ignore self.host, port=self.port, timeout=self.timeout ) # Migrating communication to channel class @@ -4097,7 +4100,7 @@

      Methods

      log.debug("Sending IAC + NOP") # Need to send multiple times to test connection assert isinstance(self.remote_conn, telnetlib.Telnet) - telnet_socket = self.remote_conn.get_socket() + telnet_socket = self.remote_conn.get_socket() # type: ignore telnet_socket.sendall(telnetlib.IAC + telnetlib.NOP) telnet_socket.sendall(telnetlib.IAC + telnetlib.NOP) telnet_socket.sendall(telnetlib.IAC + telnetlib.NOP) diff --git a/docs/netmiko/ipinfusion/index.html b/docs/netmiko/ipinfusion/index.html index cb1efb174..68559ba94 100644 --- a/docs/netmiko/ipinfusion/index.html +++ b/docs/netmiko/ipinfusion/index.html @@ -398,7 +398,7 @@

      Inherited members

      # set callback function to handle telnet options. assert self.remote_conn is not None assert isinstance(self.remote_conn, Telnet) - self.remote_conn.set_option_negotiation_callback(self._process_option) + self.remote_conn.set_option_negotiation_callback(self._process_option) # type: ignore return super().telnet_login( pri_prompt_terminator=pri_prompt_terminator, alt_prompt_terminator=alt_prompt_terminator, diff --git a/docs/netmiko/ipinfusion/ipinfusion_ocnos.html b/docs/netmiko/ipinfusion/ipinfusion_ocnos.html index c3c190523..d3388954b 100644 --- a/docs/netmiko/ipinfusion/ipinfusion_ocnos.html +++ b/docs/netmiko/ipinfusion/ipinfusion_ocnos.html @@ -30,7 +30,17 @@

      Module netmiko.ipinfusion.ipinfusion_ocnos

      from typing import Any from socket import socket -from telnetlib import IAC, DO, DONT, WILL, WONT, SB, SE, TTYPE, Telnet +from netmiko._telnetlib.telnetlib import ( + IAC, + DO, + DONT, + WILL, + WONT, + SB, + SE, + TTYPE, + Telnet, +) from netmiko.cisco_base_connection import CiscoBaseConnection @@ -95,7 +105,7 @@

      Module netmiko.ipinfusion.ipinfusion_ocnos

      # set callback function to handle telnet options. assert self.remote_conn is not None assert isinstance(self.remote_conn, Telnet) - self.remote_conn.set_option_negotiation_callback(self._process_option) + self.remote_conn.set_option_negotiation_callback(self._process_option) # type: ignore return super().telnet_login( pri_prompt_terminator=pri_prompt_terminator, alt_prompt_terminator=alt_prompt_terminator, @@ -696,7 +706,7 @@

      Inherited members

      # set callback function to handle telnet options. assert self.remote_conn is not None assert isinstance(self.remote_conn, Telnet) - self.remote_conn.set_option_negotiation_callback(self._process_option) + self.remote_conn.set_option_negotiation_callback(self._process_option) # type: ignore return super().telnet_login( pri_prompt_terminator=pri_prompt_terminator, alt_prompt_terminator=alt_prompt_terminator, diff --git a/docs/netmiko/mellanox/mellanox_mlnxos_ssh.html b/docs/netmiko/mellanox/mellanox_mlnxos_ssh.html index 44865fdca..66ebefe8c 100644 --- a/docs/netmiko/mellanox/mellanox_mlnxos_ssh.html +++ b/docs/netmiko/mellanox/mellanox_mlnxos_ssh.html @@ -28,6 +28,7 @@

      Module netmiko.mellanox.mellanox_mlnxos_ssh

      Expand source code
      """Mellanox MLNX-OS Switch support."""
      +
       import re
       from typing import Optional
       
      diff --git a/docs/netmiko/mrv/mrv_lx.html b/docs/netmiko/mrv/mrv_lx.html
      index 6b60ac973..4fe68a2ec 100644
      --- a/docs/netmiko/mrv/mrv_lx.html
      +++ b/docs/netmiko/mrv/mrv_lx.html
      @@ -28,6 +28,7 @@ 

      Module netmiko.mrv.mrv_lx

      Expand source code
      """MRV Communications Driver (LX)."""
      +
       import time
       import re
       from typing import Optional
      diff --git a/docs/netmiko/mrv/mrv_ssh.html b/docs/netmiko/mrv/mrv_ssh.html
      index 7c585473f..d3bc39945 100644
      --- a/docs/netmiko/mrv/mrv_ssh.html
      +++ b/docs/netmiko/mrv/mrv_ssh.html
      @@ -28,6 +28,7 @@ 

      Module netmiko.mrv.mrv_ssh

      Expand source code
      """MRV Communications Driver (OptiSwitch)."""
      +
       import time
       import re
       from typing import Optional
      diff --git a/docs/netmiko/netgear/netgear_prosafe_ssh.html b/docs/netmiko/netgear/netgear_prosafe_ssh.html
      index 1ea2f8965..d70a2fc72 100644
      --- a/docs/netmiko/netgear/netgear_prosafe_ssh.html
      +++ b/docs/netmiko/netgear/netgear_prosafe_ssh.html
      @@ -28,6 +28,7 @@ 

      Module netmiko.netgear.netgear_prosafe_ssh

      Expand source code
      """ProSafe OS support"""
      +
       import time
       from typing import Any
       
      diff --git a/docs/netmiko/oneaccess/oneaccess_oneos.html b/docs/netmiko/oneaccess/oneaccess_oneos.html
      index fc10f24f5..0e524f66e 100644
      --- a/docs/netmiko/oneaccess/oneaccess_oneos.html
      +++ b/docs/netmiko/oneaccess/oneaccess_oneos.html
      @@ -28,6 +28,7 @@ 

      Module netmiko.oneaccess.oneaccess_oneos

      Expand source code
      """Netmiko driver for OneAccess ONEOS"""
      +
       from typing import Any
       
       from netmiko.cisco_base_connection import CiscoBaseConnection
      diff --git a/docs/netmiko/raisecom/index.html b/docs/netmiko/raisecom/index.html
      index 16adedf4b..105720d29 100644
      --- a/docs/netmiko/raisecom/index.html
      +++ b/docs/netmiko/raisecom/index.html
      @@ -459,7 +459,7 @@ 

      Inherited members

      # set callback function to handle telnet options. assert isinstance(self.remote_conn, Telnet) - self.remote_conn.set_option_negotiation_callback(self._process_option) + self.remote_conn.set_option_negotiation_callback(self._process_option) # type: ignore delay_factor = self.select_delay_factor(delay_factor) time.sleep(1 * delay_factor) @@ -499,7 +499,7 @@

      Inherited members

      time.sleep(0.5 * delay_factor) i += 1 except EOFError: - self.remote_conn.close() + self.remote_conn.close() # type: ignore msg = f"Login failed: {self.host}" raise NetmikoAuthenticationException(msg) @@ -514,7 +514,7 @@

      Inherited members

      return return_msg msg = f"Login failed: {self.host}" - self.remote_conn.close() + self.remote_conn.close() # type: ignore raise NetmikoAuthenticationException(msg)

      Ancestors

      diff --git a/docs/netmiko/raisecom/raisecom_roap.html b/docs/netmiko/raisecom/raisecom_roap.html index f7fd7a991..cc5169833 100644 --- a/docs/netmiko/raisecom/raisecom_roap.html +++ b/docs/netmiko/raisecom/raisecom_roap.html @@ -31,7 +31,19 @@

      Module netmiko.raisecom.raisecom_roap

      import time from socket import socket -from telnetlib import IAC, DO, DONT, WILL, WONT, SB, SE, ECHO, SGA, NAWS, Telnet +from netmiko._telnetlib.telnetlib import ( + IAC, + DO, + DONT, + WILL, + WONT, + SB, + SE, + ECHO, + SGA, + NAWS, + Telnet, +) from netmiko.exceptions import NetmikoAuthenticationException @@ -128,7 +140,7 @@

      Module netmiko.raisecom.raisecom_roap

      # set callback function to handle telnet options. assert isinstance(self.remote_conn, Telnet) - self.remote_conn.set_option_negotiation_callback(self._process_option) + self.remote_conn.set_option_negotiation_callback(self._process_option) # type: ignore delay_factor = self.select_delay_factor(delay_factor) time.sleep(1 * delay_factor) @@ -168,7 +180,7 @@

      Module netmiko.raisecom.raisecom_roap

      time.sleep(0.5 * delay_factor) i += 1 except EOFError: - self.remote_conn.close() + self.remote_conn.close() # type: ignore msg = f"Login failed: {self.host}" raise NetmikoAuthenticationException(msg) @@ -183,7 +195,7 @@

      Module netmiko.raisecom.raisecom_roap

      return return_msg msg = f"Login failed: {self.host}" - self.remote_conn.close() + self.remote_conn.close() # type: ignore raise NetmikoAuthenticationException(msg)
      @@ -849,7 +861,7 @@

      Inherited members

      # set callback function to handle telnet options. assert isinstance(self.remote_conn, Telnet) - self.remote_conn.set_option_negotiation_callback(self._process_option) + self.remote_conn.set_option_negotiation_callback(self._process_option) # type: ignore delay_factor = self.select_delay_factor(delay_factor) time.sleep(1 * delay_factor) @@ -889,7 +901,7 @@

      Inherited members

      time.sleep(0.5 * delay_factor) i += 1 except EOFError: - self.remote_conn.close() + self.remote_conn.close() # type: ignore msg = f"Login failed: {self.host}" raise NetmikoAuthenticationException(msg) @@ -904,7 +916,7 @@

      Inherited members

      return return_msg msg = f"Login failed: {self.host}" - self.remote_conn.close() + self.remote_conn.close() # type: ignore raise NetmikoAuthenticationException(msg)

      Ancestors

      diff --git a/docs/netmiko/ruckus/index.html b/docs/netmiko/ruckus/index.html index 664450a8a..a250538db 100644 --- a/docs/netmiko/ruckus/index.html +++ b/docs/netmiko/ruckus/index.html @@ -387,7 +387,7 @@

      Inherited members

      def telnet_login(self, *args: Any, **kwargs: Any) -> str: # set callback function to handle telnet options. assert isinstance(self.remote_conn, Telnet) - self.remote_conn.set_option_negotiation_callback(self._process_option) + self.remote_conn.set_option_negotiation_callback(self._process_option) # type: ignore return super().telnet_login(*args, **kwargs)

      Ancestors

      diff --git a/docs/netmiko/ruckus/ruckus_fastiron.html b/docs/netmiko/ruckus/ruckus_fastiron.html index 35f15145c..5d302a32d 100644 --- a/docs/netmiko/ruckus/ruckus_fastiron.html +++ b/docs/netmiko/ruckus/ruckus_fastiron.html @@ -31,7 +31,7 @@

      Module netmiko.ruckus.ruckus_fastiron

      from socket import socket from typing import Optional, Any -from telnetlib import DO, DONT, ECHO, IAC, WILL, WONT, Telnet +from netmiko._telnetlib.telnetlib import DO, DONT, ECHO, IAC, WILL, WONT, Telnet from netmiko.cisco_base_connection import CiscoSSHConnection @@ -131,7 +131,7 @@

      Module netmiko.ruckus.ruckus_fastiron

      def telnet_login(self, *args: Any, **kwargs: Any) -> str: # set callback function to handle telnet options. assert isinstance(self.remote_conn, Telnet) - self.remote_conn.set_option_negotiation_callback(self._process_option) + self.remote_conn.set_option_negotiation_callback(self._process_option) # type: ignore return super().telnet_login(*args, **kwargs) @@ -854,7 +854,7 @@

      Inherited members

      def telnet_login(self, *args: Any, **kwargs: Any) -> str: # set callback function to handle telnet options. assert isinstance(self.remote_conn, Telnet) - self.remote_conn.set_option_negotiation_callback(self._process_option) + self.remote_conn.set_option_negotiation_callback(self._process_option) # type: ignore return super().telnet_login(*args, **kwargs)

      Ancestors

      diff --git a/docs/netmiko/ruijie/ruijie_os.html b/docs/netmiko/ruijie/ruijie_os.html index d82849d28..4a8316c66 100644 --- a/docs/netmiko/ruijie/ruijie_os.html +++ b/docs/netmiko/ruijie/ruijie_os.html @@ -28,6 +28,7 @@

      Module netmiko.ruijie.ruijie_os

      Expand source code
      """Ruijie RGOS Support"""
      +
       import time
       from typing import Any
       
      diff --git a/docs/netmiko/scp_functions.html b/docs/netmiko/scp_functions.html
      index d5fac3392..49c6a855d 100644
      --- a/docs/netmiko/scp_functions.html
      +++ b/docs/netmiko/scp_functions.html
      @@ -36,6 +36,7 @@ 

      Module netmiko.scp_functions

      SCP requires a separate SSH connection for a control channel. """ + from typing import AnyStr, Optional, Callable, Any, Dict from typing import TYPE_CHECKING from netmiko.scp_handler import BaseFileTransfer diff --git a/docs/netmiko/scp_handler.html b/docs/netmiko/scp_handler.html index de0b9edd6..079745f11 100644 --- a/docs/netmiko/scp_handler.html +++ b/docs/netmiko/scp_handler.html @@ -36,6 +36,7 @@

      Module netmiko.scp_handler

      SCP requires a separate SSH connection for a control channel. """ + from typing import Callable, Optional, Any, Type from typing import TYPE_CHECKING from types import TracebackType diff --git a/docs/netmiko/snmp_autodetect.html b/docs/netmiko/snmp_autodetect.html index 7f89ec393..c4a228f85 100644 --- a/docs/netmiko/snmp_autodetect.html +++ b/docs/netmiko/snmp_autodetect.html @@ -62,6 +62,7 @@

      Example:

      Note, pysnmp is a required dependency for SNMPDetect and is intentionally not included in netmiko requirements. So installation of pysnmp might be required. """ + from typing import Optional, Dict, List from typing.re import Pattern import re diff --git a/docs/netmiko/sophos/index.html b/docs/netmiko/sophos/index.html index ebf7262be..2333414cd 100644 --- a/docs/netmiko/sophos/index.html +++ b/docs/netmiko/sophos/index.html @@ -186,7 +186,7 @@

      Classes

      class SophosSfosSSH(NoEnable, NoConfig, CiscoSSHConnection):
           def session_preparation(self) -> None:
               """Prepare the session after the connection has been established."""
      -        self._test_channel_read()
      +        self._test_channel_read(pattern=r"Main Menu")
               """
               Sophos Firmware Version SFOS 18.0.0 GA-Build339
       
      @@ -203,8 +203,8 @@ 

      Classes

      Select Menu Number [0-7]: """ - self.write_channel("4" + self.RETURN) - self._test_channel_read(pattern=r"[console>]") + self.write_channel(SOPHOS_MENU_DEFAULT + self.RETURN) + self._test_channel_read(pattern=r"[#>]") self.set_base_prompt() # Clear the read buffer time.sleep(0.3 * self.global_delay_factor) @@ -249,7 +249,7 @@

      Methods

      def session_preparation(self) -> None:
           """Prepare the session after the connection has been established."""
      -    self._test_channel_read()
      +    self._test_channel_read(pattern=r"Main Menu")
           """
           Sophos Firmware Version SFOS 18.0.0 GA-Build339
       
      @@ -266,8 +266,8 @@ 

      Methods

      Select Menu Number [0-7]: """ - self.write_channel("4" + self.RETURN) - self._test_channel_read(pattern=r"[console>]") + self.write_channel(SOPHOS_MENU_DEFAULT + self.RETURN) + self._test_channel_read(pattern=r"[#>]") self.set_base_prompt() # Clear the read buffer time.sleep(0.3 * self.global_delay_factor) diff --git a/docs/netmiko/sophos/sophos_sfos_ssh.html b/docs/netmiko/sophos/sophos_sfos_ssh.html index 7c3acb6f1..ad4f05ede 100644 --- a/docs/netmiko/sophos/sophos_sfos_ssh.html +++ b/docs/netmiko/sophos/sophos_sfos_ssh.html @@ -28,18 +28,23 @@

      Module netmiko.sophos.sophos_sfos_ssh

      Expand source code
      """SophosXG (SFOS) Firewall support"""
      -import time
      +
       from typing import Any
      +import time
      +import os
       
       from netmiko.no_enable import NoEnable
       from netmiko.no_config import NoConfig
       from netmiko.cisco_base_connection import CiscoSSHConnection
       
       
      +SOPHOS_MENU_DEFAULT = os.getenv("NETMIKO_SOPHOS_MENU", "4")
      +
      +
       class SophosSfosSSH(NoEnable, NoConfig, CiscoSSHConnection):
           def session_preparation(self) -> None:
               """Prepare the session after the connection has been established."""
      -        self._test_channel_read()
      +        self._test_channel_read(pattern=r"Main Menu")
               """
               Sophos Firmware Version SFOS 18.0.0 GA-Build339
       
      @@ -56,8 +61,8 @@ 

      Module netmiko.sophos.sophos_sfos_ssh

      Select Menu Number [0-7]: """ - self.write_channel("4" + self.RETURN) - self._test_channel_read(pattern=r"[console>]") + self.write_channel(SOPHOS_MENU_DEFAULT + self.RETURN) + self._test_channel_read(pattern=r"[#>]") self.set_base_prompt() # Clear the read buffer time.sleep(0.3 * self.global_delay_factor) @@ -216,7 +221,7 @@

      Classes

      class SophosSfosSSH(NoEnable, NoConfig, CiscoSSHConnection):
           def session_preparation(self) -> None:
               """Prepare the session after the connection has been established."""
      -        self._test_channel_read()
      +        self._test_channel_read(pattern=r"Main Menu")
               """
               Sophos Firmware Version SFOS 18.0.0 GA-Build339
       
      @@ -233,8 +238,8 @@ 

      Classes

      Select Menu Number [0-7]: """ - self.write_channel("4" + self.RETURN) - self._test_channel_read(pattern=r"[console>]") + self.write_channel(SOPHOS_MENU_DEFAULT + self.RETURN) + self._test_channel_read(pattern=r"[#>]") self.set_base_prompt() # Clear the read buffer time.sleep(0.3 * self.global_delay_factor) @@ -279,7 +284,7 @@

      Methods

      def session_preparation(self) -> None:
           """Prepare the session after the connection has been established."""
      -    self._test_channel_read()
      +    self._test_channel_read(pattern=r"Main Menu")
           """
           Sophos Firmware Version SFOS 18.0.0 GA-Build339
       
      @@ -296,8 +301,8 @@ 

      Methods

      Select Menu Number [0-7]: """ - self.write_channel("4" + self.RETURN) - self._test_channel_read(pattern=r"[console>]") + self.write_channel(SOPHOS_MENU_DEFAULT + self.RETURN) + self._test_channel_read(pattern=r"[#>]") self.set_base_prompt() # Clear the read buffer time.sleep(0.3 * self.global_delay_factor) diff --git a/docs/netmiko/ssh_autodetect.html b/docs/netmiko/ssh_autodetect.html index 4ebc4ee44..e05f48cfb 100644 --- a/docs/netmiko/ssh_autodetect.html +++ b/docs/netmiko/ssh_autodetect.html @@ -100,6 +100,7 @@

      Netmiko connection creation section >>> remote_device['device_type'] = best_match >>> connection = ConnectHandler(**remote_device) """ + from typing import Any, List, Optional, Union, Dict import re import time @@ -156,6 +157,12 @@

      Netmiko connection creation section "priority": 99, "dispatch": "_autodetect_std", }, + "cisco_ftd": { + "cmd": "show version", + "search_patterns": [r"Cisco Firepower"], + "priority": 99, + "dispatch": "_autodetect_std", + }, "cisco_ios": { "cmd": "show version", "search_patterns": [ @@ -364,6 +371,12 @@

      Netmiko connection creation section "priority": 99, "dispatch": "_autodetect_std", }, + "netgear_prosafe": { + "cmd": "show version", + "search_patterns": [r"ProSAFE"], + "priority": 99, + "dispatch": "_autodetect_std", + }, } # Sort SSH_MAPPER_DICT such that the most common commands are first diff --git a/docs/netmiko/telnet_proxy.html b/docs/netmiko/telnet_proxy.html index bf3ff3742..861c621bc 100644 --- a/docs/netmiko/telnet_proxy.html +++ b/docs/netmiko/telnet_proxy.html @@ -28,7 +28,7 @@

      Module netmiko.telnet_proxy

      from typing import Dict, Any, Optional
       import socket
      -import telnetlib
      +from netmiko._telnetlib import telnetlib
       
       try:
           import socks
      @@ -47,7 +47,7 @@ 

      Module netmiko.telnet_proxy

      proxy_dict: Optional[Dict[str, Any]] = None, ) -> None: self.proxy_dict = proxy_dict - super().__init__(host=host, port=port, timeout=timeout) + super().__init__(host=host, port=port, timeout=timeout) # type: ignore def open( self, @@ -162,7 +162,7 @@

      Classes

      proxy_dict: Optional[Dict[str, Any]] = None, ) -> None: self.proxy_dict = proxy_dict - super().__init__(host=host, port=port, timeout=timeout) + super().__init__(host=host, port=port, timeout=timeout) # type: ignore def open( self, @@ -205,7 +205,7 @@

      Classes

      Ancestors

        -
      • telnetlib.Telnet
      • +
      • netmiko._telnetlib.telnetlib.Telnet

      Methods

      diff --git a/docs/netmiko/terminal_server/terminal_server.html b/docs/netmiko/terminal_server/terminal_server.html index 8c2b2aaee..d2e4890ba 100644 --- a/docs/netmiko/terminal_server/terminal_server.html +++ b/docs/netmiko/terminal_server/terminal_server.html @@ -28,6 +28,7 @@

      Module netmiko.terminal_server.terminal_serverExpand source code
      """Generic Terminal Server driver."""
      +
       from typing import Any
       
       from netmiko.base_connection import BaseConnection
      diff --git a/docs/netmiko/utilities.html b/docs/netmiko/utilities.html
      index e07c3514c..de4a93c67 100644
      --- a/docs/netmiko/utilities.html
      +++ b/docs/netmiko/utilities.html
      @@ -28,6 +28,7 @@ 

      Module netmiko.utilities

      Expand source code
      """Miscellaneous utility functions."""
      +
       from typing import (
           Any,
           AnyStr,
      diff --git a/docs/netmiko/zte/index.html b/docs/netmiko/zte/index.html
      index 5bda59ed5..ec3cf84af 100644
      --- a/docs/netmiko/zte/index.html
      +++ b/docs/netmiko/zte/index.html
      @@ -389,7 +389,7 @@ 

      Inherited members

      def telnet_login(self, *args: Any, **kwargs: Any) -> str: # set callback function to handle telnet options. assert isinstance(self.remote_conn, Telnet) - self.remote_conn.set_option_negotiation_callback(self._process_option) + self.remote_conn.set_option_negotiation_callback(self._process_option) # type: ignore return super().telnet_login(*args, **kwargs)

      Ancestors

      diff --git a/docs/netmiko/zte/zte_zxros.html b/docs/netmiko/zte/zte_zxros.html index 5f35d4e10..50915dc0d 100644 --- a/docs/netmiko/zte/zte_zxros.html +++ b/docs/netmiko/zte/zte_zxros.html @@ -31,7 +31,19 @@

      Module netmiko.zte.zte_zxros

      from typing import Any from netmiko.cisco_base_connection import CiscoBaseConnection -from telnetlib import IAC, DO, DONT, WILL, WONT, SB, SE, ECHO, SGA, NAWS, Telnet +from netmiko._telnetlib.telnetlib import ( + IAC, + DO, + DONT, + WILL, + WONT, + SB, + SE, + ECHO, + SGA, + NAWS, + Telnet, +) class ZteZxrosBase(CiscoBaseConnection): @@ -90,7 +102,7 @@

      Module netmiko.zte.zte_zxros

      def telnet_login(self, *args: Any, **kwargs: Any) -> str: # set callback function to handle telnet options. assert isinstance(self.remote_conn, Telnet) - self.remote_conn.set_option_negotiation_callback(self._process_option) + self.remote_conn.set_option_negotiation_callback(self._process_option) # type: ignore return super().telnet_login(*args, **kwargs)
      @@ -696,7 +708,7 @@

      Inherited members

      def telnet_login(self, *args: Any, **kwargs: Any) -> str: # set callback function to handle telnet options. assert isinstance(self.remote_conn, Telnet) - self.remote_conn.set_option_negotiation_callback(self._process_option) + self.remote_conn.set_option_negotiation_callback(self._process_option) # type: ignore return super().telnet_login(*args, **kwargs)

      Ancestors

      diff --git a/license-dependencies.txt b/license-dependencies.txt index aedb5db56..f9b3c3f27 100644 --- a/license-dependencies.txt +++ b/license-dependencies.txt @@ -1,27 +1,16 @@ -#### Netmiko dependencies -#### 2022-03-23 +#### Netmiko itself -Name Version License -------------- ------- ------- -netmiko 4.1.0 MIT License +Name License +------------- ------- +netmiko MIT License +telnetlib PSF2 ##### Direct dependencies -Name Version License -------------- ------- ------- -paramiko 2.10.4 GNU Library or Lesser General Public License (LGPL) -scp 0.14.4 GNU Library or Lesser General Public License (LGPL) -ntc-templates 3.0.0 Apache Software License -pyserial 3.5 BSD License -PyYAML 6.0 MIT License - -##### Child dependencies -Name Version License -------------- ------- ------- -PyNaCl 1.5.0 Apache License 2.0 -bcrypt 3.2.0 Apache Software License -textfsm 1.1.2 Apache Software License -cryptography 37.0.0 Apache Software License; BSD License -pycparser 2.21 BSD License -cffi 1.15.0 MIT License -future 0.18.2 MIT License -six 1.16.0 MIT License +Name License +------------- ------- +paramiko GNU Library or Lesser General Public License (LGPL) +scp GNU Library or Lesser General Public License (LGPL) +PyYAML MIT License +textfsm Apache2 +ntc-templates Apache2 +pyserial BSD License diff --git a/netmiko/_telnetlib/LICENSE b/netmiko/_telnetlib/LICENSE new file mode 100644 index 000000000..f58a45568 --- /dev/null +++ b/netmiko/_telnetlib/LICENSE @@ -0,0 +1,284 @@ +# +# This license applies to the included telnetlib.py code +# (and not any other part of Netmiko). +# + +A. HISTORY OF THE SOFTWARE +========================== + +Python was created in the early 1990s by Guido van Rossum at Stichting +Mathematisch Centrum (CWI, see https://www.cwi.nl) in the Netherlands +as a successor of a language called ABC. Guido remains Python's +principal author, although it includes many contributions from others. + +In 1995, Guido continued his work on Python at the Corporation for +National Research Initiatives (CNRI, see https://www.cnri.reston.va.us) +in Reston, Virginia where he released several versions of the +software. + +In May 2000, Guido and the Python core development team moved to +BeOpen.com to form the BeOpen PythonLabs team. In October of the same +year, the PythonLabs team moved to Digital Creations, which became +Zope Corporation. In 2001, the Python Software Foundation (PSF, see +https://www.python.org/psf/) was formed, a non-profit organization +created specifically to own Python-related Intellectual Property. +Zope Corporation was a sponsoring member of the PSF. + +All Python releases are Open Source (see https://opensource.org for +the Open Source Definition). Historically, most, but not all, Python +releases have also been GPL-compatible; the table below summarizes +the various releases. + + Release Derived Year Owner GPL- + from compatible? (1) + + 0.9.0 thru 1.2 1991-1995 CWI yes + 1.3 thru 1.5.2 1.2 1995-1999 CNRI yes + 1.6 1.5.2 2000 CNRI no + 2.0 1.6 2000 BeOpen.com no + 1.6.1 1.6 2001 CNRI yes (2) + 2.1 2.0+1.6.1 2001 PSF no + 2.0.1 2.0+1.6.1 2001 PSF yes + 2.1.1 2.1+2.0.1 2001 PSF yes + 2.1.2 2.1.1 2002 PSF yes + 2.1.3 2.1.2 2002 PSF yes + 2.2 and above 2.1.1 2001-now PSF yes + +Footnotes: + +(1) GPL-compatible doesn't mean that we're distributing Python under + the GPL. All Python licenses, unlike the GPL, let you distribute + a modified version without making your changes open source. The + GPL-compatible licenses make it possible to combine Python with + other software that is released under the GPL; the others don't. + +(2) According to Richard Stallman, 1.6.1 is not GPL-compatible, + because its license has a choice of law clause. According to + CNRI, however, Stallman's lawyer has told CNRI's lawyer that 1.6.1 + is "not incompatible" with the GPL. + +Thanks to the many outside volunteers who have worked under Guido's +direction to make these releases possible. + + +B. TERMS AND CONDITIONS FOR ACCESSING OR OTHERWISE USING PYTHON +=============================================================== + +Python software and documentation are licensed under the +Python Software Foundation License Version 2. + +Starting with Python 3.8.6, examples, recipes, and other code in +the documentation are dual licensed under the PSF License Version 2 +and the Zero-Clause BSD license. + +Some software incorporated into Python is under different licenses. +The licenses are listed with code falling under that license. + + +PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2 +-------------------------------------------- + +1. This LICENSE AGREEMENT is between the Python Software Foundation +("PSF"), and the Individual or Organization ("Licensee") accessing and +otherwise using this software ("Python") in source or binary form and +its associated documentation. + +2. Subject to the terms and conditions of this License Agreement, PSF hereby +grants Licensee a nonexclusive, royalty-free, world-wide license to reproduce, +analyze, test, perform and/or display publicly, prepare derivative works, +distribute, and otherwise use Python alone or in any derivative version, +provided, however, that PSF's License Agreement and PSF's notice of copyright, +i.e., "Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, +2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Python Software Foundation; +All Rights Reserved" are retained in Python alone or in any derivative version +prepared by Licensee. + +3. In the event Licensee prepares a derivative work that is based on +or incorporates Python or any part thereof, and wants to make +the derivative work available to others as provided herein, then +Licensee hereby agrees to include in any such work a brief summary of +the changes made to Python. + +4. PSF is making Python available to Licensee on an "AS IS" +basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR +IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND +DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS +FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT +INFRINGE ANY THIRD PARTY RIGHTS. + +5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON +FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS +A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON, +OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. + +6. This License Agreement will automatically terminate upon a material +breach of its terms and conditions. + +7. Nothing in this License Agreement shall be deemed to create any +relationship of agency, partnership, or joint venture between PSF and +Licensee. This License Agreement does not grant permission to use PSF +trademarks or trade name in a trademark sense to endorse or promote +products or services of Licensee, or any third party. + +8. By copying, installing or otherwise using Python, Licensee +agrees to be bound by the terms and conditions of this License +Agreement. + + +BEOPEN.COM LICENSE AGREEMENT FOR PYTHON 2.0 +------------------------------------------- + +BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1 + +1. This LICENSE AGREEMENT is between BeOpen.com ("BeOpen"), having an +office at 160 Saratoga Avenue, Santa Clara, CA 95051, and the +Individual or Organization ("Licensee") accessing and otherwise using +this software in source or binary form and its associated +documentation ("the Software"). + +2. Subject to the terms and conditions of this BeOpen Python License +Agreement, BeOpen hereby grants Licensee a non-exclusive, +royalty-free, world-wide license to reproduce, analyze, test, perform +and/or display publicly, prepare derivative works, distribute, and +otherwise use the Software alone or in any derivative version, +provided, however, that the BeOpen Python License is retained in the +Software, alone or in any derivative version prepared by Licensee. + +3. BeOpen is making the Software available to Licensee on an "AS IS" +basis. BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR +IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND +DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS +FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT +INFRINGE ANY THIRD PARTY RIGHTS. + +4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE +SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS +AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY +DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. + +5. This License Agreement will automatically terminate upon a material +breach of its terms and conditions. + +6. This License Agreement shall be governed by and interpreted in all +respects by the law of the State of California, excluding conflict of +law provisions. Nothing in this License Agreement shall be deemed to +create any relationship of agency, partnership, or joint venture +between BeOpen and Licensee. This License Agreement does not grant +permission to use BeOpen trademarks or trade names in a trademark +sense to endorse or promote products or services of Licensee, or any +third party. As an exception, the "BeOpen Python" logos available at +http://www.pythonlabs.com/logos.html may be used according to the +permissions granted on that web page. + +7. By copying, installing or otherwise using the software, Licensee +agrees to be bound by the terms and conditions of this License +Agreement. + + +CNRI LICENSE AGREEMENT FOR PYTHON 1.6.1 +--------------------------------------- + +1. This LICENSE AGREEMENT is between the Corporation for National +Research Initiatives, having an office at 1895 Preston White Drive, +Reston, VA 20191 ("CNRI"), and the Individual or Organization +("Licensee") accessing and otherwise using Python 1.6.1 software in +source or binary form and its associated documentation. + +2. Subject to the terms and conditions of this License Agreement, CNRI +hereby grants Licensee a nonexclusive, royalty-free, world-wide +license to reproduce, analyze, test, perform and/or display publicly, +prepare derivative works, distribute, and otherwise use Python 1.6.1 +alone or in any derivative version, provided, however, that CNRI's +License Agreement and CNRI's notice of copyright, i.e., "Copyright (c) +1995-2001 Corporation for National Research Initiatives; All Rights +Reserved" are retained in Python 1.6.1 alone or in any derivative +version prepared by Licensee. Alternately, in lieu of CNRI's License +Agreement, Licensee may substitute the following text (omitting the +quotes): "Python 1.6.1 is made available subject to the terms and +conditions in CNRI's License Agreement. This Agreement together with +Python 1.6.1 may be located on the internet using the following +unique, persistent identifier (known as a handle): 1895.22/1013. This +Agreement may also be obtained from a proxy server on the internet +using the following URL: http://hdl.handle.net/1895.22/1013". + +3. In the event Licensee prepares a derivative work that is based on +or incorporates Python 1.6.1 or any part thereof, and wants to make +the derivative work available to others as provided herein, then +Licensee hereby agrees to include in any such work a brief summary of +the changes made to Python 1.6.1. + +4. CNRI is making Python 1.6.1 available to Licensee on an "AS IS" +basis. CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR +IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND +DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS +FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6.1 WILL NOT +INFRINGE ANY THIRD PARTY RIGHTS. + +5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON +1.6.1 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS +A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1, +OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. + +6. This License Agreement will automatically terminate upon a material +breach of its terms and conditions. + +7. This License Agreement shall be governed by the federal +intellectual property law of the United States, including without +limitation the federal copyright law, and, to the extent such +U.S. federal law does not apply, by the law of the Commonwealth of +Virginia, excluding Virginia's conflict of law provisions. +Notwithstanding the foregoing, with regard to derivative works based +on Python 1.6.1 that incorporate non-separable material that was +previously distributed under the GNU General Public License (GPL), the +law of the Commonwealth of Virginia shall govern this License +Agreement only as to issues arising under or with respect to +Paragraphs 4, 5, and 7 of this License Agreement. Nothing in this +License Agreement shall be deemed to create any relationship of +agency, partnership, or joint venture between CNRI and Licensee. This +License Agreement does not grant permission to use CNRI trademarks or +trade name in a trademark sense to endorse or promote products or +services of Licensee, or any third party. + +8. By clicking on the "ACCEPT" button where indicated, or by copying, +installing or otherwise using Python 1.6.1, Licensee agrees to be +bound by the terms and conditions of this License Agreement. + + ACCEPT + + +CWI LICENSE AGREEMENT FOR PYTHON 0.9.0 THROUGH 1.2 +-------------------------------------------------- + +Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam, +The Netherlands. All rights reserved. + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Stichting Mathematisch +Centrum or CWI not be used in advertising or publicity pertaining to +distribution of the software without specific, written prior +permission. + +STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO +THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE +FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT +OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +ZERO-CLAUSE BSD LICENSE FOR CODE IN THE PYTHON DOCUMENTATION +---------------------------------------------------------------------- + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. diff --git a/netmiko/_telnetlib/README.md b/netmiko/_telnetlib/README.md new file mode 100644 index 000000000..345ad6731 --- /dev/null +++ b/netmiko/_telnetlib/README.md @@ -0,0 +1,13 @@ + +From https://github.com/python/cpython/blob/v3.12.4/Lib/telnetlib.py +Tag: v3.12.4 + +Licensed as per the included LICENSE file in this directory. + +All contributions were made by the original contributor as documented +in the referenced github.com repository or as documented otherwise +by telnetlib's history. + +Kirk Byers has made no code contributions to this library (well I +removed one deprecation warning for PY3.13) + diff --git a/netmiko/_telnetlib/telnetlib.py b/netmiko/_telnetlib/telnetlib.py new file mode 100644 index 000000000..72dbdc876 --- /dev/null +++ b/netmiko/_telnetlib/telnetlib.py @@ -0,0 +1,680 @@ +r"""TELNET client class. + +Based on RFC 854: TELNET Protocol Specification, by J. Postel and +J. Reynolds + +Example: + +>>> from telnetlib import Telnet +>>> tn = Telnet('www.python.org', 79) # connect to finger port +>>> tn.write(b'guido\r\n') +>>> print(tn.read_all()) +Login Name TTY Idle When Where +guido Guido van Rossum pts/2 snag.cnri.reston.. + +>>> + +Note that read_all() won't read until eof -- it just reads some data +-- but it guarantees to read at least one byte unless EOF is hit. + +It is possible to pass a Telnet object to a selector in order to wait until +more data is available. Note that in this case, read_eager() may return b'' +even if there was data on the socket, because the protocol negotiation may have +eaten the data. This is why EOFError is needed in some cases to distinguish +between "no data" and "connection closed" (since the socket also appears ready +for reading when it is closed). + +To do: +- option negotiation +- timeout should be intrinsic to the connection object instead of an + option on one of the read calls only + +""" + + +# Imported modules +import sys +import socket +import selectors +from time import monotonic as _time +import warnings + +# warnings._deprecated(__name__, remove=(3, 13)) + +__all__ = ["Telnet"] + +# Tunable parameters +DEBUGLEVEL = 0 + +# Telnet protocol defaults +TELNET_PORT = 23 + +# Telnet protocol characters (don't change) +IAC = bytes([255]) # "Interpret As Command" +DONT = bytes([254]) +DO = bytes([253]) +WONT = bytes([252]) +WILL = bytes([251]) +theNULL = bytes([0]) + +SE = bytes([240]) # Subnegotiation End +NOP = bytes([241]) # No Operation +DM = bytes([242]) # Data Mark +BRK = bytes([243]) # Break +IP = bytes([244]) # Interrupt process +AO = bytes([245]) # Abort output +AYT = bytes([246]) # Are You There +EC = bytes([247]) # Erase Character +EL = bytes([248]) # Erase Line +GA = bytes([249]) # Go Ahead +SB = bytes([250]) # Subnegotiation Begin + + +# Telnet protocol options code (don't change) +# These ones all come from arpa/telnet.h +BINARY = bytes([0]) # 8-bit data path +ECHO = bytes([1]) # echo +RCP = bytes([2]) # prepare to reconnect +SGA = bytes([3]) # suppress go ahead +NAMS = bytes([4]) # approximate message size +STATUS = bytes([5]) # give status +TM = bytes([6]) # timing mark +RCTE = bytes([7]) # remote controlled transmission and echo +NAOL = bytes([8]) # negotiate about output line width +NAOP = bytes([9]) # negotiate about output page size +NAOCRD = bytes([10]) # negotiate about CR disposition +NAOHTS = bytes([11]) # negotiate about horizontal tabstops +NAOHTD = bytes([12]) # negotiate about horizontal tab disposition +NAOFFD = bytes([13]) # negotiate about formfeed disposition +NAOVTS = bytes([14]) # negotiate about vertical tab stops +NAOVTD = bytes([15]) # negotiate about vertical tab disposition +NAOLFD = bytes([16]) # negotiate about output LF disposition +XASCII = bytes([17]) # extended ascii character set +LOGOUT = bytes([18]) # force logout +BM = bytes([19]) # byte macro +DET = bytes([20]) # data entry terminal +SUPDUP = bytes([21]) # supdup protocol +SUPDUPOUTPUT = bytes([22]) # supdup output +SNDLOC = bytes([23]) # send location +TTYPE = bytes([24]) # terminal type +EOR = bytes([25]) # end or record +TUID = bytes([26]) # TACACS user identification +OUTMRK = bytes([27]) # output marking +TTYLOC = bytes([28]) # terminal location number +VT3270REGIME = bytes([29]) # 3270 regime +X3PAD = bytes([30]) # X.3 PAD +NAWS = bytes([31]) # window size +TSPEED = bytes([32]) # terminal speed +LFLOW = bytes([33]) # remote flow control +LINEMODE = bytes([34]) # Linemode option +XDISPLOC = bytes([35]) # X Display Location +OLD_ENVIRON = bytes([36]) # Old - Environment variables +AUTHENTICATION = bytes([37]) # Authenticate +ENCRYPT = bytes([38]) # Encryption option +NEW_ENVIRON = bytes([39]) # New - Environment variables +# the following ones come from +# http://www.iana.org/assignments/telnet-options +# Unfortunately, that document does not assign identifiers +# to all of them, so we are making them up +TN3270E = bytes([40]) # TN3270E +XAUTH = bytes([41]) # XAUTH +CHARSET = bytes([42]) # CHARSET +RSP = bytes([43]) # Telnet Remote Serial Port +COM_PORT_OPTION = bytes([44]) # Com Port Control Option +SUPPRESS_LOCAL_ECHO = bytes([45]) # Telnet Suppress Local Echo +TLS = bytes([46]) # Telnet Start TLS +KERMIT = bytes([47]) # KERMIT +SEND_URL = bytes([48]) # SEND-URL +FORWARD_X = bytes([49]) # FORWARD_X +PRAGMA_LOGON = bytes([138]) # TELOPT PRAGMA LOGON +SSPI_LOGON = bytes([139]) # TELOPT SSPI LOGON +PRAGMA_HEARTBEAT = bytes([140]) # TELOPT PRAGMA HEARTBEAT +EXOPL = bytes([255]) # Extended-Options-List +NOOPT = bytes([0]) + + +# poll/select have the advantage of not requiring any extra file descriptor, +# contrarily to epoll/kqueue (also, they require a single syscall). +if hasattr(selectors, 'PollSelector'): + _TelnetSelector = selectors.PollSelector +else: + _TelnetSelector = selectors.SelectSelector + + +class Telnet: + + """Telnet interface class. + + An instance of this class represents a connection to a telnet + server. The instance is initially not connected; the open() + method must be used to establish a connection. Alternatively, the + host name and optional port number can be passed to the + constructor, too. + + Don't try to reopen an already connected instance. + + This class has many read_*() methods. Note that some of them + raise EOFError when the end of the connection is read, because + they can return an empty string for other reasons. See the + individual doc strings. + + read_until(expected, [timeout]) + Read until the expected string has been seen, or a timeout is + hit (default is no timeout); may block. + + read_all() + Read all data until EOF; may block. + + read_some() + Read at least one byte or EOF; may block. + + read_very_eager() + Read all data available already queued or on the socket, + without blocking. + + read_eager() + Read either data already queued or some data available on the + socket, without blocking. + + read_lazy() + Read all data in the raw queue (processing it first), without + doing any socket I/O. + + read_very_lazy() + Reads all data in the cooked queue, without doing any socket + I/O. + + read_sb_data() + Reads available data between SB ... SE sequence. Don't block. + + set_option_negotiation_callback(callback) + Each time a telnet option is read on the input flow, this callback + (if set) is called with the following parameters : + callback(telnet socket, command, option) + option will be chr(0) when there is no option. + No other action is done afterwards by telnetlib. + + """ + sock = None # for __del__() + + def __init__(self, host=None, port=0, + timeout=socket._GLOBAL_DEFAULT_TIMEOUT): + """Constructor. + + When called without arguments, create an unconnected instance. + With a hostname argument, it connects the instance; port number + and timeout are optional. + """ + self.debuglevel = DEBUGLEVEL + self.host = host + self.port = port + self.timeout = timeout + self.sock = None + self.rawq = b'' + self.irawq = 0 + self.cookedq = b'' + self.eof = 0 + self.iacseq = b'' # Buffer for IAC sequence. + self.sb = 0 # flag for SB and SE sequence. + self.sbdataq = b'' + self.option_callback = None + if host is not None: + self.open(host, port, timeout) + + def open(self, host, port=0, timeout=socket._GLOBAL_DEFAULT_TIMEOUT): + """Connect to a host. + + The optional second argument is the port number, which + defaults to the standard telnet port (23). + + Don't try to reopen an already connected instance. + """ + self.eof = 0 + if not port: + port = TELNET_PORT + self.host = host + self.port = port + self.timeout = timeout + sys.audit("telnetlib.Telnet.open", self, host, port) + self.sock = socket.create_connection((host, port), timeout) + + def __del__(self): + """Destructor -- close the connection.""" + self.close() + + def msg(self, msg, *args): + """Print a debug message, when the debug level is > 0. + + If extra arguments are present, they are substituted in the + message using the standard string formatting operator. + + """ + if self.debuglevel > 0: + print('Telnet(%s,%s):' % (self.host, self.port), end=' ') + if args: + print(msg % args) + else: + print(msg) + + def set_debuglevel(self, debuglevel): + """Set the debug level. + + The higher it is, the more debug output you get (on sys.stdout). + + """ + self.debuglevel = debuglevel + + def close(self): + """Close the connection.""" + sock = self.sock + self.sock = None + self.eof = True + self.iacseq = b'' + self.sb = 0 + if sock: + sock.close() + + def get_socket(self): + """Return the socket object used internally.""" + return self.sock + + def fileno(self): + """Return the fileno() of the socket object used internally.""" + return self.sock.fileno() + + def write(self, buffer): + """Write a string to the socket, doubling any IAC characters. + + Can block if the connection is blocked. May raise + OSError if the connection is closed. + + """ + if IAC in buffer: + buffer = buffer.replace(IAC, IAC+IAC) + sys.audit("telnetlib.Telnet.write", self, buffer) + self.msg("send %r", buffer) + self.sock.sendall(buffer) + + def read_until(self, match, timeout=None): + """Read until a given string is encountered or until timeout. + + When no match is found, return whatever is available instead, + possibly the empty string. Raise EOFError if the connection + is closed and no cooked data is available. + + """ + n = len(match) + self.process_rawq() + i = self.cookedq.find(match) + if i >= 0: + i = i+n + buf = self.cookedq[:i] + self.cookedq = self.cookedq[i:] + return buf + if timeout is not None: + deadline = _time() + timeout + with _TelnetSelector() as selector: + selector.register(self, selectors.EVENT_READ) + while not self.eof: + if selector.select(timeout): + i = max(0, len(self.cookedq)-n) + self.fill_rawq() + self.process_rawq() + i = self.cookedq.find(match, i) + if i >= 0: + i = i+n + buf = self.cookedq[:i] + self.cookedq = self.cookedq[i:] + return buf + if timeout is not None: + timeout = deadline - _time() + if timeout < 0: + break + return self.read_very_lazy() + + def read_all(self): + """Read all data until EOF; block until connection closed.""" + self.process_rawq() + while not self.eof: + self.fill_rawq() + self.process_rawq() + buf = self.cookedq + self.cookedq = b'' + return buf + + def read_some(self): + """Read at least one byte of cooked data unless EOF is hit. + + Return b'' if EOF is hit. Block if no data is immediately + available. + + """ + self.process_rawq() + while not self.cookedq and not self.eof: + self.fill_rawq() + self.process_rawq() + buf = self.cookedq + self.cookedq = b'' + return buf + + def read_very_eager(self): + """Read everything that's possible without blocking in I/O (eager). + + Raise EOFError if connection closed and no cooked data + available. Return b'' if no cooked data available otherwise. + Don't block unless in the midst of an IAC sequence. + + """ + self.process_rawq() + while not self.eof and self.sock_avail(): + self.fill_rawq() + self.process_rawq() + return self.read_very_lazy() + + def read_eager(self): + """Read readily available data. + + Raise EOFError if connection closed and no cooked data + available. Return b'' if no cooked data available otherwise. + Don't block unless in the midst of an IAC sequence. + + """ + self.process_rawq() + while not self.cookedq and not self.eof and self.sock_avail(): + self.fill_rawq() + self.process_rawq() + return self.read_very_lazy() + + def read_lazy(self): + """Process and return data that's already in the queues (lazy). + + Raise EOFError if connection closed and no data available. + Return b'' if no cooked data available otherwise. Don't block + unless in the midst of an IAC sequence. + + """ + self.process_rawq() + return self.read_very_lazy() + + def read_very_lazy(self): + """Return any data available in the cooked queue (very lazy). + + Raise EOFError if connection closed and no data available. + Return b'' if no cooked data available otherwise. Don't block. + + """ + buf = self.cookedq + self.cookedq = b'' + if not buf and self.eof and not self.rawq: + raise EOFError('telnet connection closed') + return buf + + def read_sb_data(self): + """Return any data available in the SB ... SE queue. + + Return b'' if no SB ... SE available. Should only be called + after seeing a SB or SE command. When a new SB command is + found, old unread SB data will be discarded. Don't block. + + """ + buf = self.sbdataq + self.sbdataq = b'' + return buf + + def set_option_negotiation_callback(self, callback): + """Provide a callback function called after each receipt of a telnet option.""" + self.option_callback = callback + + def process_rawq(self): + """Transfer from raw queue to cooked queue. + + Set self.eof when connection is closed. Don't block unless in + the midst of an IAC sequence. + + """ + buf = [b'', b''] + try: + while self.rawq: + c = self.rawq_getchar() + if not self.iacseq: + if c == theNULL: + continue + if c == b"\021": + continue + if c != IAC: + buf[self.sb] = buf[self.sb] + c + continue + else: + self.iacseq += c + elif len(self.iacseq) == 1: + # 'IAC: IAC CMD [OPTION only for WILL/WONT/DO/DONT]' + if c in (DO, DONT, WILL, WONT): + self.iacseq += c + continue + + self.iacseq = b'' + if c == IAC: + buf[self.sb] = buf[self.sb] + c + else: + if c == SB: # SB ... SE start. + self.sb = 1 + self.sbdataq = b'' + elif c == SE: + self.sb = 0 + self.sbdataq = self.sbdataq + buf[1] + buf[1] = b'' + if self.option_callback: + # Callback is supposed to look into + # the sbdataq + self.option_callback(self.sock, c, NOOPT) + else: + # We can't offer automatic processing of + # suboptions. Alas, we should not get any + # unless we did a WILL/DO before. + self.msg('IAC %d not recognized' % ord(c)) + elif len(self.iacseq) == 2: + cmd = self.iacseq[1:2] + self.iacseq = b'' + opt = c + if cmd in (DO, DONT): + self.msg('IAC %s %d', + cmd == DO and 'DO' or 'DONT', ord(opt)) + if self.option_callback: + self.option_callback(self.sock, cmd, opt) + else: + self.sock.sendall(IAC + WONT + opt) + elif cmd in (WILL, WONT): + self.msg('IAC %s %d', + cmd == WILL and 'WILL' or 'WONT', ord(opt)) + if self.option_callback: + self.option_callback(self.sock, cmd, opt) + else: + self.sock.sendall(IAC + DONT + opt) + except EOFError: # raised by self.rawq_getchar() + self.iacseq = b'' # Reset on EOF + self.sb = 0 + self.cookedq = self.cookedq + buf[0] + self.sbdataq = self.sbdataq + buf[1] + + def rawq_getchar(self): + """Get next char from raw queue. + + Block if no data is immediately available. Raise EOFError + when connection is closed. + + """ + if not self.rawq: + self.fill_rawq() + if self.eof: + raise EOFError + c = self.rawq[self.irawq:self.irawq+1] + self.irawq = self.irawq + 1 + if self.irawq >= len(self.rawq): + self.rawq = b'' + self.irawq = 0 + return c + + def fill_rawq(self): + """Fill raw queue from exactly one recv() system call. + + Block if no data is immediately available. Set self.eof when + connection is closed. + + """ + if self.irawq >= len(self.rawq): + self.rawq = b'' + self.irawq = 0 + # The buffer size should be fairly small so as to avoid quadratic + # behavior in process_rawq() above + buf = self.sock.recv(50) + self.msg("recv %r", buf) + self.eof = (not buf) + self.rawq = self.rawq + buf + + def sock_avail(self): + """Test whether data is available on the socket.""" + with _TelnetSelector() as selector: + selector.register(self, selectors.EVENT_READ) + return bool(selector.select(0)) + + def interact(self): + """Interaction function, emulates a very dumb telnet client.""" + if sys.platform == "win32": + self.mt_interact() + return + with _TelnetSelector() as selector: + selector.register(self, selectors.EVENT_READ) + selector.register(sys.stdin, selectors.EVENT_READ) + + while True: + for key, events in selector.select(): + if key.fileobj is self: + try: + text = self.read_eager() + except EOFError: + print('*** Connection closed by remote host ***') + return + if text: + sys.stdout.write(text.decode('ascii')) + sys.stdout.flush() + elif key.fileobj is sys.stdin: + line = sys.stdin.readline().encode('ascii') + if not line: + return + self.write(line) + + def mt_interact(self): + """Multithreaded version of interact().""" + import _thread + _thread.start_new_thread(self.listener, ()) + while 1: + line = sys.stdin.readline() + if not line: + break + self.write(line.encode('ascii')) + + def listener(self): + """Helper for mt_interact() -- this executes in the other thread.""" + while 1: + try: + data = self.read_eager() + except EOFError: + print('*** Connection closed by remote host ***') + return + if data: + sys.stdout.write(data.decode('ascii')) + else: + sys.stdout.flush() + + def expect(self, list, timeout=None): + """Read until one from a list of a regular expressions matches. + + The first argument is a list of regular expressions, either + compiled (re.Pattern instances) or uncompiled (strings). + The optional second argument is a timeout, in seconds; default + is no timeout. + + Return a tuple of three items: the index in the list of the + first regular expression that matches; the re.Match object + returned; and the text read up till and including the match. + + If EOF is read and no text was read, raise EOFError. + Otherwise, when nothing matches, return (-1, None, text) where + text is the text received so far (may be the empty string if a + timeout happened). + + If a regular expression ends with a greedy match (e.g. '.*') + or if more than one expression can match the same input, the + results are undeterministic, and may depend on the I/O timing. + + """ + re = None + list = list[:] + indices = range(len(list)) + for i in indices: + if not hasattr(list[i], "search"): + if not re: import re + list[i] = re.compile(list[i]) + if timeout is not None: + deadline = _time() + timeout + with _TelnetSelector() as selector: + selector.register(self, selectors.EVENT_READ) + while not self.eof: + self.process_rawq() + for i in indices: + m = list[i].search(self.cookedq) + if m: + e = m.end() + text = self.cookedq[:e] + self.cookedq = self.cookedq[e:] + return (i, m, text) + if timeout is not None: + ready = selector.select(timeout) + timeout = deadline - _time() + if not ready: + if timeout < 0: + break + else: + continue + self.fill_rawq() + text = self.read_very_lazy() + if not text and self.eof: + raise EOFError + return (-1, None, text) + + def __enter__(self): + return self + + def __exit__(self, type, value, traceback): + self.close() + + +def test(): + """Test program for telnetlib. + + Usage: python telnetlib.py [-d] ... [host [port]] + + Default host is localhost; default port is 23. + + """ + debuglevel = 0 + while sys.argv[1:] and sys.argv[1] == '-d': + debuglevel = debuglevel+1 + del sys.argv[1] + host = 'localhost' + if sys.argv[1:]: + host = sys.argv[1] + port = 0 + if sys.argv[2:]: + portstr = sys.argv[2] + try: + port = int(portstr) + except ValueError: + port = socket.getservbyname(portstr, 'tcp') + with Telnet() as tn: + tn.set_debuglevel(debuglevel) + tn.open(host, port, timeout=0.5) + tn.interact() + +if __name__ == '__main__': + test() diff --git a/netmiko/a10/a10_ssh.py b/netmiko/a10/a10_ssh.py index 5ca269d7a..22c08efdd 100644 --- a/netmiko/a10/a10_ssh.py +++ b/netmiko/a10/a10_ssh.py @@ -1,4 +1,5 @@ """A10 support.""" + from netmiko.cisco_base_connection import CiscoSSHConnection diff --git a/netmiko/adva/__init__.py b/netmiko/adva/__init__.py index dd6368b08..971b1994e 100644 --- a/netmiko/adva/__init__.py +++ b/netmiko/adva/__init__.py @@ -1,4 +1,5 @@ """Adva Device Drivers""" + from netmiko.adva.adva_aos_fsp_150_f2 import AdvaAosFsp150F2SSH from netmiko.adva.adva_aos_fsp_150_f3 import AdvaAosFsp150F3SSH diff --git a/netmiko/adva/adva_aos_fsp_150_f2.py b/netmiko/adva/adva_aos_fsp_150_f2.py index f53a2e753..c1f9af8f4 100644 --- a/netmiko/adva/adva_aos_fsp_150_f2.py +++ b/netmiko/adva/adva_aos_fsp_150_f2.py @@ -1,4 +1,5 @@ """Adva support.""" + import re from typing import Any, Optional from netmiko.no_enable import NoEnable diff --git a/netmiko/adva/adva_aos_fsp_150_f3.py b/netmiko/adva/adva_aos_fsp_150_f3.py index 23e32ec11..6576392e3 100644 --- a/netmiko/adva/adva_aos_fsp_150_f3.py +++ b/netmiko/adva/adva_aos_fsp_150_f3.py @@ -1,4 +1,5 @@ """Adva F3 Device Support""" + import re from typing import ( Optional, diff --git a/netmiko/alcatel/alcatel_aos_ssh.py b/netmiko/alcatel/alcatel_aos_ssh.py index 6c8da7a8d..81a65441c 100644 --- a/netmiko/alcatel/alcatel_aos_ssh.py +++ b/netmiko/alcatel/alcatel_aos_ssh.py @@ -1,4 +1,5 @@ """Alcatel-Lucent Enterprise AOS support (AOS6 and AOS8).""" + from netmiko.no_enable import NoEnable from netmiko.no_config import NoConfig from netmiko.cisco_base_connection import CiscoSSHConnection diff --git a/netmiko/aruba/__init__.py b/netmiko/aruba/__init__.py index e9350eacb..51db55f27 100644 --- a/netmiko/aruba/__init__.py +++ b/netmiko/aruba/__init__.py @@ -1,3 +1,4 @@ -from netmiko.aruba.aruba_ssh import ArubaSSH +from netmiko.aruba.aruba_aoscx import ArubaCxSSH +from netmiko.aruba.aruba_os import ArubaOsSSH -__all__ = ["ArubaSSH"] +__all__ = ["ArubaOsSSH", "ArubaCxSSH"] diff --git a/netmiko/aruba/aruba_aoscx.py b/netmiko/aruba/aruba_aoscx.py new file mode 100644 index 000000000..a055da045 --- /dev/null +++ b/netmiko/aruba/aruba_aoscx.py @@ -0,0 +1,43 @@ +""" +Aruba AOS CX support. + +For use with Aruba AOS CX devices. + +""" + +from typing import Any +from netmiko.cisco_base_connection import CiscoSSHConnection + + +class ArubaCxSSH(CiscoSSHConnection): + """Aruba AOS CX support""" + + def __init__(self, **kwargs: Any) -> None: + if kwargs.get("default_enter") is None: + kwargs["default_enter"] = "\r" + return super().__init__(**kwargs) + + def session_preparation(self) -> None: + self.ansi_escape_codes = True + self._test_channel_read(pattern=r"[>#]") + self.set_base_prompt() + self.disable_paging(command="no page") + + def check_config_mode( + self, + check_string: str = "(config)#", + pattern: str = r"[>#]", + force_regex: bool = False, + ) -> bool: + return super().check_config_mode(check_string=check_string, pattern=pattern) + + def config_mode( + self, + config_command: str = "configure term", + pattern: str = "", + re_flags: int = 0, + ) -> str: + """Aruba auto completes on space so 'configure' needs fully spelled-out.""" + return super().config_mode( + config_command=config_command, pattern=pattern, re_flags=re_flags + ) diff --git a/netmiko/aruba/aruba_ssh.py b/netmiko/aruba/aruba_os.py similarity index 97% rename from netmiko/aruba/aruba_ssh.py rename to netmiko/aruba/aruba_os.py index 5664e37e9..884d313ea 100644 --- a/netmiko/aruba/aruba_ssh.py +++ b/netmiko/aruba/aruba_os.py @@ -4,11 +4,12 @@ For use with Aruba OS Controllers. """ + from typing import Any from netmiko.cisco_base_connection import CiscoSSHConnection -class ArubaSSH(CiscoSSHConnection): +class ArubaOsSSH(CiscoSSHConnection): """Aruba OS support""" def __init__(self, **kwargs: Any) -> None: diff --git a/netmiko/base_connection.py b/netmiko/base_connection.py index 39bac3b92..307223da9 100644 --- a/netmiko/base_connection.py +++ b/netmiko/base_connection.py @@ -6,6 +6,7 @@ Also defines methods that should generally be supported by child classes """ + from typing import ( Optional, Callable, @@ -27,7 +28,6 @@ import io import re import socket -import telnetlib import time from collections import deque from os import path @@ -50,6 +50,7 @@ ReadException, ReadTimeout, ) +from netmiko._telnetlib import telnetlib from netmiko.channel import Channel, SSHChannel, TelnetChannel, SerialChannel from netmiko.session_log import SessionLog from netmiko.utilities import ( @@ -388,7 +389,8 @@ def __init__( if self.secret: no_log["secret"] = self.secret # Always sanitize username and password - log.addFilter(SecretsFilter(no_log=no_log)) + self._secrets_filter = SecretsFilter(no_log=no_log) + log.addFilter(self._secrets_filter) # Netmiko will close the session_log if we open the file if session_log is not None: @@ -598,7 +600,7 @@ def is_alive(self) -> bool: log.debug("Sending IAC + NOP") # Need to send multiple times to test connection assert isinstance(self.remote_conn, telnetlib.Telnet) - telnet_socket = self.remote_conn.get_socket() + telnet_socket = self.remote_conn.get_socket() # type: ignore telnet_socket.sendall(telnetlib.IAC + telnetlib.NOP) telnet_socket.sendall(telnetlib.IAC + telnetlib.NOP) telnet_socket.sendall(telnetlib.IAC + telnetlib.NOP) @@ -1117,7 +1119,7 @@ def establish_connection(self, width: int = 511, height: int = 1000) -> None: proxy_dict=self.sock_telnet, ) else: - self.remote_conn = telnetlib.Telnet( + self.remote_conn = telnetlib.Telnet( # type: ignore self.host, port=self.port, timeout=self.timeout ) # Migrating communication to channel class @@ -2468,7 +2470,7 @@ def disconnect(self) -> None: self.paramiko_cleanup() elif self.protocol == "telnet": assert isinstance(self.remote_conn, telnetlib.Telnet) - self.remote_conn.close() + self.remote_conn.close() # type: ignore elif self.protocol == "serial": assert isinstance(self.remote_conn, serial.Serial) self.remote_conn.close() @@ -2480,6 +2482,7 @@ def disconnect(self) -> None: self.remote_conn = None if self.session_log: self.session_log.close() + log.removeFilter(self._secrets_filter) def commit(self) -> str: """Commit method for platforms that support this.""" diff --git a/netmiko/calix/calix_b6.py b/netmiko/calix/calix_b6.py index 593c5d592..a1c5bf963 100644 --- a/netmiko/calix/calix_b6.py +++ b/netmiko/calix/calix_b6.py @@ -1,4 +1,5 @@ """Calix B6 SSH Driver for Netmiko""" + from typing import Any import time from os import path diff --git a/netmiko/centec/centec_os.py b/netmiko/centec/centec_os.py index d1e1307f6..e02c214b2 100644 --- a/netmiko/centec/centec_os.py +++ b/netmiko/centec/centec_os.py @@ -1,4 +1,5 @@ """Centec OS Support""" + from netmiko.cisco_base_connection import CiscoBaseConnection diff --git a/netmiko/channel.py b/netmiko/channel.py index bef9a78b1..58394842f 100644 --- a/netmiko/channel.py +++ b/netmiko/channel.py @@ -1,9 +1,9 @@ from typing import Any, Optional from abc import ABC, abstractmethod import paramiko -import telnetlib import serial +from netmiko._telnetlib import telnetlib from netmiko.utilities import write_bytes from netmiko.netmiko_globals import MAX_BUFFER from netmiko.exceptions import ReadException, WriteException @@ -113,7 +113,7 @@ def write_channel(self, out_data: str) -> None: raise WriteException( "Attempt to write data, but there is no active channel." ) - self.remote_conn.write(write_bytes(out_data, encoding=self.encoding)) + self.remote_conn.write(write_bytes(out_data, encoding=self.encoding)) # type: ignore def read_buffer(self) -> str: """Single read of available data.""" @@ -123,7 +123,7 @@ def read_channel(self) -> str: """Read all of the available data from the channel.""" if self.remote_conn is None: raise ReadException("Attempt to read, but there is no active channel.") - return self.remote_conn.read_very_eager().decode(self.encoding, "ignore") + return self.remote_conn.read_very_eager().decode(self.encoding, "ignore") # type: ignore class SerialChannel(Channel): diff --git a/netmiko/ciena/ciena_saos.py b/netmiko/ciena/ciena_saos.py index b74a61c64..a8d97f789 100644 --- a/netmiko/ciena/ciena_saos.py +++ b/netmiko/ciena/ciena_saos.py @@ -1,4 +1,5 @@ """Ciena SAOS support.""" + from typing import Optional, Any import re import os diff --git a/netmiko/cisco/cisco_asa_ssh.py b/netmiko/cisco/cisco_asa_ssh.py index e87c766f3..0f24ffe78 100644 --- a/netmiko/cisco/cisco_asa_ssh.py +++ b/netmiko/cisco/cisco_asa_ssh.py @@ -1,4 +1,5 @@ """Subclass specific to Cisco ASA.""" + from typing import Any, Union, List, Dict, Optional import re import time diff --git a/netmiko/cisco/cisco_ftd_ssh.py b/netmiko/cisco/cisco_ftd_ssh.py index 6cc94a0c1..7226a8d6e 100644 --- a/netmiko/cisco/cisco_ftd_ssh.py +++ b/netmiko/cisco/cisco_ftd_ssh.py @@ -1,4 +1,5 @@ """Subclass specific to Cisco FTD.""" + from typing import Any from netmiko.no_enable import NoEnable from netmiko.no_config import NoConfig diff --git a/netmiko/cisco/cisco_tp_tcce.py b/netmiko/cisco/cisco_tp_tcce.py index 5e37e5851..596020bab 100644 --- a/netmiko/cisco/cisco_tp_tcce.py +++ b/netmiko/cisco/cisco_tp_tcce.py @@ -6,6 +6,7 @@ Written by Ahmad Barrin Updated by Kirk Byers """ + from typing import Any, Union, List, Dict import time import re diff --git a/netmiko/cisco/cisco_viptela.py b/netmiko/cisco/cisco_viptela.py index 86b058976..81bff0f5b 100644 --- a/netmiko/cisco/cisco_viptela.py +++ b/netmiko/cisco/cisco_viptela.py @@ -1,4 +1,5 @@ """Subclass specific to Cisco Viptela.""" + from typing import Union, Sequence, Iterator, TextIO, Any import re diff --git a/netmiko/cisco/cisco_wlc_ssh.py b/netmiko/cisco/cisco_wlc_ssh.py index b4ece3b23..464a6dedf 100644 --- a/netmiko/cisco/cisco_wlc_ssh.py +++ b/netmiko/cisco/cisco_wlc_ssh.py @@ -1,4 +1,5 @@ """Netmiko Cisco WLC support.""" + from typing import Any, Union, Sequence, Iterator, TextIO import time import re diff --git a/netmiko/cisco/cisco_xr.py b/netmiko/cisco/cisco_xr.py index b7cf31596..49ddfd54d 100644 --- a/netmiko/cisco/cisco_xr.py +++ b/netmiko/cisco/cisco_xr.py @@ -191,7 +191,7 @@ def exit_config_mode(self, exit_config: str = "end", pattern: str = "") -> str: # Read until we detect either an Uncommitted change or the end prompt if not re.search(r"(Uncommitted|#$)", output): output += self.read_until_pattern(pattern=r"(Uncommitted|#$)") - if "Uncommitted changes found" in output: + if "Uncommitted" in output: self.write_channel(self.normalize_cmd("no\n")) output += self.read_until_pattern(pattern=r"[>#]") if not re.search(pattern, output, flags=re.M): diff --git a/netmiko/cisco_base_connection.py b/netmiko/cisco_base_connection.py index 6de5062d0..848537764 100644 --- a/netmiko/cisco_base_connection.py +++ b/netmiko/cisco_base_connection.py @@ -1,4 +1,5 @@ """CiscoBaseConnection is netmiko SSH class for Cisco and Cisco-like platforms.""" + from typing import Optional import re import time diff --git a/netmiko/dell/dell_dnos6.py b/netmiko/dell/dell_dnos6.py index e901abe8e..23fa5cd79 100644 --- a/netmiko/dell/dell_dnos6.py +++ b/netmiko/dell/dell_dnos6.py @@ -1,4 +1,5 @@ """Dell N2/3/4000 base driver- supports DNOS6.""" + from netmiko.dell.dell_powerconnect import DellPowerConnectBase diff --git a/netmiko/dell/dell_force10_ssh.py b/netmiko/dell/dell_force10_ssh.py index babc8bee1..afab5d0d9 100644 --- a/netmiko/dell/dell_force10_ssh.py +++ b/netmiko/dell/dell_force10_ssh.py @@ -1,4 +1,5 @@ """Dell Force10 Driver - supports DNOS9.""" + from netmiko.cisco_base_connection import CiscoSSHConnection diff --git a/netmiko/dell/dell_os10_ssh.py b/netmiko/dell/dell_os10_ssh.py index 5ed6605ac..20658df4e 100644 --- a/netmiko/dell/dell_os10_ssh.py +++ b/netmiko/dell/dell_os10_ssh.py @@ -1,4 +1,5 @@ """Dell EMC Networking OS10 Driver - supports dellos10.""" + from typing import Any, Optional from netmiko.base_connection import BaseConnection from netmiko.cisco_base_connection import CiscoSSHConnection diff --git a/netmiko/dell/dell_powerconnect.py b/netmiko/dell/dell_powerconnect.py index 8614b4c03..c689feabb 100644 --- a/netmiko/dell/dell_powerconnect.py +++ b/netmiko/dell/dell_powerconnect.py @@ -1,4 +1,5 @@ """Dell PowerConnect Driver.""" + from typing import Optional from paramiko import SSHClient import time diff --git a/netmiko/dell/dell_sonic_ssh.py b/netmiko/dell/dell_sonic_ssh.py index e3a3ad083..b22730d45 100644 --- a/netmiko/dell/dell_sonic_ssh.py +++ b/netmiko/dell/dell_sonic_ssh.py @@ -2,6 +2,7 @@ Dell EMC PowerSwitch platforms running Enterprise SONiC Distribution by Dell Technologies Driver - supports dellenterprisesonic. """ + from netmiko.no_enable import NoEnable from netmiko.cisco_base_connection import CiscoSSHConnection from netmiko import log diff --git a/netmiko/digi/digi_transport.py b/netmiko/digi/digi_transport.py index 0aa832bf8..ae970b171 100644 --- a/netmiko/digi/digi_transport.py +++ b/netmiko/digi/digi_transport.py @@ -1,4 +1,5 @@ """Digi TransPort Routers""" + from typing import Any from netmiko.no_enable import NoEnable from netmiko.no_config import NoConfig diff --git a/netmiko/enterasys/enterasys_ssh.py b/netmiko/enterasys/enterasys_ssh.py index 79c1c2f8e..2ddc3a1cf 100644 --- a/netmiko/enterasys/enterasys_ssh.py +++ b/netmiko/enterasys/enterasys_ssh.py @@ -1,4 +1,5 @@ """Enterasys support.""" + from typing import Any from netmiko.cisco_base_connection import CiscoSSHConnection diff --git a/netmiko/ericsson/ericsson_ipos.py b/netmiko/ericsson/ericsson_ipos.py index f641195a7..6e747391f 100644 --- a/netmiko/ericsson/ericsson_ipos.py +++ b/netmiko/ericsson/ericsson_ipos.py @@ -1,6 +1,7 @@ """ Ericsson Ipos looks like it was RedBack equipment. """ + from typing import Optional, Any, Union, Sequence, Iterator, TextIO import re import warnings diff --git a/netmiko/ericsson/ericsson_mltn.py b/netmiko/ericsson/ericsson_mltn.py index 1b6eb8f8c..e68ab5b6b 100644 --- a/netmiko/ericsson/ericsson_mltn.py +++ b/netmiko/ericsson/ericsson_mltn.py @@ -1,4 +1,5 @@ """Ericsson MiniLink driver.""" + import time import re from os import path diff --git a/netmiko/extreme/extreme_ers_ssh.py b/netmiko/extreme/extreme_ers_ssh.py index 514295631..9fe850746 100644 --- a/netmiko/extreme/extreme_ers_ssh.py +++ b/netmiko/extreme/extreme_ers_ssh.py @@ -1,4 +1,5 @@ """Netmiko support for Extreme Ethernet Routing Switch.""" + import re from netmiko.cisco_base_connection import CiscoSSHConnection from netmiko.exceptions import NetmikoAuthenticationException diff --git a/netmiko/extreme/extreme_exos.py b/netmiko/extreme/extreme_exos.py index 064e9b726..f37d3df7b 100644 --- a/netmiko/extreme/extreme_exos.py +++ b/netmiko/extreme/extreme_exos.py @@ -1,4 +1,5 @@ """Extreme support.""" + import os from typing import Any, Callable, Optional, Union, List, Dict import re diff --git a/netmiko/extreme/extreme_nos_ssh.py b/netmiko/extreme/extreme_nos_ssh.py index bf9e8904f..4361a0202 100644 --- a/netmiko/extreme/extreme_nos_ssh.py +++ b/netmiko/extreme/extreme_nos_ssh.py @@ -1,4 +1,5 @@ """Support for Extreme NOS/VDX.""" + import time from netmiko.no_enable import NoEnable from netmiko.cisco_base_connection import CiscoSSHConnection diff --git a/netmiko/extreme/extreme_slx_ssh.py b/netmiko/extreme/extreme_slx_ssh.py index 75a3f478a..6df516ef5 100644 --- a/netmiko/extreme/extreme_slx_ssh.py +++ b/netmiko/extreme/extreme_slx_ssh.py @@ -1,4 +1,5 @@ """Support for Extreme SLX.""" + import time from netmiko.no_enable import NoEnable from netmiko.cisco_base_connection import CiscoSSHConnection diff --git a/netmiko/extreme/extreme_tierraos_ssh.py b/netmiko/extreme/extreme_tierraos_ssh.py index a436e8e6c..afa325945 100644 --- a/netmiko/extreme/extreme_tierraos_ssh.py +++ b/netmiko/extreme/extreme_tierraos_ssh.py @@ -1,4 +1,5 @@ """Support for Extreme TierraOS.""" + import time from netmiko.no_enable import NoEnable from netmiko.cisco_base_connection import CiscoSSHConnection diff --git a/netmiko/extreme/extreme_vsp_ssh.py b/netmiko/extreme/extreme_vsp_ssh.py index 8e01a867f..654240071 100644 --- a/netmiko/extreme/extreme_vsp_ssh.py +++ b/netmiko/extreme/extreme_vsp_ssh.py @@ -1,4 +1,5 @@ """Extreme Virtual Services Platform Support.""" + from netmiko.cisco_base_connection import CiscoSSHConnection diff --git a/netmiko/fiberstore/fiberstore_fsos.py b/netmiko/fiberstore/fiberstore_fsos.py index c5d2c206b..2b3038f76 100644 --- a/netmiko/fiberstore/fiberstore_fsos.py +++ b/netmiko/fiberstore/fiberstore_fsos.py @@ -1,4 +1,5 @@ """Fiberstore FSOS Driver.""" + from typing import Optional from paramiko import SSHClient from netmiko.ssh_auth import SSHClient_noauth diff --git a/netmiko/huawei/huawei.py b/netmiko/huawei/huawei.py index 77750b3df..2ee80c607 100644 --- a/netmiko/huawei/huawei.py +++ b/netmiko/huawei/huawei.py @@ -104,12 +104,18 @@ def save_config( Configuration file had been saved successfully Note: The configuration file will take effect after being activated ###################################################################### + or + ###################################################################### + Warning: The current configuration will be written to the device. Continue? [Y/N]:y + Now saving the current configuration to the slot 1 . + Info: Save the configuration successfully. + ###################################################################### """ # Huawei devices might break if you try to use send_command_timing() so use send_command() # instead. if confirm: - pattern = rf"(?:Are you sure|{self.prompt_pattern})" + pattern = rf"(?:[Cc]ontinue\?|{self.prompt_pattern})" output = self._send_command_str( command_string=cmd, expect_string=pattern, @@ -117,7 +123,7 @@ def save_config( strip_command=False, read_timeout=100.0, ) - if confirm_response and "Are you sure" in output: + if confirm_response and re.search(r"[Cc]ontinue\?", output): output += self._send_command_str( command_string=confirm_response, expect_string=self.prompt_pattern, @@ -266,7 +272,3 @@ def commit( if error_marker in output: raise ValueError(f"Commit failed with following errors:\n\n{output}") return output - - def save_config(self, *args: Any, **kwargs: Any) -> str: - """Not Implemented""" - raise NotImplementedError diff --git a/netmiko/ipinfusion/ipinfusion_ocnos.py b/netmiko/ipinfusion/ipinfusion_ocnos.py index 960ef17c7..d4a0c4722 100644 --- a/netmiko/ipinfusion/ipinfusion_ocnos.py +++ b/netmiko/ipinfusion/ipinfusion_ocnos.py @@ -2,7 +2,17 @@ from typing import Any from socket import socket -from telnetlib import IAC, DO, DONT, WILL, WONT, SB, SE, TTYPE, Telnet +from netmiko._telnetlib.telnetlib import ( + IAC, + DO, + DONT, + WILL, + WONT, + SB, + SE, + TTYPE, + Telnet, +) from netmiko.cisco_base_connection import CiscoBaseConnection @@ -67,7 +77,7 @@ def telnet_login( # set callback function to handle telnet options. assert self.remote_conn is not None assert isinstance(self.remote_conn, Telnet) - self.remote_conn.set_option_negotiation_callback(self._process_option) + self.remote_conn.set_option_negotiation_callback(self._process_option) # type: ignore return super().telnet_login( pri_prompt_terminator=pri_prompt_terminator, alt_prompt_terminator=alt_prompt_terminator, diff --git a/netmiko/mellanox/mellanox_mlnxos_ssh.py b/netmiko/mellanox/mellanox_mlnxos_ssh.py index b6e2fb3f1..75bb38543 100644 --- a/netmiko/mellanox/mellanox_mlnxos_ssh.py +++ b/netmiko/mellanox/mellanox_mlnxos_ssh.py @@ -1,4 +1,5 @@ """Mellanox MLNX-OS Switch support.""" + import re from typing import Optional diff --git a/netmiko/mrv/mrv_lx.py b/netmiko/mrv/mrv_lx.py index 507a0a2f9..9441032f1 100644 --- a/netmiko/mrv/mrv_lx.py +++ b/netmiko/mrv/mrv_lx.py @@ -1,4 +1,5 @@ """MRV Communications Driver (LX).""" + import time import re from typing import Optional diff --git a/netmiko/mrv/mrv_ssh.py b/netmiko/mrv/mrv_ssh.py index 7c23d8108..b05b7d0a4 100644 --- a/netmiko/mrv/mrv_ssh.py +++ b/netmiko/mrv/mrv_ssh.py @@ -1,4 +1,5 @@ """MRV Communications Driver (OptiSwitch).""" + import time import re from typing import Optional diff --git a/netmiko/netgear/netgear_prosafe_ssh.py b/netmiko/netgear/netgear_prosafe_ssh.py index 437a0648b..9fe395fcf 100644 --- a/netmiko/netgear/netgear_prosafe_ssh.py +++ b/netmiko/netgear/netgear_prosafe_ssh.py @@ -1,4 +1,5 @@ """ProSafe OS support""" + import time from typing import Any diff --git a/netmiko/oneaccess/oneaccess_oneos.py b/netmiko/oneaccess/oneaccess_oneos.py index c6acc6b6c..29f6194f5 100644 --- a/netmiko/oneaccess/oneaccess_oneos.py +++ b/netmiko/oneaccess/oneaccess_oneos.py @@ -1,4 +1,5 @@ """Netmiko driver for OneAccess ONEOS""" + from typing import Any from netmiko.cisco_base_connection import CiscoBaseConnection diff --git a/netmiko/raisecom/raisecom_roap.py b/netmiko/raisecom/raisecom_roap.py index 2278a0446..3cf1ffc87 100644 --- a/netmiko/raisecom/raisecom_roap.py +++ b/netmiko/raisecom/raisecom_roap.py @@ -3,7 +3,19 @@ import time from socket import socket -from telnetlib import IAC, DO, DONT, WILL, WONT, SB, SE, ECHO, SGA, NAWS, Telnet +from netmiko._telnetlib.telnetlib import ( + IAC, + DO, + DONT, + WILL, + WONT, + SB, + SE, + ECHO, + SGA, + NAWS, + Telnet, +) from netmiko.exceptions import NetmikoAuthenticationException @@ -100,7 +112,7 @@ def telnet_login( # set callback function to handle telnet options. assert isinstance(self.remote_conn, Telnet) - self.remote_conn.set_option_negotiation_callback(self._process_option) + self.remote_conn.set_option_negotiation_callback(self._process_option) # type: ignore delay_factor = self.select_delay_factor(delay_factor) time.sleep(1 * delay_factor) @@ -140,7 +152,7 @@ def telnet_login( time.sleep(0.5 * delay_factor) i += 1 except EOFError: - self.remote_conn.close() + self.remote_conn.close() # type: ignore msg = f"Login failed: {self.host}" raise NetmikoAuthenticationException(msg) @@ -155,5 +167,5 @@ def telnet_login( return return_msg msg = f"Login failed: {self.host}" - self.remote_conn.close() + self.remote_conn.close() # type: ignore raise NetmikoAuthenticationException(msg) diff --git a/netmiko/ruckus/ruckus_fastiron.py b/netmiko/ruckus/ruckus_fastiron.py index 6cfdf99e6..ba1d1f526 100644 --- a/netmiko/ruckus/ruckus_fastiron.py +++ b/netmiko/ruckus/ruckus_fastiron.py @@ -3,7 +3,7 @@ from socket import socket from typing import Optional, Any -from telnetlib import DO, DONT, ECHO, IAC, WILL, WONT, Telnet +from netmiko._telnetlib.telnetlib import DO, DONT, ECHO, IAC, WILL, WONT, Telnet from netmiko.cisco_base_connection import CiscoSSHConnection @@ -103,7 +103,7 @@ def _process_option(self, tsocket: socket, command: bytes, option: bytes) -> Non def telnet_login(self, *args: Any, **kwargs: Any) -> str: # set callback function to handle telnet options. assert isinstance(self.remote_conn, Telnet) - self.remote_conn.set_option_negotiation_callback(self._process_option) + self.remote_conn.set_option_negotiation_callback(self._process_option) # type: ignore return super().telnet_login(*args, **kwargs) diff --git a/netmiko/ruijie/ruijie_os.py b/netmiko/ruijie/ruijie_os.py index f3a070da4..18c4cf958 100644 --- a/netmiko/ruijie/ruijie_os.py +++ b/netmiko/ruijie/ruijie_os.py @@ -1,4 +1,5 @@ """Ruijie RGOS Support""" + import time from typing import Any diff --git a/netmiko/scp_functions.py b/netmiko/scp_functions.py index 72aa76813..20c5737ff 100644 --- a/netmiko/scp_functions.py +++ b/netmiko/scp_functions.py @@ -5,6 +5,7 @@ SCP requires a separate SSH connection for a control channel. """ + from typing import AnyStr, Optional, Callable, Any, Dict from typing import TYPE_CHECKING from netmiko.scp_handler import BaseFileTransfer diff --git a/netmiko/scp_handler.py b/netmiko/scp_handler.py index cd85ebb14..6e8564d63 100644 --- a/netmiko/scp_handler.py +++ b/netmiko/scp_handler.py @@ -5,6 +5,7 @@ SCP requires a separate SSH connection for a control channel. """ + from typing import Callable, Optional, Any, Type from typing import TYPE_CHECKING from types import TracebackType diff --git a/netmiko/snmp_autodetect.py b/netmiko/snmp_autodetect.py index da4c8c970..bbf775c00 100644 --- a/netmiko/snmp_autodetect.py +++ b/netmiko/snmp_autodetect.py @@ -20,6 +20,7 @@ Note, pysnmp is a required dependency for SNMPDetect and is intentionally not included in netmiko requirements. So installation of pysnmp might be required. """ + from typing import Optional, Dict, List from typing.re import Pattern import re diff --git a/netmiko/sophos/sophos_sfos_ssh.py b/netmiko/sophos/sophos_sfos_ssh.py index 27b34ee20..3d44a7069 100644 --- a/netmiko/sophos/sophos_sfos_ssh.py +++ b/netmiko/sophos/sophos_sfos_ssh.py @@ -1,16 +1,21 @@ """SophosXG (SFOS) Firewall support""" -import time + from typing import Any +import time +import os from netmiko.no_enable import NoEnable from netmiko.no_config import NoConfig from netmiko.cisco_base_connection import CiscoSSHConnection +SOPHOS_MENU_DEFAULT = os.getenv("NETMIKO_SOPHOS_MENU", "4") + + class SophosSfosSSH(NoEnable, NoConfig, CiscoSSHConnection): def session_preparation(self) -> None: """Prepare the session after the connection has been established.""" - self._test_channel_read() + self._test_channel_read(pattern=r"Main Menu") """ Sophos Firmware Version SFOS 18.0.0 GA-Build339 @@ -27,8 +32,8 @@ def session_preparation(self) -> None: Select Menu Number [0-7]: """ - self.write_channel("4" + self.RETURN) - self._test_channel_read(pattern=r"[console>]") + self.write_channel(SOPHOS_MENU_DEFAULT + self.RETURN) + self._test_channel_read(pattern=r"[#>]") self.set_base_prompt() # Clear the read buffer time.sleep(0.3 * self.global_delay_factor) diff --git a/netmiko/ssh_autodetect.py b/netmiko/ssh_autodetect.py index febddd1c3..15d48c8d9 100644 --- a/netmiko/ssh_autodetect.py +++ b/netmiko/ssh_autodetect.py @@ -38,6 +38,7 @@ >>> remote_device['device_type'] = best_match >>> connection = ConnectHandler(**remote_device) """ + from typing import Any, List, Optional, Union, Dict import re import time @@ -94,6 +95,12 @@ "priority": 99, "dispatch": "_autodetect_std", }, + "cisco_ftd": { + "cmd": "show version", + "search_patterns": [r"Cisco Firepower"], + "priority": 99, + "dispatch": "_autodetect_std", + }, "cisco_ios": { "cmd": "show version", "search_patterns": [ @@ -302,6 +309,12 @@ "priority": 99, "dispatch": "_autodetect_std", }, + "netgear_prosafe": { + "cmd": "show version", + "search_patterns": [r"ProSAFE"], + "priority": 99, + "dispatch": "_autodetect_std", + }, } # Sort SSH_MAPPER_DICT such that the most common commands are first diff --git a/netmiko/ssh_dispatcher.py b/netmiko/ssh_dispatcher.py index 31ba526a8..bbec65b54 100755 --- a/netmiko/ssh_dispatcher.py +++ b/netmiko/ssh_dispatcher.py @@ -1,4 +1,5 @@ """Controls selection of proper class based on the device type.""" + from typing import Any, Type, Optional from typing import TYPE_CHECKING import re @@ -14,7 +15,7 @@ from netmiko.arista import AristaFileTransfer from netmiko.arris import ArrisCERSSH from netmiko.apresia import ApresiaAeosSSH, ApresiaAeosTelnet -from netmiko.aruba import ArubaSSH +from netmiko.aruba import ArubaOsSSH, ArubaCxSSH from netmiko.audiocode import ( Audiocode72SSH, Audiocode66SSH, @@ -159,7 +160,8 @@ "apresia_aeos": ApresiaAeosSSH, "arista_eos": AristaSSH, "arris_cer": ArrisCERSSH, - "aruba_os": ArubaSSH, + "aruba_os": ArubaOsSSH, + "aruba_aoscx": ArubaCxSSH, "aruba_osswitch": HPProcurveSSH, "aruba_procurve": HPProcurveSSH, "audiocode_72": Audiocode72SSH, diff --git a/netmiko/telnet_proxy.py b/netmiko/telnet_proxy.py index e9f967097..76272f558 100644 --- a/netmiko/telnet_proxy.py +++ b/netmiko/telnet_proxy.py @@ -1,6 +1,6 @@ from typing import Dict, Any, Optional import socket -import telnetlib +from netmiko._telnetlib import telnetlib try: import socks @@ -19,7 +19,7 @@ def __init__( proxy_dict: Optional[Dict[str, Any]] = None, ) -> None: self.proxy_dict = proxy_dict - super().__init__(host=host, port=port, timeout=timeout) + super().__init__(host=host, port=port, timeout=timeout) # type: ignore def open( self, diff --git a/netmiko/terminal_server/terminal_server.py b/netmiko/terminal_server/terminal_server.py index b8335b045..f98e18305 100644 --- a/netmiko/terminal_server/terminal_server.py +++ b/netmiko/terminal_server/terminal_server.py @@ -1,4 +1,5 @@ """Generic Terminal Server driver.""" + from typing import Any from netmiko.base_connection import BaseConnection diff --git a/netmiko/utilities.py b/netmiko/utilities.py index d6cfecd82..2bc60cfe8 100644 --- a/netmiko/utilities.py +++ b/netmiko/utilities.py @@ -1,4 +1,5 @@ """Miscellaneous utility functions.""" + from typing import ( Any, AnyStr, diff --git a/netmiko/zte/zte_zxros.py b/netmiko/zte/zte_zxros.py index 2ae8f8759..cbbc6e8e1 100644 --- a/netmiko/zte/zte_zxros.py +++ b/netmiko/zte/zte_zxros.py @@ -3,7 +3,19 @@ from typing import Any from netmiko.cisco_base_connection import CiscoBaseConnection -from telnetlib import IAC, DO, DONT, WILL, WONT, SB, SE, ECHO, SGA, NAWS, Telnet +from netmiko._telnetlib.telnetlib import ( + IAC, + DO, + DONT, + WILL, + WONT, + SB, + SE, + ECHO, + SGA, + NAWS, + Telnet, +) class ZteZxrosBase(CiscoBaseConnection): @@ -62,5 +74,5 @@ def _process_option(telnet_sock: socket, cmd: bytes, opt: bytes) -> None: def telnet_login(self, *args: Any, **kwargs: Any) -> str: # set callback function to handle telnet options. assert isinstance(self.remote_conn, Telnet) - self.remote_conn.set_option_negotiation_callback(self._process_option) + self.remote_conn.set_option_negotiation_callback(self._process_option) # type: ignore return super().telnet_login(*args, **kwargs) diff --git a/poetry.lock b/poetry.lock index 9e89350a3..3d5ffc9d8 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,151 +1,116 @@ -# This file is automatically @generated by Poetry and should not be changed by hand. +# This file is automatically @generated by Poetry 1.8.3 and should not be changed by hand. [[package]] name = "aiofiles" -version = "23.2.1" +version = "24.1.0" description = "File support for asyncio." -category = "dev" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "aiofiles-23.2.1-py3-none-any.whl", hash = "sha256:19297512c647d4b27a2cf7c34caa7e405c0d60b5560618a29a9fe027b18b0107"}, - {file = "aiofiles-23.2.1.tar.gz", hash = "sha256:84ec2218d8419404abcb9f0c02df3f34c6e0a68ed41072acfb1cef5cbc29051a"}, + {file = "aiofiles-24.1.0-py3-none-any.whl", hash = "sha256:b4ec55f4195e3eb5d7abd1bf7e061763e864dd4954231fb8539a0ef8bb8260e5"}, + {file = "aiofiles-24.1.0.tar.gz", hash = "sha256:22a075c9e5a3810f0c2e48f3008c94d68c65d763b9b03857924c99e57355166c"}, ] [[package]] name = "aiohttp" -version = "3.8.6" +version = "3.9.5" description = "Async http client/server framework (asyncio)" -category = "dev" optional = false -python-versions = ">=3.6" +python-versions = ">=3.8" files = [ - {file = "aiohttp-3.8.6-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:41d55fc043954cddbbd82503d9cc3f4814a40bcef30b3569bc7b5e34130718c1"}, - {file = "aiohttp-3.8.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1d84166673694841d8953f0a8d0c90e1087739d24632fe86b1a08819168b4566"}, - {file = "aiohttp-3.8.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:253bf92b744b3170eb4c4ca2fa58f9c4b87aeb1df42f71d4e78815e6e8b73c9e"}, - {file = "aiohttp-3.8.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3fd194939b1f764d6bb05490987bfe104287bbf51b8d862261ccf66f48fb4096"}, - {file = "aiohttp-3.8.6-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6c5f938d199a6fdbdc10bbb9447496561c3a9a565b43be564648d81e1102ac22"}, - {file = "aiohttp-3.8.6-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2817b2f66ca82ee699acd90e05c95e79bbf1dc986abb62b61ec8aaf851e81c93"}, - {file = "aiohttp-3.8.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0fa375b3d34e71ccccf172cab401cd94a72de7a8cc01847a7b3386204093bb47"}, - {file = "aiohttp-3.8.6-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9de50a199b7710fa2904be5a4a9b51af587ab24c8e540a7243ab737b45844543"}, - {file = "aiohttp-3.8.6-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e1d8cb0b56b3587c5c01de3bf2f600f186da7e7b5f7353d1bf26a8ddca57f965"}, - {file = "aiohttp-3.8.6-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:8e31e9db1bee8b4f407b77fd2507337a0a80665ad7b6c749d08df595d88f1cf5"}, - {file = "aiohttp-3.8.6-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:7bc88fc494b1f0311d67f29fee6fd636606f4697e8cc793a2d912ac5b19aa38d"}, - {file = "aiohttp-3.8.6-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:ec00c3305788e04bf6d29d42e504560e159ccaf0be30c09203b468a6c1ccd3b2"}, - {file = "aiohttp-3.8.6-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:ad1407db8f2f49329729564f71685557157bfa42b48f4b93e53721a16eb813ed"}, - {file = "aiohttp-3.8.6-cp310-cp310-win32.whl", hash = "sha256:ccc360e87341ad47c777f5723f68adbb52b37ab450c8bc3ca9ca1f3e849e5fe2"}, - {file = "aiohttp-3.8.6-cp310-cp310-win_amd64.whl", hash = "sha256:93c15c8e48e5e7b89d5cb4613479d144fda8344e2d886cf694fd36db4cc86865"}, - {file = "aiohttp-3.8.6-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:6e2f9cc8e5328f829f6e1fb74a0a3a939b14e67e80832975e01929e320386b34"}, - {file = "aiohttp-3.8.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:e6a00ffcc173e765e200ceefb06399ba09c06db97f401f920513a10c803604ca"}, - {file = "aiohttp-3.8.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:41bdc2ba359032e36c0e9de5a3bd00d6fb7ea558a6ce6b70acedf0da86458321"}, - {file = "aiohttp-3.8.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:14cd52ccf40006c7a6cd34a0f8663734e5363fd981807173faf3a017e202fec9"}, - {file = "aiohttp-3.8.6-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2d5b785c792802e7b275c420d84f3397668e9d49ab1cb52bd916b3b3ffcf09ad"}, - {file = "aiohttp-3.8.6-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1bed815f3dc3d915c5c1e556c397c8667826fbc1b935d95b0ad680787896a358"}, - {file = "aiohttp-3.8.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:96603a562b546632441926cd1293cfcb5b69f0b4159e6077f7c7dbdfb686af4d"}, - {file = "aiohttp-3.8.6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d76e8b13161a202d14c9584590c4df4d068c9567c99506497bdd67eaedf36403"}, - {file = "aiohttp-3.8.6-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e3f1e3f1a1751bb62b4a1b7f4e435afcdade6c17a4fd9b9d43607cebd242924a"}, - {file = "aiohttp-3.8.6-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:76b36b3124f0223903609944a3c8bf28a599b2cc0ce0be60b45211c8e9be97f8"}, - {file = "aiohttp-3.8.6-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:a2ece4af1f3c967a4390c284797ab595a9f1bc1130ef8b01828915a05a6ae684"}, - {file = "aiohttp-3.8.6-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:16d330b3b9db87c3883e565340d292638a878236418b23cc8b9b11a054aaa887"}, - {file = "aiohttp-3.8.6-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:42c89579f82e49db436b69c938ab3e1559e5a4409eb8639eb4143989bc390f2f"}, - {file = "aiohttp-3.8.6-cp311-cp311-win32.whl", hash = "sha256:efd2fcf7e7b9d7ab16e6b7d54205beded0a9c8566cb30f09c1abe42b4e22bdcb"}, - {file = "aiohttp-3.8.6-cp311-cp311-win_amd64.whl", hash = "sha256:3b2ab182fc28e7a81f6c70bfbd829045d9480063f5ab06f6e601a3eddbbd49a0"}, - {file = "aiohttp-3.8.6-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:fdee8405931b0615220e5ddf8cd7edd8592c606a8e4ca2a00704883c396e4479"}, - {file = "aiohttp-3.8.6-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d25036d161c4fe2225d1abff2bd52c34ed0b1099f02c208cd34d8c05729882f0"}, - {file = "aiohttp-3.8.6-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5d791245a894be071d5ab04bbb4850534261a7d4fd363b094a7b9963e8cdbd31"}, - {file = "aiohttp-3.8.6-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0cccd1de239afa866e4ce5c789b3032442f19c261c7d8a01183fd956b1935349"}, - {file = "aiohttp-3.8.6-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1f13f60d78224f0dace220d8ab4ef1dbc37115eeeab8c06804fec11bec2bbd07"}, - {file = "aiohttp-3.8.6-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8a9b5a0606faca4f6cc0d338359d6fa137104c337f489cd135bb7fbdbccb1e39"}, - {file = "aiohttp-3.8.6-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:13da35c9ceb847732bf5c6c5781dcf4780e14392e5d3b3c689f6d22f8e15ae31"}, - {file = "aiohttp-3.8.6-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:4d4cbe4ffa9d05f46a28252efc5941e0462792930caa370a6efaf491f412bc66"}, - {file = "aiohttp-3.8.6-cp36-cp36m-musllinux_1_1_ppc64le.whl", hash = "sha256:229852e147f44da0241954fc6cb910ba074e597f06789c867cb7fb0621e0ba7a"}, - {file = "aiohttp-3.8.6-cp36-cp36m-musllinux_1_1_s390x.whl", hash = "sha256:713103a8bdde61d13490adf47171a1039fd880113981e55401a0f7b42c37d071"}, - {file = "aiohttp-3.8.6-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:45ad816b2c8e3b60b510f30dbd37fe74fd4a772248a52bb021f6fd65dff809b6"}, - {file = "aiohttp-3.8.6-cp36-cp36m-win32.whl", hash = "sha256:2b8d4e166e600dcfbff51919c7a3789ff6ca8b3ecce16e1d9c96d95dd569eb4c"}, - {file = "aiohttp-3.8.6-cp36-cp36m-win_amd64.whl", hash = "sha256:0912ed87fee967940aacc5306d3aa8ba3a459fcd12add0b407081fbefc931e53"}, - {file = "aiohttp-3.8.6-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:e2a988a0c673c2e12084f5e6ba3392d76c75ddb8ebc6c7e9ead68248101cd446"}, - {file = "aiohttp-3.8.6-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ebf3fd9f141700b510d4b190094db0ce37ac6361a6806c153c161dc6c041ccda"}, - {file = "aiohttp-3.8.6-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3161ce82ab85acd267c8f4b14aa226047a6bee1e4e6adb74b798bd42c6ae1f80"}, - {file = "aiohttp-3.8.6-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d95fc1bf33a9a81469aa760617b5971331cdd74370d1214f0b3109272c0e1e3c"}, - {file = "aiohttp-3.8.6-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c43ecfef7deaf0617cee936836518e7424ee12cb709883f2c9a1adda63cc460"}, - {file = "aiohttp-3.8.6-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ca80e1b90a05a4f476547f904992ae81eda5c2c85c66ee4195bb8f9c5fb47f28"}, - {file = "aiohttp-3.8.6-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:90c72ebb7cb3a08a7f40061079817133f502a160561d0675b0a6adf231382c92"}, - {file = "aiohttp-3.8.6-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:bb54c54510e47a8c7c8e63454a6acc817519337b2b78606c4e840871a3e15349"}, - {file = "aiohttp-3.8.6-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:de6a1c9f6803b90e20869e6b99c2c18cef5cc691363954c93cb9adeb26d9f3ae"}, - {file = "aiohttp-3.8.6-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:a3628b6c7b880b181a3ae0a0683698513874df63783fd89de99b7b7539e3e8a8"}, - {file = "aiohttp-3.8.6-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:fc37e9aef10a696a5a4474802930079ccfc14d9f9c10b4662169671ff034b7df"}, - {file = "aiohttp-3.8.6-cp37-cp37m-win32.whl", hash = "sha256:f8ef51e459eb2ad8e7a66c1d6440c808485840ad55ecc3cafefadea47d1b1ba2"}, - {file = "aiohttp-3.8.6-cp37-cp37m-win_amd64.whl", hash = "sha256:b2fe42e523be344124c6c8ef32a011444e869dc5f883c591ed87f84339de5976"}, - {file = "aiohttp-3.8.6-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:9e2ee0ac5a1f5c7dd3197de309adfb99ac4617ff02b0603fd1e65b07dc772e4b"}, - {file = "aiohttp-3.8.6-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:01770d8c04bd8db568abb636c1fdd4f7140b284b8b3e0b4584f070180c1e5c62"}, - {file = "aiohttp-3.8.6-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:3c68330a59506254b556b99a91857428cab98b2f84061260a67865f7f52899f5"}, - {file = "aiohttp-3.8.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:89341b2c19fb5eac30c341133ae2cc3544d40d9b1892749cdd25892bbc6ac951"}, - {file = "aiohttp-3.8.6-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:71783b0b6455ac8f34b5ec99d83e686892c50498d5d00b8e56d47f41b38fbe04"}, - {file = "aiohttp-3.8.6-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f628dbf3c91e12f4d6c8b3f092069567d8eb17814aebba3d7d60c149391aee3a"}, - {file = "aiohttp-3.8.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b04691bc6601ef47c88f0255043df6f570ada1a9ebef99c34bd0b72866c217ae"}, - {file = "aiohttp-3.8.6-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7ee912f7e78287516df155f69da575a0ba33b02dd7c1d6614dbc9463f43066e3"}, - {file = "aiohttp-3.8.6-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:9c19b26acdd08dd239e0d3669a3dddafd600902e37881f13fbd8a53943079dbc"}, - {file = "aiohttp-3.8.6-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:99c5ac4ad492b4a19fc132306cd57075c28446ec2ed970973bbf036bcda1bcc6"}, - {file = "aiohttp-3.8.6-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:f0f03211fd14a6a0aed2997d4b1c013d49fb7b50eeb9ffdf5e51f23cfe2c77fa"}, - {file = "aiohttp-3.8.6-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:8d399dade330c53b4106160f75f55407e9ae7505263ea86f2ccca6bfcbdb4921"}, - {file = "aiohttp-3.8.6-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:ec4fd86658c6a8964d75426517dc01cbf840bbf32d055ce64a9e63a40fd7b771"}, - {file = "aiohttp-3.8.6-cp38-cp38-win32.whl", hash = "sha256:33164093be11fcef3ce2571a0dccd9041c9a93fa3bde86569d7b03120d276c6f"}, - {file = "aiohttp-3.8.6-cp38-cp38-win_amd64.whl", hash = "sha256:bdf70bfe5a1414ba9afb9d49f0c912dc524cf60141102f3a11143ba3d291870f"}, - {file = "aiohttp-3.8.6-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:d52d5dc7c6682b720280f9d9db41d36ebe4791622c842e258c9206232251ab2b"}, - {file = "aiohttp-3.8.6-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4ac39027011414dbd3d87f7edb31680e1f430834c8cef029f11c66dad0670aa5"}, - {file = "aiohttp-3.8.6-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3f5c7ce535a1d2429a634310e308fb7d718905487257060e5d4598e29dc17f0b"}, - {file = "aiohttp-3.8.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b30e963f9e0d52c28f284d554a9469af073030030cef8693106d918b2ca92f54"}, - {file = "aiohttp-3.8.6-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:918810ef188f84152af6b938254911055a72e0f935b5fbc4c1a4ed0b0584aed1"}, - {file = "aiohttp-3.8.6-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:002f23e6ea8d3dd8d149e569fd580c999232b5fbc601c48d55398fbc2e582e8c"}, - {file = "aiohttp-3.8.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4fcf3eabd3fd1a5e6092d1242295fa37d0354b2eb2077e6eb670accad78e40e1"}, - {file = "aiohttp-3.8.6-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:255ba9d6d5ff1a382bb9a578cd563605aa69bec845680e21c44afc2670607a95"}, - {file = "aiohttp-3.8.6-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d67f8baed00870aa390ea2590798766256f31dc5ed3ecc737debb6e97e2ede78"}, - {file = "aiohttp-3.8.6-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:86f20cee0f0a317c76573b627b954c412ea766d6ada1a9fcf1b805763ae7feeb"}, - {file = "aiohttp-3.8.6-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:39a312d0e991690ccc1a61f1e9e42daa519dcc34ad03eb6f826d94c1190190dd"}, - {file = "aiohttp-3.8.6-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:e827d48cf802de06d9c935088c2924e3c7e7533377d66b6f31ed175c1620e05e"}, - {file = "aiohttp-3.8.6-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:bd111d7fc5591ddf377a408ed9067045259ff2770f37e2d94e6478d0f3fc0c17"}, - {file = "aiohttp-3.8.6-cp39-cp39-win32.whl", hash = "sha256:caf486ac1e689dda3502567eb89ffe02876546599bbf915ec94b1fa424eeffd4"}, - {file = "aiohttp-3.8.6-cp39-cp39-win_amd64.whl", hash = "sha256:3f0e27e5b733803333bb2371249f41cf42bae8884863e8e8965ec69bebe53132"}, - {file = "aiohttp-3.8.6.tar.gz", hash = "sha256:b0cf2a4501bff9330a8a5248b4ce951851e415bdcce9dc158e76cfd55e15085c"}, + {file = "aiohttp-3.9.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:fcde4c397f673fdec23e6b05ebf8d4751314fa7c24f93334bf1f1364c1c69ac7"}, + {file = "aiohttp-3.9.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5d6b3f1fabe465e819aed2c421a6743d8debbde79b6a8600739300630a01bf2c"}, + {file = "aiohttp-3.9.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6ae79c1bc12c34082d92bf9422764f799aee4746fd7a392db46b7fd357d4a17a"}, + {file = "aiohttp-3.9.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4d3ebb9e1316ec74277d19c5f482f98cc65a73ccd5430540d6d11682cd857430"}, + {file = "aiohttp-3.9.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:84dabd95154f43a2ea80deffec9cb44d2e301e38a0c9d331cc4aa0166fe28ae3"}, + {file = "aiohttp-3.9.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c8a02fbeca6f63cb1f0475c799679057fc9268b77075ab7cf3f1c600e81dd46b"}, + {file = "aiohttp-3.9.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c26959ca7b75ff768e2776d8055bf9582a6267e24556bb7f7bd29e677932be72"}, + {file = "aiohttp-3.9.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:714d4e5231fed4ba2762ed489b4aec07b2b9953cf4ee31e9871caac895a839c0"}, + {file = "aiohttp-3.9.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e7a6a8354f1b62e15d48e04350f13e726fa08b62c3d7b8401c0a1314f02e3558"}, + {file = "aiohttp-3.9.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:c413016880e03e69d166efb5a1a95d40f83d5a3a648d16486592c49ffb76d0db"}, + {file = "aiohttp-3.9.5-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:ff84aeb864e0fac81f676be9f4685f0527b660f1efdc40dcede3c251ef1e867f"}, + {file = "aiohttp-3.9.5-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:ad7f2919d7dac062f24d6f5fe95d401597fbb015a25771f85e692d043c9d7832"}, + {file = "aiohttp-3.9.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:702e2c7c187c1a498a4e2b03155d52658fdd6fda882d3d7fbb891a5cf108bb10"}, + {file = "aiohttp-3.9.5-cp310-cp310-win32.whl", hash = "sha256:67c3119f5ddc7261d47163ed86d760ddf0e625cd6246b4ed852e82159617b5fb"}, + {file = "aiohttp-3.9.5-cp310-cp310-win_amd64.whl", hash = "sha256:471f0ef53ccedec9995287f02caf0c068732f026455f07db3f01a46e49d76bbb"}, + {file = "aiohttp-3.9.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:e0ae53e33ee7476dd3d1132f932eeb39bf6125083820049d06edcdca4381f342"}, + {file = "aiohttp-3.9.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c088c4d70d21f8ca5c0b8b5403fe84a7bc8e024161febdd4ef04575ef35d474d"}, + {file = "aiohttp-3.9.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:639d0042b7670222f33b0028de6b4e2fad6451462ce7df2af8aee37dcac55424"}, + {file = "aiohttp-3.9.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f26383adb94da5e7fb388d441bf09c61e5e35f455a3217bfd790c6b6bc64b2ee"}, + {file = "aiohttp-3.9.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:66331d00fb28dc90aa606d9a54304af76b335ae204d1836f65797d6fe27f1ca2"}, + {file = "aiohttp-3.9.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4ff550491f5492ab5ed3533e76b8567f4b37bd2995e780a1f46bca2024223233"}, + {file = "aiohttp-3.9.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f22eb3a6c1080d862befa0a89c380b4dafce29dc6cd56083f630073d102eb595"}, + {file = "aiohttp-3.9.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a81b1143d42b66ffc40a441379387076243ef7b51019204fd3ec36b9f69e77d6"}, + {file = "aiohttp-3.9.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:f64fd07515dad67f24b6ea4a66ae2876c01031de91c93075b8093f07c0a2d93d"}, + {file = "aiohttp-3.9.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:93e22add827447d2e26d67c9ac0161756007f152fdc5210277d00a85f6c92323"}, + {file = "aiohttp-3.9.5-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:55b39c8684a46e56ef8c8d24faf02de4a2b2ac60d26cee93bc595651ff545de9"}, + {file = "aiohttp-3.9.5-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:4715a9b778f4293b9f8ae7a0a7cef9829f02ff8d6277a39d7f40565c737d3771"}, + {file = "aiohttp-3.9.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:afc52b8d969eff14e069a710057d15ab9ac17cd4b6753042c407dcea0e40bf75"}, + {file = "aiohttp-3.9.5-cp311-cp311-win32.whl", hash = "sha256:b3df71da99c98534be076196791adca8819761f0bf6e08e07fd7da25127150d6"}, + {file = "aiohttp-3.9.5-cp311-cp311-win_amd64.whl", hash = "sha256:88e311d98cc0bf45b62fc46c66753a83445f5ab20038bcc1b8a1cc05666f428a"}, + {file = "aiohttp-3.9.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:c7a4b7a6cf5b6eb11e109a9755fd4fda7d57395f8c575e166d363b9fc3ec4678"}, + {file = "aiohttp-3.9.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:0a158704edf0abcac8ac371fbb54044f3270bdbc93e254a82b6c82be1ef08f3c"}, + {file = "aiohttp-3.9.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d153f652a687a8e95ad367a86a61e8d53d528b0530ef382ec5aaf533140ed00f"}, + {file = "aiohttp-3.9.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:82a6a97d9771cb48ae16979c3a3a9a18b600a8505b1115cfe354dfb2054468b4"}, + {file = "aiohttp-3.9.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:60cdbd56f4cad9f69c35eaac0fbbdf1f77b0ff9456cebd4902f3dd1cf096464c"}, + {file = "aiohttp-3.9.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8676e8fd73141ded15ea586de0b7cda1542960a7b9ad89b2b06428e97125d4fa"}, + {file = "aiohttp-3.9.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:da00da442a0e31f1c69d26d224e1efd3a1ca5bcbf210978a2ca7426dfcae9f58"}, + {file = "aiohttp-3.9.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:18f634d540dd099c262e9f887c8bbacc959847cfe5da7a0e2e1cf3f14dbf2daf"}, + {file = "aiohttp-3.9.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:320e8618eda64e19d11bdb3bd04ccc0a816c17eaecb7e4945d01deee2a22f95f"}, + {file = "aiohttp-3.9.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:2faa61a904b83142747fc6a6d7ad8fccff898c849123030f8e75d5d967fd4a81"}, + {file = "aiohttp-3.9.5-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:8c64a6dc3fe5db7b1b4d2b5cb84c4f677768bdc340611eca673afb7cf416ef5a"}, + {file = "aiohttp-3.9.5-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:393c7aba2b55559ef7ab791c94b44f7482a07bf7640d17b341b79081f5e5cd1a"}, + {file = "aiohttp-3.9.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:c671dc117c2c21a1ca10c116cfcd6e3e44da7fcde37bf83b2be485ab377b25da"}, + {file = "aiohttp-3.9.5-cp312-cp312-win32.whl", hash = "sha256:5a7ee16aab26e76add4afc45e8f8206c95d1d75540f1039b84a03c3b3800dd59"}, + {file = "aiohttp-3.9.5-cp312-cp312-win_amd64.whl", hash = "sha256:5ca51eadbd67045396bc92a4345d1790b7301c14d1848feaac1d6a6c9289e888"}, + {file = "aiohttp-3.9.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:694d828b5c41255e54bc2dddb51a9f5150b4eefa9886e38b52605a05d96566e8"}, + {file = "aiohttp-3.9.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0605cc2c0088fcaae79f01c913a38611ad09ba68ff482402d3410bf59039bfb8"}, + {file = "aiohttp-3.9.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4558e5012ee03d2638c681e156461d37b7a113fe13970d438d95d10173d25f78"}, + {file = "aiohttp-3.9.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9dbc053ac75ccc63dc3a3cc547b98c7258ec35a215a92bd9f983e0aac95d3d5b"}, + {file = "aiohttp-3.9.5-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4109adee842b90671f1b689901b948f347325045c15f46b39797ae1bf17019de"}, + {file = "aiohttp-3.9.5-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a6ea1a5b409a85477fd8e5ee6ad8f0e40bf2844c270955e09360418cfd09abac"}, + {file = "aiohttp-3.9.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3c2890ca8c59ee683fd09adf32321a40fe1cf164e3387799efb2acebf090c11"}, + {file = "aiohttp-3.9.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3916c8692dbd9d55c523374a3b8213e628424d19116ac4308e434dbf6d95bbdd"}, + {file = "aiohttp-3.9.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:8d1964eb7617907c792ca00b341b5ec3e01ae8c280825deadbbd678447b127e1"}, + {file = "aiohttp-3.9.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:d5ab8e1f6bee051a4bf6195e38a5c13e5e161cb7bad83d8854524798bd9fcd6e"}, + {file = "aiohttp-3.9.5-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:52c27110f3862a1afbcb2af4281fc9fdc40327fa286c4625dfee247c3ba90156"}, + {file = "aiohttp-3.9.5-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:7f64cbd44443e80094309875d4f9c71d0401e966d191c3d469cde4642bc2e031"}, + {file = "aiohttp-3.9.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8b4f72fbb66279624bfe83fd5eb6aea0022dad8eec62b71e7bf63ee1caadeafe"}, + {file = "aiohttp-3.9.5-cp38-cp38-win32.whl", hash = "sha256:6380c039ec52866c06d69b5c7aad5478b24ed11696f0e72f6b807cfb261453da"}, + {file = "aiohttp-3.9.5-cp38-cp38-win_amd64.whl", hash = "sha256:da22dab31d7180f8c3ac7c7635f3bcd53808f374f6aa333fe0b0b9e14b01f91a"}, + {file = "aiohttp-3.9.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:1732102949ff6087589408d76cd6dea656b93c896b011ecafff418c9661dc4ed"}, + {file = "aiohttp-3.9.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:c6021d296318cb6f9414b48e6a439a7f5d1f665464da507e8ff640848ee2a58a"}, + {file = "aiohttp-3.9.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:239f975589a944eeb1bad26b8b140a59a3a320067fb3cd10b75c3092405a1372"}, + {file = "aiohttp-3.9.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3b7b30258348082826d274504fbc7c849959f1989d86c29bc355107accec6cfb"}, + {file = "aiohttp-3.9.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cd2adf5c87ff6d8b277814a28a535b59e20bfea40a101db6b3bdca7e9926bc24"}, + {file = "aiohttp-3.9.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e9a3d838441bebcf5cf442700e3963f58b5c33f015341f9ea86dcd7d503c07e2"}, + {file = "aiohttp-3.9.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9e3a1ae66e3d0c17cf65c08968a5ee3180c5a95920ec2731f53343fac9bad106"}, + {file = "aiohttp-3.9.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9c69e77370cce2d6df5d12b4e12bdcca60c47ba13d1cbbc8645dd005a20b738b"}, + {file = "aiohttp-3.9.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0cbf56238f4bbf49dab8c2dc2e6b1b68502b1e88d335bea59b3f5b9f4c001475"}, + {file = "aiohttp-3.9.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:d1469f228cd9ffddd396d9948b8c9cd8022b6d1bf1e40c6f25b0fb90b4f893ed"}, + {file = "aiohttp-3.9.5-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:45731330e754f5811c314901cebdf19dd776a44b31927fa4b4dbecab9e457b0c"}, + {file = "aiohttp-3.9.5-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:3fcb4046d2904378e3aeea1df51f697b0467f2aac55d232c87ba162709478c46"}, + {file = "aiohttp-3.9.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8cf142aa6c1a751fcb364158fd710b8a9be874b81889c2bd13aa8893197455e2"}, + {file = "aiohttp-3.9.5-cp39-cp39-win32.whl", hash = "sha256:7b179eea70833c8dee51ec42f3b4097bd6370892fa93f510f76762105568cf09"}, + {file = "aiohttp-3.9.5-cp39-cp39-win_amd64.whl", hash = "sha256:38d80498e2e169bc61418ff36170e0aad0cd268da8b38a17c4cf29d254a8b3f1"}, + {file = "aiohttp-3.9.5.tar.gz", hash = "sha256:edea7d15772ceeb29db4aff55e482d4bcfb6ae160ce144f2682de02f6d693551"}, ] [package.dependencies] aiosignal = ">=1.1.2" -async-timeout = ">=4.0.0a3,<5.0" +async-timeout = {version = ">=4.0,<5.0", markers = "python_version < \"3.11\""} attrs = ">=17.3.0" -charset-normalizer = ">=2.0,<4.0" frozenlist = ">=1.1.1" multidict = ">=4.5,<7.0" yarl = ">=1.0,<2.0" [package.extras] -speedups = ["Brotli", "aiodns", "cchardet"] - -[[package]] -name = "aiohttp-swagger" -version = "1.0.16" -description = "Swagger API Documentation builder for aiohttp server" -category = "dev" -optional = false -python-versions = "*" -files = [ - {file = "aiohttp-swagger-1.0.16.tar.gz", hash = "sha256:48e5d9e9a9ece13afd67ab37209c01fbd2b691694559b08141e4a89f8a28b126"}, - {file = "aiohttp_swagger-1.0.16-py3-none-any.whl", hash = "sha256:96ada287da3fb4ed47c0a9853d565ba500a17e4230bcaafda0e8bb66974787e9"}, -] - -[package.dependencies] -aiohttp = ">=2.3.10" -jinja2 = ">=2.11.2" -pyYAML = ">=5.1" - -[package.extras] -performance = ["ujson"] +speedups = ["Brotli", "aiodns", "brotlicffi"] [[package]] name = "aiosignal" version = "1.3.1" description = "aiosignal: a list of registered asynchronous callbacks" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -160,7 +125,6 @@ frozenlist = ">=1.1.0" name = "async-lru" version = "2.0.4" description = "Simple LRU cache for asyncio" -category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -175,7 +139,6 @@ typing-extensions = {version = ">=4.0.0", markers = "python_version < \"3.11\""} name = "async-timeout" version = "4.0.3" description = "Timeout context manager for asyncio programs" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -183,65 +146,74 @@ files = [ {file = "async_timeout-4.0.3-py3-none-any.whl", hash = "sha256:7405140ff1230c310e51dc27b3145b9092d659ce68ff733fb0cefe3ee42be028"}, ] -[[package]] -name = "atomicwrites" -version = "1.4.1" -description = "Atomic file writes." -category = "dev" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -files = [ - {file = "atomicwrites-1.4.1.tar.gz", hash = "sha256:81b2c9071a49367a7f770170e5eec8cb66567cfbbc8c73d20ce5ca4a8d71cf11"}, -] - [[package]] name = "attrs" -version = "23.1.0" +version = "23.2.0" description = "Classes Without Boilerplate" -category = "dev" optional = false python-versions = ">=3.7" files = [ - {file = "attrs-23.1.0-py3-none-any.whl", hash = "sha256:1f28b4522cdc2fb4256ac1a020c78acf9cba2c6b461ccd2c126f3aa8e8335d04"}, - {file = "attrs-23.1.0.tar.gz", hash = "sha256:6279836d581513a26f1bf235f9acd333bc9115683f14f7e8fae46c98fc50e015"}, + {file = "attrs-23.2.0-py3-none-any.whl", hash = "sha256:99b87a485a5820b23b879f04c2305b44b951b502fd64be915879d77a7e8fc6f1"}, + {file = "attrs-23.2.0.tar.gz", hash = "sha256:935dc3b529c262f6cf76e50877d35a4bd3c1de194fd41f47a2b7ae8f19971f30"}, ] [package.extras] cov = ["attrs[tests]", "coverage[toml] (>=5.3)"] -dev = ["attrs[docs,tests]", "pre-commit"] +dev = ["attrs[tests]", "pre-commit"] docs = ["furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier", "zope-interface"] tests = ["attrs[tests-no-zope]", "zope-interface"] -tests-no-zope = ["cloudpickle", "hypothesis", "mypy (>=1.1.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] +tests-mypy = ["mypy (>=1.6)", "pytest-mypy-plugins"] +tests-no-zope = ["attrs[tests-mypy]", "cloudpickle", "hypothesis", "pympler", "pytest (>=4.3.0)", "pytest-xdist[psutil]"] + +[[package]] +name = "backports-tarfile" +version = "1.2.0" +description = "Backport of CPython tarfile module" +optional = false +python-versions = ">=3.8" +files = [ + {file = "backports.tarfile-1.2.0-py3-none-any.whl", hash = "sha256:77e284d754527b01fb1e6fa8a1afe577858ebe4e9dad8919e34c862cb399bc34"}, + {file = "backports_tarfile-1.2.0.tar.gz", hash = "sha256:d75e02c268746e1b8144c278978b6e98e85de6ad16f8e4b0844a154557eca991"}, +] + +[package.extras] +docs = ["furo", "jaraco.packaging (>=9.3)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +testing = ["jaraco.test", "pytest (!=8.0.*)", "pytest (>=6,!=8.1.*)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)"] [[package]] name = "bcrypt" -version = "4.0.1" +version = "4.1.3" description = "Modern password hashing for your software and your servers" -category = "main" optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" files = [ - {file = "bcrypt-4.0.1-cp36-abi3-macosx_10_10_universal2.whl", hash = "sha256:b1023030aec778185a6c16cf70f359cbb6e0c289fd564a7cfa29e727a1c38f8f"}, - {file = "bcrypt-4.0.1-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:08d2947c490093a11416df18043c27abe3921558d2c03e2076ccb28a116cb6d0"}, - {file = "bcrypt-4.0.1-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0eaa47d4661c326bfc9d08d16debbc4edf78778e6aaba29c1bc7ce67214d4410"}, - {file = "bcrypt-4.0.1-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ae88eca3024bb34bb3430f964beab71226e761f51b912de5133470b649d82344"}, - {file = "bcrypt-4.0.1-cp36-abi3-manylinux_2_24_x86_64.whl", hash = "sha256:a522427293d77e1c29e303fc282e2d71864579527a04ddcfda6d4f8396c6c36a"}, - {file = "bcrypt-4.0.1-cp36-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:fbdaec13c5105f0c4e5c52614d04f0bca5f5af007910daa8b6b12095edaa67b3"}, - {file = "bcrypt-4.0.1-cp36-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:ca3204d00d3cb2dfed07f2d74a25f12fc12f73e606fcaa6975d1f7ae69cacbb2"}, - {file = "bcrypt-4.0.1-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:089098effa1bc35dc055366740a067a2fc76987e8ec75349eb9484061c54f535"}, - {file = "bcrypt-4.0.1-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:e9a51bbfe7e9802b5f3508687758b564069ba937748ad7b9e890086290d2f79e"}, - {file = "bcrypt-4.0.1-cp36-abi3-win32.whl", hash = "sha256:2caffdae059e06ac23fce178d31b4a702f2a3264c20bfb5ff541b338194d8fab"}, - {file = "bcrypt-4.0.1-cp36-abi3-win_amd64.whl", hash = "sha256:8a68f4341daf7522fe8d73874de8906f3a339048ba406be6ddc1b3ccb16fc0d9"}, - {file = "bcrypt-4.0.1-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf4fa8b2ca74381bb5442c089350f09a3f17797829d958fad058d6e44d9eb83c"}, - {file = "bcrypt-4.0.1-pp37-pypy37_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:67a97e1c405b24f19d08890e7ae0c4f7ce1e56a712a016746c8b2d7732d65d4b"}, - {file = "bcrypt-4.0.1-pp37-pypy37_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:b3b85202d95dd568efcb35b53936c5e3b3600c7cdcc6115ba461df3a8e89f38d"}, - {file = "bcrypt-4.0.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cbb03eec97496166b704ed663a53680ab57c5084b2fc98ef23291987b525cb7d"}, - {file = "bcrypt-4.0.1-pp38-pypy38_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:5ad4d32a28b80c5fa6671ccfb43676e8c1cc232887759d1cd7b6f56ea4355215"}, - {file = "bcrypt-4.0.1-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:b57adba8a1444faf784394de3436233728a1ecaeb6e07e8c22c8848f179b893c"}, - {file = "bcrypt-4.0.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:705b2cea8a9ed3d55b4491887ceadb0106acf7c6387699fca771af56b1cdeeda"}, - {file = "bcrypt-4.0.1-pp39-pypy39_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:2b3ac11cf45161628f1f3733263e63194f22664bf4d0c0f3ab34099c02134665"}, - {file = "bcrypt-4.0.1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:3100851841186c25f127731b9fa11909ab7b1df6fc4b9f8353f4f1fd952fbf71"}, - {file = "bcrypt-4.0.1.tar.gz", hash = "sha256:27d375903ac8261cfe4047f6709d16f7d18d39b1ec92aaf72af989552a650ebd"}, + {file = "bcrypt-4.1.3-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:48429c83292b57bf4af6ab75809f8f4daf52aa5d480632e53707805cc1ce9b74"}, + {file = "bcrypt-4.1.3-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4a8bea4c152b91fd8319fef4c6a790da5c07840421c2b785084989bf8bbb7455"}, + {file = "bcrypt-4.1.3-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d3b317050a9a711a5c7214bf04e28333cf528e0ed0ec9a4e55ba628d0f07c1a"}, + {file = "bcrypt-4.1.3-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:094fd31e08c2b102a14880ee5b3d09913ecf334cd604af27e1013c76831f7b05"}, + {file = "bcrypt-4.1.3-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:4fb253d65da30d9269e0a6f4b0de32bd657a0208a6f4e43d3e645774fb5457f3"}, + {file = "bcrypt-4.1.3-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:193bb49eeeb9c1e2db9ba65d09dc6384edd5608d9d672b4125e9320af9153a15"}, + {file = "bcrypt-4.1.3-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:8cbb119267068c2581ae38790e0d1fbae65d0725247a930fc9900c285d95725d"}, + {file = "bcrypt-4.1.3-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:6cac78a8d42f9d120b3987f82252bdbeb7e6e900a5e1ba37f6be6fe4e3848286"}, + {file = "bcrypt-4.1.3-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:01746eb2c4299dd0ae1670234bf77704f581dd72cc180f444bfe74eb80495b64"}, + {file = "bcrypt-4.1.3-cp37-abi3-win32.whl", hash = "sha256:037c5bf7c196a63dcce75545c8874610c600809d5d82c305dd327cd4969995bf"}, + {file = "bcrypt-4.1.3-cp37-abi3-win_amd64.whl", hash = "sha256:8a893d192dfb7c8e883c4576813bf18bb9d59e2cfd88b68b725990f033f1b978"}, + {file = "bcrypt-4.1.3-cp39-abi3-macosx_10_12_universal2.whl", hash = "sha256:0d4cf6ef1525f79255ef048b3489602868c47aea61f375377f0d00514fe4a78c"}, + {file = "bcrypt-4.1.3-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f5698ce5292a4e4b9e5861f7e53b1d89242ad39d54c3da451a93cac17b61921a"}, + {file = "bcrypt-4.1.3-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec3c2e1ca3e5c4b9edb94290b356d082b721f3f50758bce7cce11d8a7c89ce84"}, + {file = "bcrypt-4.1.3-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:3a5be252fef513363fe281bafc596c31b552cf81d04c5085bc5dac29670faa08"}, + {file = "bcrypt-4.1.3-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:5f7cd3399fbc4ec290378b541b0cf3d4398e4737a65d0f938c7c0f9d5e686611"}, + {file = "bcrypt-4.1.3-cp39-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:c4c8d9b3e97209dd7111bf726e79f638ad9224b4691d1c7cfefa571a09b1b2d6"}, + {file = "bcrypt-4.1.3-cp39-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:31adb9cbb8737a581a843e13df22ffb7c84638342de3708a98d5c986770f2834"}, + {file = "bcrypt-4.1.3-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:551b320396e1d05e49cc18dd77d970accd52b322441628aca04801bbd1d52a73"}, + {file = "bcrypt-4.1.3-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:6717543d2c110a155e6821ce5670c1f512f602eabb77dba95717ca76af79867d"}, + {file = "bcrypt-4.1.3-cp39-abi3-win32.whl", hash = "sha256:6004f5229b50f8493c49232b8e75726b568535fd300e5039e255d919fc3a07f2"}, + {file = "bcrypt-4.1.3-cp39-abi3-win_amd64.whl", hash = "sha256:2505b54afb074627111b5a8dc9b6ae69d0f01fea65c2fcaea403448c503d3991"}, + {file = "bcrypt-4.1.3-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:cb9c707c10bddaf9e5ba7cdb769f3e889e60b7d4fea22834b261f51ca2b89fed"}, + {file = "bcrypt-4.1.3-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:9f8ea645eb94fb6e7bea0cf4ba121c07a3a182ac52876493870033141aa687bc"}, + {file = "bcrypt-4.1.3-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:f44a97780677e7ac0ca393bd7982b19dbbd8d7228c1afe10b128fd9550eef5f1"}, + {file = "bcrypt-4.1.3-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:d84702adb8f2798d813b17d8187d27076cca3cd52fe3686bb07a9083930ce650"}, + {file = "bcrypt-4.1.3.tar.gz", hash = "sha256:2ee15dd749f5952fe3f0430d0ff6b74082e159c50332a1413d51b5689cf06623"}, ] [package.extras] @@ -250,123 +222,135 @@ typecheck = ["mypy"] [[package]] name = "black" -version = "22.3.0" +version = "24.4.2" description = "The uncompromising code formatter." -category = "dev" -optional = false -python-versions = ">=3.6.2" -files = [ - {file = "black-22.3.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:2497f9c2386572e28921fa8bec7be3e51de6801f7459dffd6e62492531c47e09"}, - {file = "black-22.3.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5795a0375eb87bfe902e80e0c8cfaedf8af4d49694d69161e5bd3206c18618bb"}, - {file = "black-22.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e3556168e2e5c49629f7b0f377070240bd5511e45e25a4497bb0073d9dda776a"}, - {file = "black-22.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:67c8301ec94e3bcc8906740fe071391bce40a862b7be0b86fb5382beefecd968"}, - {file = "black-22.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:fd57160949179ec517d32ac2ac898b5f20d68ed1a9c977346efbac9c2f1e779d"}, - {file = "black-22.3.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:cc1e1de68c8e5444e8f94c3670bb48a2beef0e91dddfd4fcc29595ebd90bb9ce"}, - {file = "black-22.3.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d2fc92002d44746d3e7db7cf9313cf4452f43e9ea77a2c939defce3b10b5c82"}, - {file = "black-22.3.0-cp36-cp36m-win_amd64.whl", hash = "sha256:a6342964b43a99dbc72f72812bf88cad8f0217ae9acb47c0d4f141a6416d2d7b"}, - {file = "black-22.3.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:328efc0cc70ccb23429d6be184a15ce613f676bdfc85e5fe8ea2a9354b4e9015"}, - {file = "black-22.3.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:06f9d8846f2340dfac80ceb20200ea5d1b3f181dd0556b47af4e8e0b24fa0a6b"}, - {file = "black-22.3.0-cp37-cp37m-win_amd64.whl", hash = "sha256:ad4efa5fad66b903b4a5f96d91461d90b9507a812b3c5de657d544215bb7877a"}, - {file = "black-22.3.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:e8477ec6bbfe0312c128e74644ac8a02ca06bcdb8982d4ee06f209be28cdf163"}, - {file = "black-22.3.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:637a4014c63fbf42a692d22b55d8ad6968a946b4a6ebc385c5505d9625b6a464"}, - {file = "black-22.3.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:863714200ada56cbc366dc9ae5291ceb936573155f8bf8e9de92aef51f3ad0f0"}, - {file = "black-22.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:10dbe6e6d2988049b4655b2b739f98785a884d4d6b85bc35133a8fb9a2233176"}, - {file = "black-22.3.0-cp38-cp38-win_amd64.whl", hash = "sha256:cee3e11161dde1b2a33a904b850b0899e0424cc331b7295f2a9698e79f9a69a0"}, - {file = "black-22.3.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:5891ef8abc06576985de8fa88e95ab70641de6c1fca97e2a15820a9b69e51b20"}, - {file = "black-22.3.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:30d78ba6bf080eeaf0b7b875d924b15cd46fec5fd044ddfbad38c8ea9171043a"}, - {file = "black-22.3.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ee8f1f7228cce7dffc2b464f07ce769f478968bfb3dd1254a4c2eeed84928aad"}, - {file = "black-22.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6ee227b696ca60dd1c507be80a6bc849a5a6ab57ac7352aad1ffec9e8b805f21"}, - {file = "black-22.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:9b542ced1ec0ceeff5b37d69838106a6348e60db7b8fdd245294dc1d26136265"}, - {file = "black-22.3.0-py3-none-any.whl", hash = "sha256:bc58025940a896d7e5356952228b68f793cf5fcb342be703c3a2669a1488cb72"}, - {file = "black-22.3.0.tar.gz", hash = "sha256:35020b8886c022ced9282b51b5a875b6d1ab0c387b31a065b84db7c33085ca79"}, +optional = false +python-versions = ">=3.8" +files = [ + {file = "black-24.4.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:dd1b5a14e417189db4c7b64a6540f31730713d173f0b63e55fabd52d61d8fdce"}, + {file = "black-24.4.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8e537d281831ad0e71007dcdcbe50a71470b978c453fa41ce77186bbe0ed6021"}, + {file = "black-24.4.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eaea3008c281f1038edb473c1aa8ed8143a5535ff18f978a318f10302b254063"}, + {file = "black-24.4.2-cp310-cp310-win_amd64.whl", hash = "sha256:7768a0dbf16a39aa5e9a3ded568bb545c8c2727396d063bbaf847df05b08cd96"}, + {file = "black-24.4.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:257d724c2c9b1660f353b36c802ccece186a30accc7742c176d29c146df6e474"}, + {file = "black-24.4.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:bdde6f877a18f24844e381d45e9947a49e97933573ac9d4345399be37621e26c"}, + {file = "black-24.4.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e151054aa00bad1f4e1f04919542885f89f5f7d086b8a59e5000e6c616896ffb"}, + {file = "black-24.4.2-cp311-cp311-win_amd64.whl", hash = "sha256:7e122b1c4fb252fd85df3ca93578732b4749d9be076593076ef4d07a0233c3e1"}, + {file = "black-24.4.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:accf49e151c8ed2c0cdc528691838afd217c50412534e876a19270fea1e28e2d"}, + {file = "black-24.4.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:88c57dc656038f1ab9f92b3eb5335ee9b021412feaa46330d5eba4e51fe49b04"}, + {file = "black-24.4.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:be8bef99eb46d5021bf053114442914baeb3649a89dc5f3a555c88737e5e98fc"}, + {file = "black-24.4.2-cp312-cp312-win_amd64.whl", hash = "sha256:415e686e87dbbe6f4cd5ef0fbf764af7b89f9057b97c908742b6008cc554b9c0"}, + {file = "black-24.4.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:bf10f7310db693bb62692609b397e8d67257c55f949abde4c67f9cc574492cc7"}, + {file = "black-24.4.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:98e123f1d5cfd42f886624d84464f7756f60ff6eab89ae845210631714f6db94"}, + {file = "black-24.4.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:48a85f2cb5e6799a9ef05347b476cce6c182d6c71ee36925a6c194d074336ef8"}, + {file = "black-24.4.2-cp38-cp38-win_amd64.whl", hash = "sha256:b1530ae42e9d6d5b670a34db49a94115a64596bc77710b1d05e9801e62ca0a7c"}, + {file = "black-24.4.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:37aae07b029fa0174d39daf02748b379399b909652a806e5708199bd93899da1"}, + {file = "black-24.4.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:da33a1a5e49c4122ccdfd56cd021ff1ebc4a1ec4e2d01594fef9b6f267a9e741"}, + {file = "black-24.4.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ef703f83fc32e131e9bcc0a5094cfe85599e7109f896fe8bc96cc402f3eb4b6e"}, + {file = "black-24.4.2-cp39-cp39-win_amd64.whl", hash = "sha256:b9176b9832e84308818a99a561e90aa479e73c523b3f77afd07913380ae2eab7"}, + {file = "black-24.4.2-py3-none-any.whl", hash = "sha256:d36ed1124bb81b32f8614555b34cc4259c3fbc7eec17870e8ff8ded335b58d8c"}, + {file = "black-24.4.2.tar.gz", hash = "sha256:c872b53057f000085da66a19c55d68f6f8ddcac2642392ad3a355878406fbd4d"}, ] [package.dependencies] click = ">=8.0.0" mypy-extensions = ">=0.4.3" +packaging = ">=22.0" pathspec = ">=0.9.0" platformdirs = ">=2" tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} -typing-extensions = {version = ">=3.10.0.0", markers = "python_version < \"3.10\""} +typing-extensions = {version = ">=4.0.1", markers = "python_version < \"3.11\""} [package.extras] colorama = ["colorama (>=0.4.3)"] -d = ["aiohttp (>=3.7.4)"] +d = ["aiohttp (>=3.7.4)", "aiohttp (>=3.7.4,!=3.9.0)"] jupyter = ["ipython (>=7.8.0)", "tokenize-rt (>=3.2.0)"] uvloop = ["uvloop (>=0.15.2)"] [[package]] name = "certifi" -version = "2023.7.22" +version = "2024.7.4" description = "Python package for providing Mozilla's CA Bundle." -category = "dev" optional = false python-versions = ">=3.6" files = [ - {file = "certifi-2023.7.22-py3-none-any.whl", hash = "sha256:92d6037539857d8206b8f6ae472e8b77db8058fec5937a1ef3f54304089edbb9"}, - {file = "certifi-2023.7.22.tar.gz", hash = "sha256:539cc1d13202e33ca466e88b2807e29f4c13049d6d87031a3c110744495cb082"}, + {file = "certifi-2024.7.4-py3-none-any.whl", hash = "sha256:c198e21b1289c2ab85ee4e67bb4b4ef3ead0892059901a8d5b622f24a1101e90"}, + {file = "certifi-2024.7.4.tar.gz", hash = "sha256:5a1e7645bc0ec61a09e26c36f6106dd4cf40c6db3a1fb6352b0244e7fb057c7b"}, ] [[package]] name = "cffi" -version = "1.16.0" +version = "1.17.0rc1" description = "Foreign Function Interface for Python calling C code." -category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "cffi-1.16.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6b3d6606d369fc1da4fd8c357d026317fbb9c9b75d36dc16e90e84c26854b088"}, - {file = "cffi-1.16.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ac0f5edd2360eea2f1daa9e26a41db02dd4b0451b48f7c318e217ee092a213e9"}, - {file = "cffi-1.16.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7e61e3e4fa664a8588aa25c883eab612a188c725755afff6289454d6362b9673"}, - {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a72e8961a86d19bdb45851d8f1f08b041ea37d2bd8d4fd19903bc3083d80c896"}, - {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5b50bf3f55561dac5438f8e70bfcdfd74543fd60df5fa5f62d94e5867deca684"}, - {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7651c50c8c5ef7bdb41108b7b8c5a83013bfaa8a935590c5d74627c047a583c7"}, - {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e4108df7fe9b707191e55f33efbcb2d81928e10cea45527879a4749cbe472614"}, - {file = "cffi-1.16.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:32c68ef735dbe5857c810328cb2481e24722a59a2003018885514d4c09af9743"}, - {file = "cffi-1.16.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:673739cb539f8cdaa07d92d02efa93c9ccf87e345b9a0b556e3ecc666718468d"}, - {file = "cffi-1.16.0-cp310-cp310-win32.whl", hash = "sha256:9f90389693731ff1f659e55c7d1640e2ec43ff725cc61b04b2f9c6d8d017df6a"}, - {file = "cffi-1.16.0-cp310-cp310-win_amd64.whl", hash = "sha256:e6024675e67af929088fda399b2094574609396b1decb609c55fa58b028a32a1"}, - {file = "cffi-1.16.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b84834d0cf97e7d27dd5b7f3aca7b6e9263c56308ab9dc8aae9784abb774d404"}, - {file = "cffi-1.16.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1b8ebc27c014c59692bb2664c7d13ce7a6e9a629be20e54e7271fa696ff2b417"}, - {file = "cffi-1.16.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ee07e47c12890ef248766a6e55bd38ebfb2bb8edd4142d56db91b21ea68b7627"}, - {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8a9d3ebe49f084ad71f9269834ceccbf398253c9fac910c4fd7053ff1386936"}, - {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e70f54f1796669ef691ca07d046cd81a29cb4deb1e5f942003f401c0c4a2695d"}, - {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5bf44d66cdf9e893637896c7faa22298baebcd18d1ddb6d2626a6e39793a1d56"}, - {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7b78010e7b97fef4bee1e896df8a4bbb6712b7f05b7ef630f9d1da00f6444d2e"}, - {file = "cffi-1.16.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c6a164aa47843fb1b01e941d385aab7215563bb8816d80ff3a363a9f8448a8dc"}, - {file = "cffi-1.16.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e09f3ff613345df5e8c3667da1d918f9149bd623cd9070c983c013792a9a62eb"}, - {file = "cffi-1.16.0-cp311-cp311-win32.whl", hash = "sha256:2c56b361916f390cd758a57f2e16233eb4f64bcbeee88a4881ea90fca14dc6ab"}, - {file = "cffi-1.16.0-cp311-cp311-win_amd64.whl", hash = "sha256:db8e577c19c0fda0beb7e0d4e09e0ba74b1e4c092e0e40bfa12fe05b6f6d75ba"}, - {file = "cffi-1.16.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:fa3a0128b152627161ce47201262d3140edb5a5c3da88d73a1b790a959126956"}, - {file = "cffi-1.16.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:68e7c44931cc171c54ccb702482e9fc723192e88d25a0e133edd7aff8fcd1f6e"}, - {file = "cffi-1.16.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:abd808f9c129ba2beda4cfc53bde801e5bcf9d6e0f22f095e45327c038bfe68e"}, - {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88e2b3c14bdb32e440be531ade29d3c50a1a59cd4e51b1dd8b0865c54ea5d2e2"}, - {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fcc8eb6d5902bb1cf6dc4f187ee3ea80a1eba0a89aba40a5cb20a5087d961357"}, - {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b7be2d771cdba2942e13215c4e340bfd76398e9227ad10402a8767ab1865d2e6"}, - {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e715596e683d2ce000574bae5d07bd522c781a822866c20495e52520564f0969"}, - {file = "cffi-1.16.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:2d92b25dbf6cae33f65005baf472d2c245c050b1ce709cc4588cdcdd5495b520"}, - {file = "cffi-1.16.0-cp312-cp312-win32.whl", hash = "sha256:b2ca4e77f9f47c55c194982e10f058db063937845bb2b7a86c84a6cfe0aefa8b"}, - {file = "cffi-1.16.0-cp312-cp312-win_amd64.whl", hash = "sha256:68678abf380b42ce21a5f2abde8efee05c114c2fdb2e9eef2efdb0257fba1235"}, - {file = "cffi-1.16.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0c9ef6ff37e974b73c25eecc13952c55bceed9112be2d9d938ded8e856138bcc"}, - {file = "cffi-1.16.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a09582f178759ee8128d9270cd1344154fd473bb77d94ce0aeb2a93ebf0feaf0"}, - {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e760191dd42581e023a68b758769e2da259b5d52e3103c6060ddc02c9edb8d7b"}, - {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:80876338e19c951fdfed6198e70bc88f1c9758b94578d5a7c4c91a87af3cf31c"}, - {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a6a14b17d7e17fa0d207ac08642c8820f84f25ce17a442fd15e27ea18d67c59b"}, - {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6602bc8dc6f3a9e02b6c22c4fc1e47aa50f8f8e6d3f78a5e16ac33ef5fefa324"}, - {file = "cffi-1.16.0-cp38-cp38-win32.whl", hash = "sha256:131fd094d1065b19540c3d72594260f118b231090295d8c34e19a7bbcf2e860a"}, - {file = "cffi-1.16.0-cp38-cp38-win_amd64.whl", hash = "sha256:31d13b0f99e0836b7ff893d37af07366ebc90b678b6664c955b54561fc36ef36"}, - {file = "cffi-1.16.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:582215a0e9adbe0e379761260553ba11c58943e4bbe9c36430c4ca6ac74b15ed"}, - {file = "cffi-1.16.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b29ebffcf550f9da55bec9e02ad430c992a87e5f512cd63388abb76f1036d8d2"}, - {file = "cffi-1.16.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dc9b18bf40cc75f66f40a7379f6a9513244fe33c0e8aa72e2d56b0196a7ef872"}, - {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9cb4a35b3642fc5c005a6755a5d17c6c8b6bcb6981baf81cea8bfbc8903e8ba8"}, - {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b86851a328eedc692acf81fb05444bdf1891747c25af7529e39ddafaf68a4f3f"}, - {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c0f31130ebc2d37cdd8e44605fb5fa7ad59049298b3f745c74fa74c62fbfcfc4"}, - {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f8e709127c6c77446a8c0a8c8bf3c8ee706a06cd44b1e827c3e6a2ee6b8c098"}, - {file = "cffi-1.16.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:748dcd1e3d3d7cd5443ef03ce8685043294ad6bd7c02a38d1bd367cfd968e000"}, - {file = "cffi-1.16.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8895613bcc094d4a1b2dbe179d88d7fb4a15cee43c052e8885783fac397d91fe"}, - {file = "cffi-1.16.0-cp39-cp39-win32.whl", hash = "sha256:ed86a35631f7bfbb28e108dd96773b9d5a6ce4811cf6ea468bb6a359b256b1e4"}, - {file = "cffi-1.16.0-cp39-cp39-win_amd64.whl", hash = "sha256:3686dffb02459559c74dd3d81748269ffb0eb027c39a6fc99502de37d501faa8"}, - {file = "cffi-1.16.0.tar.gz", hash = "sha256:bcb3ef43e58665bbda2fb198698fcae6776483e0c4a631aa5647806c25e02cc0"}, + {file = "cffi-1.17.0rc1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b6f35a638639298d4f9dca59db1f7568860ea179ace42318d658698850f2f540"}, + {file = "cffi-1.17.0rc1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:bf62263af2a3fadaf992775e0e555d657546dee30d3ca8a2ed1559c90006d46e"}, + {file = "cffi-1.17.0rc1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1da24a9bf6fd9ab987a915887f0d3577d0a0b3946d582b776b380294dc5fce18"}, + {file = "cffi-1.17.0rc1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:157cfe06e48356a7552e68cb73976a710f2620a5f9eb25a5fe7066cf71601b68"}, + {file = "cffi-1.17.0rc1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e547a347a983bda467ae8d8b607d278cdf8a37bea735399d655c82cba3f5d725"}, + {file = "cffi-1.17.0rc1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1fee79745f50734490d3358f9cb6578f57850bb61287256115dda2a513abe3c6"}, + {file = "cffi-1.17.0rc1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f6e933e0118a97df454139ca84a28473a024429c7c1eb82619a56ef886b07583"}, + {file = "cffi-1.17.0rc1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:1db9f6fcf79e92ee2d193cd989dde4e1419193ff11eef4bcc00cb06293e22f4b"}, + {file = "cffi-1.17.0rc1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:3c4b0e03d0d9f3a31110994bf657076f3821ad1a88e2cdb7c3e43b4e4f96e7b0"}, + {file = "cffi-1.17.0rc1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:b57fa5d8a1a2cc960613e0e578867d21a018f4405e9bad31c7b0af2b14004f2b"}, + {file = "cffi-1.17.0rc1-cp310-cp310-win32.whl", hash = "sha256:3113951a250b021d2092e870fe86cd4292a633a786f7ece67200663406409659"}, + {file = "cffi-1.17.0rc1-cp310-cp310-win_amd64.whl", hash = "sha256:94af5cfe8eb0d2742435458b8c8708aeb88f17fb48372bc4dacb87671e1ba867"}, + {file = "cffi-1.17.0rc1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:98e89b4eabb3f98c7882016cb4c498bded7882ad655f80d7a9d23043a1d12d43"}, + {file = "cffi-1.17.0rc1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d1089e9654cbbeb4e3ba84caa5eb0a92371fcac6ba43b14514680d339068abed"}, + {file = "cffi-1.17.0rc1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:84269088c987aa34045ee808b8a3c5f44397403f1afeff65429cd7c9e123dc01"}, + {file = "cffi-1.17.0rc1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ffe885231b8b58f18149e9eaece2d556602aeb233161c069618bda31f3a30d04"}, + {file = "cffi-1.17.0rc1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3ea7190f834a5979e30bc4af334c031303a4f16f38216599645034751d683171"}, + {file = "cffi-1.17.0rc1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:85b997ce260a93010a72767c0f2f7c405524cada076792a9baad75cef435f293"}, + {file = "cffi-1.17.0rc1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:58463f9a28f4357f4a07a94fbb0dca91486f6948f19a4971e0bedd6292ef0394"}, + {file = "cffi-1.17.0rc1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:6df680dccdb5fcd257343532d5354c0059a6e5e4bc27b24a6a310cc51ba35a31"}, + {file = "cffi-1.17.0rc1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:319ec248b55d34a49d7a43c48f2cf922b526e5ad2a3988887cc822a0c226b983"}, + {file = "cffi-1.17.0rc1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:625eb8d8d377438cfbf64899e09969d20cd139019838a60644f05216f7c7767d"}, + {file = "cffi-1.17.0rc1-cp311-cp311-win32.whl", hash = "sha256:6a891c9e564527b4e65d65f87e3e989c3369329d04b39c49f279a91266287b85"}, + {file = "cffi-1.17.0rc1-cp311-cp311-win_amd64.whl", hash = "sha256:3745df375d5e66261295840fa219797251ff6a30afedfae650576ab2b10f43db"}, + {file = "cffi-1.17.0rc1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:ec95c379f5ebd92cd09e3e8183da9afee8c2da2544593fe091421ed2d757f3c1"}, + {file = "cffi-1.17.0rc1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:614afb2f32d5ea64a946643d798f3391d53bba868290e7433f4eaae7d1692e06"}, + {file = "cffi-1.17.0rc1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:35bd512b1a16723b8c50665c3fe83c80789f7e5599c8f0721ef145552b6853e7"}, + {file = "cffi-1.17.0rc1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9e39b8008534eedae1bde35d7cd5b71069f8aa7e6c079ae549a0de68299af43c"}, + {file = "cffi-1.17.0rc1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:730a92dd144eb89f69c7b61ba4e6ac48ee6a01ba92f70c17e277c3e2c49b253d"}, + {file = "cffi-1.17.0rc1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a4b7e94db6e6bc2582fa540175384070edbd63c61103b182f57be3a958c0b7ad"}, + {file = "cffi-1.17.0rc1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2e5562c744d495f838dc0fbe9cd76cff27ebea0a2e747dd84dd8a7e47bcd3c8f"}, + {file = "cffi-1.17.0rc1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:7e12962a21ba417611c7f9ae3e7f42d5354b68bf3c894af7796c171f6a965acf"}, + {file = "cffi-1.17.0rc1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:b3245d8073632f958cf239a198c0c3bed112a59d6ee2202e85367955b92794c6"}, + {file = "cffi-1.17.0rc1-cp312-cp312-win32.whl", hash = "sha256:e6c686d93378b18a7b26bbb376dab75716a72bd95c04b7f2cff9094ac66a4582"}, + {file = "cffi-1.17.0rc1-cp312-cp312-win_amd64.whl", hash = "sha256:ba993bea9f3195dc2f8dd9e3739f97f41eac5d71f5804d1ef87ee1283a13a280"}, + {file = "cffi-1.17.0rc1-cp313-cp313-macosx_10_9_x86_64.whl", hash = "sha256:9b5cb07680e7d3c522733d14fbc0cac0660b597a2e33d8bbd305537b65eb6a51"}, + {file = "cffi-1.17.0rc1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:e27ceb498d5a93f7fe833c5a3a85f8b9f0a4f1a182f1d37936e9ed31dda6926b"}, + {file = "cffi-1.17.0rc1-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:39b9131ed6c28f63132dee75d1fa5653436cb46fc7e6a097af29f32c7f5f8eca"}, + {file = "cffi-1.17.0rc1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a72748e56cd5edfc808c508da6e4b903225d1ed4c45463c28edf188ffea6d442"}, + {file = "cffi-1.17.0rc1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7249add87681d15f1a291e096f49350b28c44be958c5ca650d8c4dfbce3a458f"}, + {file = "cffi-1.17.0rc1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cfc1d8a64c44544a01b06b1688dca70433dc47e2d46f462c9ee6dc02ab233ba8"}, + {file = "cffi-1.17.0rc1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1c9f4df436f3780f2dbea2ff066cea0bb2f74425883bc5b098812768da2b34f7"}, + {file = "cffi-1.17.0rc1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:8e7b261c3ea000b9a7c4fd40dd54ec3749d4592808025261d82e82f6457e8b7f"}, + {file = "cffi-1.17.0rc1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:c82e1f580f3dd473a9d8b213071dfd8da07f7a433b04ba6be4773ada211d3fdb"}, + {file = "cffi-1.17.0rc1-cp313-cp313-win32.whl", hash = "sha256:205051765f126c1480d1eaf6268c644262bae3ed610423f0783349f04e7f5a6b"}, + {file = "cffi-1.17.0rc1-cp313-cp313-win_amd64.whl", hash = "sha256:98c7f31f55c4d0f9dba7da07bab8cd822cff6ac8dbea28ea8385e3a1e7074ac6"}, + {file = "cffi-1.17.0rc1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:475d2832950f9a65740aeb20d5baf6d84cf0d08a7063c8c6c407ec24cac41881"}, + {file = "cffi-1.17.0rc1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:98eaba1ed99a0a219cabe7d8bb716d9d87aeeb1b6f33792bcf84cc222c1a37b1"}, + {file = "cffi-1.17.0rc1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c207ccc9f2e459eab7952401dc9237e36d6b630b5020890736e6b18002a750f3"}, + {file = "cffi-1.17.0rc1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4f17c3cfc4a7a53693bda38ac1631f30ceb2430f4a038550f5515728592ccd6f"}, + {file = "cffi-1.17.0rc1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ca0dd9cfb6a3fd91d6f1de5a2e2ee7a0f4b5b753309ec4edce32d5505dbc9149"}, + {file = "cffi-1.17.0rc1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a33648455eefb348b265bd10764833ab7d5f3811912a90dcefc00328d548da0d"}, + {file = "cffi-1.17.0rc1-cp38-cp38-win32.whl", hash = "sha256:8fe736c2666e20090ae52af3b0297fb9273830f9d31f6041d7a8c7172fb6a566"}, + {file = "cffi-1.17.0rc1-cp38-cp38-win_amd64.whl", hash = "sha256:d50cef1600b59ec5669a28050286a456682443f20be9b0226c0fe5502860216e"}, + {file = "cffi-1.17.0rc1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e3ae055e90ea13480185a1ef5325ebd9ac092e03f5f473be3e93eac62bfd43df"}, + {file = "cffi-1.17.0rc1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:7953cd1968a8ea99482d7bfcf5bb9c56d56e91660b97ee940923394c8194d921"}, + {file = "cffi-1.17.0rc1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f9155a5b35097cbe7a2e31611daf681b7119d895090bb101bf94805fb6bc7834"}, + {file = "cffi-1.17.0rc1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22eac8f9c77df0899a6cd373d6a62da40644573a5e27982f7713bd2a9f0b0edf"}, + {file = "cffi-1.17.0rc1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6aff0256e080afb8964e091f94222c2808cdf7c5f13d58f88e799e2fbde53a9d"}, + {file = "cffi-1.17.0rc1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8b77f45d5b938f8fa6d3087892458c57458f55a90410ce15c61585627930838b"}, + {file = "cffi-1.17.0rc1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6bce1aa64c52c3cb0c7326dd81d1dc5a4831946b29721592983eb4ae80beb2ac"}, + {file = "cffi-1.17.0rc1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:b7cb4755dc605ac5f2cf0b00e4063fdc2ca474da7bdc473877f8b5cba133b43e"}, + {file = "cffi-1.17.0rc1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:fa76f23281fd49c305002f510c773ecf6216118f2e7083b34ffa06983d6db96a"}, + {file = "cffi-1.17.0rc1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a23431415147e0c711742b4e273b362758e632bd11a1e676c58011f0ed96da42"}, + {file = "cffi-1.17.0rc1-cp39-cp39-win32.whl", hash = "sha256:3f60cc0a65ac412887ba284c946242ed4e07065003b358a4d288334f6c2a54ed"}, + {file = "cffi-1.17.0rc1-cp39-cp39-win_amd64.whl", hash = "sha256:494abc4dc78792d210249127a75021049c7832468f9daa6e81ec0dfc1f55d9d0"}, + {file = "cffi-1.17.0rc1.tar.gz", hash = "sha256:752c6a06036a24b54936f488ad13b0a83b7d1e0f9fefbe3a4fc237676b1091cf"}, ] [package.dependencies] @@ -376,7 +360,6 @@ pycparser = "*" name = "chardet" version = "4.0.0" description = "Universal encoding detector for Python 2 and 3" -category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" files = [ @@ -386,109 +369,107 @@ files = [ [[package]] name = "charset-normalizer" -version = "3.3.1" +version = "3.3.2" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." -category = "dev" optional = false python-versions = ">=3.7.0" files = [ - {file = "charset-normalizer-3.3.1.tar.gz", hash = "sha256:d9137a876020661972ca6eec0766d81aef8a5627df628b664b234b73396e727e"}, - {file = "charset_normalizer-3.3.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:8aee051c89e13565c6bd366813c386939f8e928af93c29fda4af86d25b73d8f8"}, - {file = "charset_normalizer-3.3.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:352a88c3df0d1fa886562384b86f9a9e27563d4704ee0e9d56ec6fcd270ea690"}, - {file = "charset_normalizer-3.3.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:223b4d54561c01048f657fa6ce41461d5ad8ff128b9678cfe8b2ecd951e3f8a2"}, - {file = "charset_normalizer-3.3.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4f861d94c2a450b974b86093c6c027888627b8082f1299dfd5a4bae8e2292821"}, - {file = "charset_normalizer-3.3.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1171ef1fc5ab4693c5d151ae0fdad7f7349920eabbaca6271f95969fa0756c2d"}, - {file = "charset_normalizer-3.3.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28f512b9a33235545fbbdac6a330a510b63be278a50071a336afc1b78781b147"}, - {file = "charset_normalizer-3.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0e842112fe3f1a4ffcf64b06dc4c61a88441c2f02f373367f7b4c1aa9be2ad5"}, - {file = "charset_normalizer-3.3.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3f9bc2ce123637a60ebe819f9fccc614da1bcc05798bbbaf2dd4ec91f3e08846"}, - {file = "charset_normalizer-3.3.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:f194cce575e59ffe442c10a360182a986535fd90b57f7debfaa5c845c409ecc3"}, - {file = "charset_normalizer-3.3.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:9a74041ba0bfa9bc9b9bb2cd3238a6ab3b7618e759b41bd15b5f6ad958d17605"}, - {file = "charset_normalizer-3.3.1-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:b578cbe580e3b41ad17b1c428f382c814b32a6ce90f2d8e39e2e635d49e498d1"}, - {file = "charset_normalizer-3.3.1-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:6db3cfb9b4fcecb4390db154e75b49578c87a3b9979b40cdf90d7e4b945656e1"}, - {file = "charset_normalizer-3.3.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:debb633f3f7856f95ad957d9b9c781f8e2c6303ef21724ec94bea2ce2fcbd056"}, - {file = "charset_normalizer-3.3.1-cp310-cp310-win32.whl", hash = "sha256:87071618d3d8ec8b186d53cb6e66955ef2a0e4fa63ccd3709c0c90ac5a43520f"}, - {file = "charset_normalizer-3.3.1-cp310-cp310-win_amd64.whl", hash = "sha256:e372d7dfd154009142631de2d316adad3cc1c36c32a38b16a4751ba78da2a397"}, - {file = "charset_normalizer-3.3.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ae4070f741f8d809075ef697877fd350ecf0b7c5837ed68738607ee0a2c572cf"}, - {file = "charset_normalizer-3.3.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:58e875eb7016fd014c0eea46c6fa92b87b62c0cb31b9feae25cbbe62c919f54d"}, - {file = "charset_normalizer-3.3.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:dbd95e300367aa0827496fe75a1766d198d34385a58f97683fe6e07f89ca3e3c"}, - {file = "charset_normalizer-3.3.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:de0b4caa1c8a21394e8ce971997614a17648f94e1cd0640fbd6b4d14cab13a72"}, - {file = "charset_normalizer-3.3.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:985c7965f62f6f32bf432e2681173db41336a9c2611693247069288bcb0c7f8b"}, - {file = "charset_normalizer-3.3.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a15c1fe6d26e83fd2e5972425a772cca158eae58b05d4a25a4e474c221053e2d"}, - {file = "charset_normalizer-3.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ae55d592b02c4349525b6ed8f74c692509e5adffa842e582c0f861751701a673"}, - {file = "charset_normalizer-3.3.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:be4d9c2770044a59715eb57c1144dedea7c5d5ae80c68fb9959515037cde2008"}, - {file = "charset_normalizer-3.3.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:851cf693fb3aaef71031237cd68699dded198657ec1e76a76eb8be58c03a5d1f"}, - {file = "charset_normalizer-3.3.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:31bbaba7218904d2eabecf4feec0d07469284e952a27400f23b6628439439fa7"}, - {file = "charset_normalizer-3.3.1-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:871d045d6ccc181fd863a3cd66ee8e395523ebfbc57f85f91f035f50cee8e3d4"}, - {file = "charset_normalizer-3.3.1-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:501adc5eb6cd5f40a6f77fbd90e5ab915c8fd6e8c614af2db5561e16c600d6f3"}, - {file = "charset_normalizer-3.3.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:f5fb672c396d826ca16a022ac04c9dce74e00a1c344f6ad1a0fdc1ba1f332213"}, - {file = "charset_normalizer-3.3.1-cp311-cp311-win32.whl", hash = "sha256:bb06098d019766ca16fc915ecaa455c1f1cd594204e7f840cd6258237b5079a8"}, - {file = "charset_normalizer-3.3.1-cp311-cp311-win_amd64.whl", hash = "sha256:8af5a8917b8af42295e86b64903156b4f110a30dca5f3b5aedea123fbd638bff"}, - {file = "charset_normalizer-3.3.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:7ae8e5142dcc7a49168f4055255dbcced01dc1714a90a21f87448dc8d90617d1"}, - {file = "charset_normalizer-3.3.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:5b70bab78accbc672f50e878a5b73ca692f45f5b5e25c8066d748c09405e6a55"}, - {file = "charset_normalizer-3.3.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5ceca5876032362ae73b83347be8b5dbd2d1faf3358deb38c9c88776779b2e2f"}, - {file = "charset_normalizer-3.3.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:34d95638ff3613849f473afc33f65c401a89f3b9528d0d213c7037c398a51296"}, - {file = "charset_normalizer-3.3.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9edbe6a5bf8b56a4a84533ba2b2f489d0046e755c29616ef8830f9e7d9cf5728"}, - {file = "charset_normalizer-3.3.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f6a02a3c7950cafaadcd46a226ad9e12fc9744652cc69f9e5534f98b47f3bbcf"}, - {file = "charset_normalizer-3.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:10b8dd31e10f32410751b3430996f9807fc4d1587ca69772e2aa940a82ab571a"}, - {file = "charset_normalizer-3.3.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:edc0202099ea1d82844316604e17d2b175044f9bcb6b398aab781eba957224bd"}, - {file = "charset_normalizer-3.3.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:b891a2f68e09c5ef989007fac11476ed33c5c9994449a4e2c3386529d703dc8b"}, - {file = "charset_normalizer-3.3.1-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:71ef3b9be10070360f289aea4838c784f8b851be3ba58cf796262b57775c2f14"}, - {file = "charset_normalizer-3.3.1-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:55602981b2dbf8184c098bc10287e8c245e351cd4fdcad050bd7199d5a8bf514"}, - {file = "charset_normalizer-3.3.1-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:46fb9970aa5eeca547d7aa0de5d4b124a288b42eaefac677bde805013c95725c"}, - {file = "charset_normalizer-3.3.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:520b7a142d2524f999447b3a0cf95115df81c4f33003c51a6ab637cbda9d0bf4"}, - {file = "charset_normalizer-3.3.1-cp312-cp312-win32.whl", hash = "sha256:8ec8ef42c6cd5856a7613dcd1eaf21e5573b2185263d87d27c8edcae33b62a61"}, - {file = "charset_normalizer-3.3.1-cp312-cp312-win_amd64.whl", hash = "sha256:baec8148d6b8bd5cee1ae138ba658c71f5b03e0d69d5907703e3e1df96db5e41"}, - {file = "charset_normalizer-3.3.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:63a6f59e2d01310f754c270e4a257426fe5a591dc487f1983b3bbe793cf6bac6"}, - {file = "charset_normalizer-3.3.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1d6bfc32a68bc0933819cfdfe45f9abc3cae3877e1d90aac7259d57e6e0f85b1"}, - {file = "charset_normalizer-3.3.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4f3100d86dcd03c03f7e9c3fdb23d92e32abbca07e7c13ebd7ddfbcb06f5991f"}, - {file = "charset_normalizer-3.3.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:39b70a6f88eebe239fa775190796d55a33cfb6d36b9ffdd37843f7c4c1b5dc67"}, - {file = "charset_normalizer-3.3.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4e12f8ee80aa35e746230a2af83e81bd6b52daa92a8afaef4fea4a2ce9b9f4fa"}, - {file = "charset_normalizer-3.3.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7b6cefa579e1237ce198619b76eaa148b71894fb0d6bcf9024460f9bf30fd228"}, - {file = "charset_normalizer-3.3.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:61f1e3fb621f5420523abb71f5771a204b33c21d31e7d9d86881b2cffe92c47c"}, - {file = "charset_normalizer-3.3.1-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:4f6e2a839f83a6a76854d12dbebde50e4b1afa63e27761549d006fa53e9aa80e"}, - {file = "charset_normalizer-3.3.1-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:1ec937546cad86d0dce5396748bf392bb7b62a9eeb8c66efac60e947697f0e58"}, - {file = "charset_normalizer-3.3.1-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:82ca51ff0fc5b641a2d4e1cc8c5ff108699b7a56d7f3ad6f6da9dbb6f0145b48"}, - {file = "charset_normalizer-3.3.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:633968254f8d421e70f91c6ebe71ed0ab140220469cf87a9857e21c16687c034"}, - {file = "charset_normalizer-3.3.1-cp37-cp37m-win32.whl", hash = "sha256:c0c72d34e7de5604df0fde3644cc079feee5e55464967d10b24b1de268deceb9"}, - {file = "charset_normalizer-3.3.1-cp37-cp37m-win_amd64.whl", hash = "sha256:63accd11149c0f9a99e3bc095bbdb5a464862d77a7e309ad5938fbc8721235ae"}, - {file = "charset_normalizer-3.3.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5a3580a4fdc4ac05f9e53c57f965e3594b2f99796231380adb2baaab96e22761"}, - {file = "charset_normalizer-3.3.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2465aa50c9299d615d757c1c888bc6fef384b7c4aec81c05a0172b4400f98557"}, - {file = "charset_normalizer-3.3.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:cb7cd68814308aade9d0c93c5bd2ade9f9441666f8ba5aa9c2d4b389cb5e2a45"}, - {file = "charset_normalizer-3.3.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:91e43805ccafa0a91831f9cd5443aa34528c0c3f2cc48c4cb3d9a7721053874b"}, - {file = "charset_normalizer-3.3.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:854cc74367180beb327ab9d00f964f6d91da06450b0855cbbb09187bcdb02de5"}, - {file = "charset_normalizer-3.3.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c15070ebf11b8b7fd1bfff7217e9324963c82dbdf6182ff7050519e350e7ad9f"}, - {file = "charset_normalizer-3.3.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2c4c99f98fc3a1835af8179dcc9013f93594d0670e2fa80c83aa36346ee763d2"}, - {file = "charset_normalizer-3.3.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3fb765362688821404ad6cf86772fc54993ec11577cd5a92ac44b4c2ba52155b"}, - {file = "charset_normalizer-3.3.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:dced27917823df984fe0c80a5c4ad75cf58df0fbfae890bc08004cd3888922a2"}, - {file = "charset_normalizer-3.3.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a66bcdf19c1a523e41b8e9d53d0cedbfbac2e93c649a2e9502cb26c014d0980c"}, - {file = "charset_normalizer-3.3.1-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:ecd26be9f112c4f96718290c10f4caea6cc798459a3a76636b817a0ed7874e42"}, - {file = "charset_normalizer-3.3.1-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:3f70fd716855cd3b855316b226a1ac8bdb3caf4f7ea96edcccc6f484217c9597"}, - {file = "charset_normalizer-3.3.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:17a866d61259c7de1bdadef418a37755050ddb4b922df8b356503234fff7932c"}, - {file = "charset_normalizer-3.3.1-cp38-cp38-win32.whl", hash = "sha256:548eefad783ed787b38cb6f9a574bd8664468cc76d1538215d510a3cd41406cb"}, - {file = "charset_normalizer-3.3.1-cp38-cp38-win_amd64.whl", hash = "sha256:45f053a0ece92c734d874861ffe6e3cc92150e32136dd59ab1fb070575189c97"}, - {file = "charset_normalizer-3.3.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:bc791ec3fd0c4309a753f95bb6c749ef0d8ea3aea91f07ee1cf06b7b02118f2f"}, - {file = "charset_normalizer-3.3.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:0c8c61fb505c7dad1d251c284e712d4e0372cef3b067f7ddf82a7fa82e1e9a93"}, - {file = "charset_normalizer-3.3.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2c092be3885a1b7899cd85ce24acedc1034199d6fca1483fa2c3a35c86e43041"}, - {file = "charset_normalizer-3.3.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c2000c54c395d9e5e44c99dc7c20a64dc371f777faf8bae4919ad3e99ce5253e"}, - {file = "charset_normalizer-3.3.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4cb50a0335382aac15c31b61d8531bc9bb657cfd848b1d7158009472189f3d62"}, - {file = "charset_normalizer-3.3.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c30187840d36d0ba2893bc3271a36a517a717f9fd383a98e2697ee890a37c273"}, - {file = "charset_normalizer-3.3.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fe81b35c33772e56f4b6cf62cf4aedc1762ef7162a31e6ac7fe5e40d0149eb67"}, - {file = "charset_normalizer-3.3.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d0bf89afcbcf4d1bb2652f6580e5e55a840fdf87384f6063c4a4f0c95e378656"}, - {file = "charset_normalizer-3.3.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:06cf46bdff72f58645434d467bf5228080801298fbba19fe268a01b4534467f5"}, - {file = "charset_normalizer-3.3.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:3c66df3f41abee950d6638adc7eac4730a306b022570f71dd0bd6ba53503ab57"}, - {file = "charset_normalizer-3.3.1-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:cd805513198304026bd379d1d516afbf6c3c13f4382134a2c526b8b854da1c2e"}, - {file = "charset_normalizer-3.3.1-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:9505dc359edb6a330efcd2be825fdb73ee3e628d9010597aa1aee5aa63442e97"}, - {file = "charset_normalizer-3.3.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:31445f38053476a0c4e6d12b047b08ced81e2c7c712e5a1ad97bc913256f91b2"}, - {file = "charset_normalizer-3.3.1-cp39-cp39-win32.whl", hash = "sha256:bd28b31730f0e982ace8663d108e01199098432a30a4c410d06fe08fdb9e93f4"}, - {file = "charset_normalizer-3.3.1-cp39-cp39-win_amd64.whl", hash = "sha256:555fe186da0068d3354cdf4bbcbc609b0ecae4d04c921cc13e209eece7720727"}, - {file = "charset_normalizer-3.3.1-py3-none-any.whl", hash = "sha256:800561453acdecedaac137bf09cd719c7a440b6800ec182f077bb8e7025fb708"}, + {file = "charset-normalizer-3.3.2.tar.gz", hash = "sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6897af51655e3691ff853668779c7bad41579facacf5fd7253b0133308cf000d"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1d3193f4a680c64b4b6a9115943538edb896edc190f0b222e73761716519268e"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cd70574b12bb8a4d2aaa0094515df2463cb429d8536cfb6c7ce983246983e5a6"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a9a8e9031d613fd2009c182b69c7b2c1ef8239a0efb1df3f7c8da66d5dd3d537"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:beb58fe5cdb101e3a055192ac291b7a21e3b7ef4f67fa1d74e331a7f2124341c"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e06ed3eb3218bc64786f7db41917d4e686cc4856944f53d5bdf83a6884432e12"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:2e81c7b9c8979ce92ed306c249d46894776a909505d8f5a4ba55b14206e3222f"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:572c3763a264ba47b3cf708a44ce965d98555f618ca42c926a9c1616d8f34269"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-win32.whl", hash = "sha256:3d47fa203a7bd9c5b6cee4736ee84ca03b8ef23193c0d1ca99b5089f72645c73"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:10955842570876604d404661fbccbc9c7e684caf432c09c715ec38fbae45ae09"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:573f6eac48f4769d667c4442081b1794f52919e7edada77495aaed9236d13a96"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f27273b60488abe721a075bcca6d7f3964f9f6f067c8c4c605743023d7d3944f"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ceae2f17a9c33cb48e3263960dc5fc8005351ee19db217e9b1bb15d28c02574"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65f6f63034100ead094b8744b3b97965785388f308a64cf8d7c34f2f2e5be0c4"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4a78b2b446bd7c934f5dcedc588903fb2f5eec172f3d29e52a9096a43722adfc"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e537484df0d8f426ce2afb2d0f8e1c3d0b114b83f8850e5f2fbea0e797bd82ae"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:eb6904c354526e758fda7167b33005998fb68c46fbc10e013ca97f21ca5c8887"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:deb6be0ac38ece9ba87dea880e438f25ca3eddfac8b002a2ec3d9183a454e8ae"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:4ab2fe47fae9e0f9dee8c04187ce5d09f48eabe611be8259444906793ab7cbce"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:80402cd6ee291dcb72644d6eac93785fe2c8b9cb30893c1af5b8fdd753b9d40f"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-win32.whl", hash = "sha256:7cd13a2e3ddeed6913a65e66e94b51d80a041145a026c27e6bb76c31a853c6ab"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0b2b64d2bb6d3fb9112bafa732def486049e63de9618b5843bcdd081d8144cd8"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:ddbb2551d7e0102e7252db79ba445cdab71b26640817ab1e3e3648dad515003b"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:55086ee1064215781fff39a1af09518bc9255b50d6333f2e4c74ca09fac6a8f6"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f4a014bc36d3c57402e2977dada34f9c12300af536839dc38c0beab8878f38a"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a10af20b82360ab00827f916a6058451b723b4e65030c5a18577c8b2de5b3389"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8d756e44e94489e49571086ef83b2bb8ce311e730092d2c34ca8f7d925cb20aa"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:90d558489962fd4918143277a773316e56c72da56ec7aa3dc3dbbe20fdfed15b"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ac7ffc7ad6d040517be39eb591cac5ff87416c2537df6ba3cba3bae290c0fed"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:7ed9e526742851e8d5cc9e6cf41427dfc6068d4f5a3bb03659444b4cabf6bc26"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:8bdb58ff7ba23002a4c5808d608e4e6c687175724f54a5dade5fa8c67b604e4d"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:6b3251890fff30ee142c44144871185dbe13b11bab478a88887a639655be1068"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:b4a23f61ce87adf89be746c8a8974fe1c823c891d8f86eb218bb957c924bb143"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:efcb3f6676480691518c177e3b465bcddf57cea040302f9f4e6e191af91174d4"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-win32.whl", hash = "sha256:d965bba47ddeec8cd560687584e88cf699fd28f192ceb452d1d7ee807c5597b7"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:95f2a5796329323b8f0512e09dbb7a1860c46a39da62ecb2324f116fa8fdc85c"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c002b4ffc0be611f0d9da932eb0f704fe2602a9a949d1f738e4c34c75b0863d5"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a981a536974bbc7a512cf44ed14938cf01030a99e9b3a06dd59578882f06f985"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3287761bc4ee9e33561a7e058c72ac0938c4f57fe49a09eae428fd88aafe7bb6"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:42cb296636fcc8b0644486d15c12376cb9fa75443e00fb25de0b8602e64c1714"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0a55554a2fa0d408816b3b5cedf0045f4b8e1a6065aec45849de2d6f3f8e9786"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:c083af607d2515612056a31f0a8d9e0fcb5876b7bfc0abad3ecd275bc4ebc2d5"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:87d1351268731db79e0f8e745d92493ee2841c974128ef629dc518b937d9194c"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:bd8f7df7d12c2db9fab40bdd87a7c09b1530128315d047a086fa3ae3435cb3a8"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:c180f51afb394e165eafe4ac2936a14bee3eb10debc9d9e4db8958fe36afe711"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:8c622a5fe39a48f78944a87d4fb8a53ee07344641b0562c540d840748571b811"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-win32.whl", hash = "sha256:db364eca23f876da6f9e16c9da0df51aa4f104a972735574842618b8c6d999d4"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-win_amd64.whl", hash = "sha256:86216b5cee4b06df986d214f664305142d9c76df9b6512be2738aa72a2048f99"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:6463effa3186ea09411d50efc7d85360b38d5f09b870c48e4600f63af490e56a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6c4caeef8fa63d06bd437cd4bdcf3ffefe6738fb1b25951440d80dc7df8c03ac"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:37e55c8e51c236f95b033f6fb391d7d7970ba5fe7ff453dad675e88cf303377a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb69256e180cb6c8a894fee62b3afebae785babc1ee98b81cdf68bbca1987f33"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ae5f4161f18c61806f411a13b0310bea87f987c7d2ecdbdaad0e94eb2e404238"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b2b0a0c0517616b6869869f8c581d4eb2dd83a4d79e0ebcb7d373ef9956aeb0a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:45485e01ff4d3630ec0d9617310448a8702f70e9c01906b0d0118bdf9d124cf2"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eb00ed941194665c332bf8e078baf037d6c35d7c4f3102ea2d4f16ca94a26dc8"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2127566c664442652f024c837091890cb1942c30937add288223dc895793f898"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a50aebfa173e157099939b17f18600f72f84eed3049e743b68ad15bd69b6bf99"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:4d0d1650369165a14e14e1e47b372cfcb31d6ab44e6e33cb2d4e57265290044d"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:923c0c831b7cfcb071580d3f46c4baf50f174be571576556269530f4bbd79d04"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:06a81e93cd441c56a9b65d8e1d043daeb97a3d0856d177d5c90ba85acb3db087"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-win32.whl", hash = "sha256:6ef1d82a3af9d3eecdba2321dc1b3c238245d890843e040e41e470ffa64c3e25"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-win_amd64.whl", hash = "sha256:eb8821e09e916165e160797a6c17edda0679379a4be5c716c260e836e122f54b"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:c235ebd9baae02f1b77bcea61bce332cb4331dc3617d254df3323aa01ab47bd4"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5b4c145409bef602a690e7cfad0a15a55c13320ff7a3ad7ca59c13bb8ba4d45d"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:68d1f8a9e9e37c1223b656399be5d6b448dea850bed7d0f87a8311f1ff3dabb0"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22afcb9f253dac0696b5a4be4a1c0f8762f8239e21b99680099abd9b2b1b2269"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e27ad930a842b4c5eb8ac0016b0a54f5aebbe679340c26101df33424142c143c"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f79682fbe303db92bc2b1136016a38a42e835d932bab5b3b1bfcfbf0640e519"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b261ccdec7821281dade748d088bb6e9b69e6d15b30652b74cbbac25e280b796"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:122c7fa62b130ed55f8f285bfd56d5f4b4a5b503609d181f9ad85e55c89f4185"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d0eccceffcb53201b5bfebb52600a5fb483a20b61da9dbc885f8b103cbe7598c"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:9f96df6923e21816da7e0ad3fd47dd8f94b2a5ce594e00677c0013018b813458"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:7f04c839ed0b6b98b1a7501a002144b76c18fb1c1850c8b98d458ac269e26ed2"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:34d1c8da1e78d2e001f363791c98a272bb734000fcef47a491c1e3b0505657a8"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ff8fa367d09b717b2a17a052544193ad76cd49979c805768879cb63d9ca50561"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-win32.whl", hash = "sha256:aed38f6e4fb3f5d6bf81bfa990a07806be9d83cf7bacef998ab1a9bd660a581f"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:b01b88d45a6fcb69667cd6d2f7a9aeb4bf53760d7fc536bf679ec94fe9f3ff3d"}, + {file = "charset_normalizer-3.3.2-py3-none-any.whl", hash = "sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc"}, ] [[package]] name = "click" version = "8.1.7" description = "Composable command line interface toolkit" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -503,7 +484,6 @@ colorama = {version = "*", markers = "platform_system == \"Windows\""} name = "colorama" version = "0.4.6" description = "Cross-platform colored terminal text." -category = "dev" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" files = [ @@ -513,109 +493,138 @@ files = [ [[package]] name = "cryptography" -version = "41.0.5" +version = "42.0.8" description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." -category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "cryptography-41.0.5-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:da6a0ff8f1016ccc7477e6339e1d50ce5f59b88905585f77193ebd5068f1e797"}, - {file = "cryptography-41.0.5-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:b948e09fe5fb18517d99994184854ebd50b57248736fd4c720ad540560174ec5"}, - {file = "cryptography-41.0.5-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d38e6031e113b7421db1de0c1b1f7739564a88f1684c6b89234fbf6c11b75147"}, - {file = "cryptography-41.0.5-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e270c04f4d9b5671ebcc792b3ba5d4488bf7c42c3c241a3748e2599776f29696"}, - {file = "cryptography-41.0.5-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:ec3b055ff8f1dce8e6ef28f626e0972981475173d7973d63f271b29c8a2897da"}, - {file = "cryptography-41.0.5-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:7d208c21e47940369accfc9e85f0de7693d9a5d843c2509b3846b2db170dfd20"}, - {file = "cryptography-41.0.5-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:8254962e6ba1f4d2090c44daf50a547cd5f0bf446dc658a8e5f8156cae0d8548"}, - {file = "cryptography-41.0.5-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:a48e74dad1fb349f3dc1d449ed88e0017d792997a7ad2ec9587ed17405667e6d"}, - {file = "cryptography-41.0.5-cp37-abi3-win32.whl", hash = "sha256:d3977f0e276f6f5bf245c403156673db103283266601405376f075c849a0b936"}, - {file = "cryptography-41.0.5-cp37-abi3-win_amd64.whl", hash = "sha256:73801ac9736741f220e20435f84ecec75ed70eda90f781a148f1bad546963d81"}, - {file = "cryptography-41.0.5-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:3be3ca726e1572517d2bef99a818378bbcf7d7799d5372a46c79c29eb8d166c1"}, - {file = "cryptography-41.0.5-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:e886098619d3815e0ad5790c973afeee2c0e6e04b4da90b88e6bd06e2a0b1b72"}, - {file = "cryptography-41.0.5-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:573eb7128cbca75f9157dcde974781209463ce56b5804983e11a1c462f0f4e88"}, - {file = "cryptography-41.0.5-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:0c327cac00f082013c7c9fb6c46b7cc9fa3c288ca702c74773968173bda421bf"}, - {file = "cryptography-41.0.5-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:227ec057cd32a41c6651701abc0328135e472ed450f47c2766f23267b792a88e"}, - {file = "cryptography-41.0.5-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:22892cc830d8b2c89ea60148227631bb96a7da0c1b722f2aac8824b1b7c0b6b8"}, - {file = "cryptography-41.0.5-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:5a70187954ba7292c7876734183e810b728b4f3965fbe571421cb2434d279179"}, - {file = "cryptography-41.0.5-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:88417bff20162f635f24f849ab182b092697922088b477a7abd6664ddd82291d"}, - {file = "cryptography-41.0.5-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:c707f7afd813478e2019ae32a7c49cd932dd60ab2d2a93e796f68236b7e1fbf1"}, - {file = "cryptography-41.0.5-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:580afc7b7216deeb87a098ef0674d6ee34ab55993140838b14c9b83312b37b86"}, - {file = "cryptography-41.0.5-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:fba1e91467c65fe64a82c689dc6cf58151158993b13eb7a7f3f4b7f395636723"}, - {file = "cryptography-41.0.5-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:0d2a6a598847c46e3e321a7aef8af1436f11c27f1254933746304ff014664d84"}, - {file = "cryptography-41.0.5.tar.gz", hash = "sha256:392cb88b597247177172e02da6b7a63deeff1937fa6fec3bbf902ebd75d97ec7"}, -] - -[package.dependencies] -cffi = ">=1.12" + {file = "cryptography-42.0.8-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:81d8a521705787afe7a18d5bfb47ea9d9cc068206270aad0b96a725022e18d2e"}, + {file = "cryptography-42.0.8-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:961e61cefdcb06e0c6d7e3a1b22ebe8b996eb2bf50614e89384be54c48c6b63d"}, + {file = "cryptography-42.0.8-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e3ec3672626e1b9e55afd0df6d774ff0e953452886e06e0f1eb7eb0c832e8902"}, + {file = "cryptography-42.0.8-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e599b53fd95357d92304510fb7bda8523ed1f79ca98dce2f43c115950aa78801"}, + {file = "cryptography-42.0.8-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:5226d5d21ab681f432a9c1cf8b658c0cb02533eece706b155e5fbd8a0cdd3949"}, + {file = "cryptography-42.0.8-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:6b7c4f03ce01afd3b76cf69a5455caa9cfa3de8c8f493e0d3ab7d20611c8dae9"}, + {file = "cryptography-42.0.8-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:2346b911eb349ab547076f47f2e035fc8ff2c02380a7cbbf8d87114fa0f1c583"}, + {file = "cryptography-42.0.8-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:ad803773e9df0b92e0a817d22fd8a3675493f690b96130a5e24f1b8fabbea9c7"}, + {file = "cryptography-42.0.8-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:2f66d9cd9147ee495a8374a45ca445819f8929a3efcd2e3df6428e46c3cbb10b"}, + {file = "cryptography-42.0.8-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:d45b940883a03e19e944456a558b67a41160e367a719833c53de6911cabba2b7"}, + {file = "cryptography-42.0.8-cp37-abi3-win32.whl", hash = "sha256:a0c5b2b0585b6af82d7e385f55a8bc568abff8923af147ee3c07bd8b42cda8b2"}, + {file = "cryptography-42.0.8-cp37-abi3-win_amd64.whl", hash = "sha256:57080dee41209e556a9a4ce60d229244f7a66ef52750f813bfbe18959770cfba"}, + {file = "cryptography-42.0.8-cp39-abi3-macosx_10_12_universal2.whl", hash = "sha256:dea567d1b0e8bc5764b9443858b673b734100c2871dc93163f58c46a97a83d28"}, + {file = "cryptography-42.0.8-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c4783183f7cb757b73b2ae9aed6599b96338eb957233c58ca8f49a49cc32fd5e"}, + {file = "cryptography-42.0.8-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a0608251135d0e03111152e41f0cc2392d1e74e35703960d4190b2e0f4ca9c70"}, + {file = "cryptography-42.0.8-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:dc0fdf6787f37b1c6b08e6dfc892d9d068b5bdb671198c72072828b80bd5fe4c"}, + {file = "cryptography-42.0.8-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:9c0c1716c8447ee7dbf08d6db2e5c41c688544c61074b54fc4564196f55c25a7"}, + {file = "cryptography-42.0.8-cp39-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:fff12c88a672ab9c9c1cf7b0c80e3ad9e2ebd9d828d955c126be4fd3e5578c9e"}, + {file = "cryptography-42.0.8-cp39-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:cafb92b2bc622cd1aa6a1dce4b93307792633f4c5fe1f46c6b97cf67073ec961"}, + {file = "cryptography-42.0.8-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:31f721658a29331f895a5a54e7e82075554ccfb8b163a18719d342f5ffe5ecb1"}, + {file = "cryptography-42.0.8-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:b297f90c5723d04bcc8265fc2a0f86d4ea2e0f7ab4b6994459548d3a6b992a14"}, + {file = "cryptography-42.0.8-cp39-abi3-win32.whl", hash = "sha256:2f88d197e66c65be5e42cd72e5c18afbfae3f741742070e3019ac8f4ac57262c"}, + {file = "cryptography-42.0.8-cp39-abi3-win_amd64.whl", hash = "sha256:fa76fbb7596cc5839320000cdd5d0955313696d9511debab7ee7278fc8b5c84a"}, + {file = "cryptography-42.0.8-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:ba4f0a211697362e89ad822e667d8d340b4d8d55fae72cdd619389fb5912eefe"}, + {file = "cryptography-42.0.8-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:81884c4d096c272f00aeb1f11cf62ccd39763581645b0812e99a91505fa48e0c"}, + {file = "cryptography-42.0.8-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:c9bb2ae11bfbab395bdd072985abde58ea9860ed84e59dbc0463a5d0159f5b71"}, + {file = "cryptography-42.0.8-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:7016f837e15b0a1c119d27ecd89b3515f01f90a8615ed5e9427e30d9cdbfed3d"}, + {file = "cryptography-42.0.8-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:5a94eccb2a81a309806027e1670a358b99b8fe8bfe9f8d329f27d72c094dde8c"}, + {file = "cryptography-42.0.8-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:dec9b018df185f08483f294cae6ccac29e7a6e0678996587363dc352dc65c842"}, + {file = "cryptography-42.0.8-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:343728aac38decfdeecf55ecab3264b015be68fc2816ca800db649607aeee648"}, + {file = "cryptography-42.0.8-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:013629ae70b40af70c9a7a5db40abe5d9054e6f4380e50ce769947b73bf3caad"}, + {file = "cryptography-42.0.8.tar.gz", hash = "sha256:8d09d05439ce7baa8e9e95b07ec5b6c886f548deb7e0f69ef25f64b3bce842f2"}, +] + +[package.dependencies] +cffi = {version = ">=1.12", markers = "platform_python_implementation != \"PyPy\""} [package.extras] docs = ["sphinx (>=5.3.0)", "sphinx-rtd-theme (>=1.1.1)"] -docstest = ["pyenchant (>=1.6.11)", "sphinxcontrib-spelling (>=4.0.1)", "twine (>=1.12.0)"] +docstest = ["pyenchant (>=1.6.11)", "readme-renderer", "sphinxcontrib-spelling (>=4.0.1)"] nox = ["nox"] -pep8test = ["black", "check-sdist", "mypy", "ruff"] +pep8test = ["check-sdist", "click", "mypy", "ruff"] sdist = ["build"] ssh = ["bcrypt (>=3.1.5)"] -test = ["pretend", "pytest (>=6.2.0)", "pytest-benchmark", "pytest-cov", "pytest-xdist"] +test = ["certifi", "pretend", "pytest (>=6.2.0)", "pytest-benchmark", "pytest-cov", "pytest-xdist"] test-randomorder = ["pytest-randomly"] [[package]] name = "dict2xml" -version = "1.7.3" +version = "1.7.5" description = "Small utility to convert a python dictionary into an XML string" -category = "dev" optional = false python-versions = ">=3.5" files = [ - {file = "dict2xml-1.7.3-py3-none-any.whl", hash = "sha256:f849e1aec277f93d087482461b6b8afdde61df346918298aca4c42bcf9895f6d"}, - {file = "dict2xml-1.7.3.tar.gz", hash = "sha256:02a5c198d0fecdfeb52644e9d905200a36c031e11c201362d7d217df684bc15d"}, + {file = "dict2xml-1.7.5-py3-none-any.whl", hash = "sha256:f5380dcda0039807bff5543801009f36e5bfff355705863628835cb69f4711b6"}, + {file = "dict2xml-1.7.5.tar.gz", hash = "sha256:e279f4707cf7733f1e56b2cea39e257c727b86f74e449deccc6a712a1cfe4e45"}, ] [package.extras] -tests = ["noseofyeti[black] (==2.4.1)", "pytest (==7.2.1)"] +tests = ["noseofyeti[black] (==2.4.4)", "pytest (==7.4.4)"] [[package]] name = "dill" -version = "0.3.7" +version = "0.3.8" description = "serialize all of Python" -category = "dev" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "dill-0.3.7-py3-none-any.whl", hash = "sha256:76b122c08ef4ce2eedcd4d1abd8e641114bfc6c2867f49f3c41facf65bf19f5e"}, - {file = "dill-0.3.7.tar.gz", hash = "sha256:cc1c8b182eb3013e24bd475ff2e9295af86c1a38eb1aff128dac8962a9ce3c03"}, + {file = "dill-0.3.8-py3-none-any.whl", hash = "sha256:c36ca9ffb54365bdd2f8eb3eff7d2a21237f8452b57ace88b1ac615b7e815bd7"}, + {file = "dill-0.3.8.tar.gz", hash = "sha256:3ebe3c479ad625c4553aca177444d89b486b1d84982eeacded644afc0cf797ca"}, ] [package.extras] graph = ["objgraph (>=1.7.2)"] +profile = ["gprof2dot (>=2022.7.29)"] [[package]] name = "distro" -version = "1.8.0" +version = "1.9.0" description = "Distro - an OS platform information API" -category = "dev" optional = false python-versions = ">=3.6" files = [ - {file = "distro-1.8.0-py3-none-any.whl", hash = "sha256:99522ca3e365cac527b44bde033f64c6945d90eb9f769703caaec52b09bbd3ff"}, - {file = "distro-1.8.0.tar.gz", hash = "sha256:02e111d1dc6a50abb8eed6bf31c3e48ed8b0830d1ea2a1b78c61765c2513fdd8"}, + {file = "distro-1.9.0-py3-none-any.whl", hash = "sha256:7bffd925d65168f85027d8da9af6bddab658135b840670a223589bc0c8ef02b2"}, + {file = "distro-1.9.0.tar.gz", hash = "sha256:2fa77c6fd8940f116ee1d6b94a2f90b13b5ea8d019b98bc8bafdcabcdd9bdbed"}, ] [[package]] name = "docutils" -version = "0.20.1" +version = "0.20" description = "Docutils -- Python Documentation Utilities" -category = "dev" optional = false python-versions = ">=3.7" files = [ - {file = "docutils-0.20.1-py3-none-any.whl", hash = "sha256:96f387a2c5562db4476f09f13bbab2192e764cac08ebbf3a34a95d9b1e4a59d6"}, - {file = "docutils-0.20.1.tar.gz", hash = "sha256:f08a4e276c3a1583a86dce3e34aba3fe04d02bba2dd51ed16106244e8a923e3b"}, + {file = "docutils-0.20-py3-none-any.whl", hash = "sha256:a428f10de4de4774389734c986a01b4af2d802d26717108b0f1b9356862937c5"}, + {file = "docutils-0.20.tar.gz", hash = "sha256:f75a5a52fbcacd81b47e42888ad2b380748aaccfb3f13af0fe69deb759f01eb6"}, ] +[[package]] +name = "docutils" +version = "0.21.2" +description = "Docutils -- Python Documentation Utilities" +optional = false +python-versions = ">=3.9" +files = [ + {file = "docutils-0.21.2-py3-none-any.whl", hash = "sha256:dafca5b9e384f0e419294eb4d2ff9fa826435bf15f15b7bd45723e8ad76811b2"}, + {file = "docutils-0.21.2.tar.gz", hash = "sha256:3a6b18732edf182daa3cd12775bbb338cf5691468f91eeeb109deff6ebfa986f"}, +] + +[[package]] +name = "exceptiongroup" +version = "1.2.1" +description = "Backport of PEP 654 (exception groups)" +optional = false +python-versions = ">=3.7" +files = [ + {file = "exceptiongroup-1.2.1-py3-none-any.whl", hash = "sha256:5258b9ed329c5bbdd31a309f53cbfb0b155341807f6ff7606a1e801a891b29ad"}, + {file = "exceptiongroup-1.2.1.tar.gz", hash = "sha256:a4785e48b045528f5bfe627b6ad554ff32def154f42372786903b7abcfe1aa16"}, +] + +[package.extras] +test = ["pytest (>=6)"] + [[package]] name = "f5-icontrol-rest" version = "1.3.13" description = "F5 BIG-IP iControl REST API client" -category = "dev" optional = false python-versions = "*" files = [ @@ -627,141 +636,153 @@ requests = ">=2.5.0,<3" [[package]] name = "frozenlist" -version = "1.4.0" +version = "1.4.1" description = "A list-like structure which implements collections.abc.MutableSequence" -category = "dev" optional = false python-versions = ">=3.8" files = [ - {file = "frozenlist-1.4.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:764226ceef3125e53ea2cb275000e309c0aa5464d43bd72abd661e27fffc26ab"}, - {file = "frozenlist-1.4.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d6484756b12f40003c6128bfcc3fa9f0d49a687e171186c2d85ec82e3758c559"}, - {file = "frozenlist-1.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9ac08e601308e41eb533f232dbf6b7e4cea762f9f84f6357136eed926c15d12c"}, - {file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d081f13b095d74b67d550de04df1c756831f3b83dc9881c38985834387487f1b"}, - {file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:71932b597f9895f011f47f17d6428252fc728ba2ae6024e13c3398a087c2cdea"}, - {file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:981b9ab5a0a3178ff413bca62526bb784249421c24ad7381e39d67981be2c326"}, - {file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e41f3de4df3e80de75845d3e743b3f1c4c8613c3997a912dbf0229fc61a8b963"}, - {file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6918d49b1f90821e93069682c06ffde41829c346c66b721e65a5c62b4bab0300"}, - {file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:0e5c8764c7829343d919cc2dfc587a8db01c4f70a4ebbc49abde5d4b158b007b"}, - {file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:8d0edd6b1c7fb94922bf569c9b092ee187a83f03fb1a63076e7774b60f9481a8"}, - {file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:e29cda763f752553fa14c68fb2195150bfab22b352572cb36c43c47bedba70eb"}, - {file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:0c7c1b47859ee2cac3846fde1c1dc0f15da6cec5a0e5c72d101e0f83dcb67ff9"}, - {file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:901289d524fdd571be1c7be054f48b1f88ce8dddcbdf1ec698b27d4b8b9e5d62"}, - {file = "frozenlist-1.4.0-cp310-cp310-win32.whl", hash = "sha256:1a0848b52815006ea6596c395f87449f693dc419061cc21e970f139d466dc0a0"}, - {file = "frozenlist-1.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:b206646d176a007466358aa21d85cd8600a415c67c9bd15403336c331a10d956"}, - {file = "frozenlist-1.4.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:de343e75f40e972bae1ef6090267f8260c1446a1695e77096db6cfa25e759a95"}, - {file = "frozenlist-1.4.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ad2a9eb6d9839ae241701d0918f54c51365a51407fd80f6b8289e2dfca977cc3"}, - {file = "frozenlist-1.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:bd7bd3b3830247580de99c99ea2a01416dfc3c34471ca1298bccabf86d0ff4dc"}, - {file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bdf1847068c362f16b353163391210269e4f0569a3c166bc6a9f74ccbfc7e839"}, - {file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:38461d02d66de17455072c9ba981d35f1d2a73024bee7790ac2f9e361ef1cd0c"}, - {file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d5a32087d720c608f42caed0ef36d2b3ea61a9d09ee59a5142d6070da9041b8f"}, - {file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dd65632acaf0d47608190a71bfe46b209719bf2beb59507db08ccdbe712f969b"}, - {file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:261b9f5d17cac914531331ff1b1d452125bf5daa05faf73b71d935485b0c510b"}, - {file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:b89ac9768b82205936771f8d2eb3ce88503b1556324c9f903e7156669f521472"}, - {file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:008eb8b31b3ea6896da16c38c1b136cb9fec9e249e77f6211d479db79a4eaf01"}, - {file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:e74b0506fa5aa5598ac6a975a12aa8928cbb58e1f5ac8360792ef15de1aa848f"}, - {file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:490132667476f6781b4c9458298b0c1cddf237488abd228b0b3650e5ecba7467"}, - {file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:76d4711f6f6d08551a7e9ef28c722f4a50dd0fc204c56b4bcd95c6cc05ce6fbb"}, - {file = "frozenlist-1.4.0-cp311-cp311-win32.whl", hash = "sha256:a02eb8ab2b8f200179b5f62b59757685ae9987996ae549ccf30f983f40602431"}, - {file = "frozenlist-1.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:515e1abc578dd3b275d6a5114030b1330ba044ffba03f94091842852f806f1c1"}, - {file = "frozenlist-1.4.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:f0ed05f5079c708fe74bf9027e95125334b6978bf07fd5ab923e9e55e5fbb9d3"}, - {file = "frozenlist-1.4.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ca265542ca427bf97aed183c1676e2a9c66942e822b14dc6e5f42e038f92a503"}, - {file = "frozenlist-1.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:491e014f5c43656da08958808588cc6c016847b4360e327a62cb308c791bd2d9"}, - {file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:17ae5cd0f333f94f2e03aaf140bb762c64783935cc764ff9c82dff626089bebf"}, - {file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1e78fb68cf9c1a6aa4a9a12e960a5c9dfbdb89b3695197aa7064705662515de2"}, - {file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d5655a942f5f5d2c9ed93d72148226d75369b4f6952680211972a33e59b1dfdc"}, - {file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c11b0746f5d946fecf750428a95f3e9ebe792c1ee3b1e96eeba145dc631a9672"}, - {file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e66d2a64d44d50d2543405fb183a21f76b3b5fd16f130f5c99187c3fb4e64919"}, - {file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:88f7bc0fcca81f985f78dd0fa68d2c75abf8272b1f5c323ea4a01a4d7a614efc"}, - {file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:5833593c25ac59ede40ed4de6d67eb42928cca97f26feea219f21d0ed0959b79"}, - {file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:fec520865f42e5c7f050c2a79038897b1c7d1595e907a9e08e3353293ffc948e"}, - {file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:b826d97e4276750beca7c8f0f1a4938892697a6bcd8ec8217b3312dad6982781"}, - {file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:ceb6ec0a10c65540421e20ebd29083c50e6d1143278746a4ef6bcf6153171eb8"}, - {file = "frozenlist-1.4.0-cp38-cp38-win32.whl", hash = "sha256:2b8bcf994563466db019fab287ff390fffbfdb4f905fc77bc1c1d604b1c689cc"}, - {file = "frozenlist-1.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:a6c8097e01886188e5be3e6b14e94ab365f384736aa1fca6a0b9e35bd4a30bc7"}, - {file = "frozenlist-1.4.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:6c38721585f285203e4b4132a352eb3daa19121a035f3182e08e437cface44bf"}, - {file = "frozenlist-1.4.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a0c6da9aee33ff0b1a451e867da0c1f47408112b3391dd43133838339e410963"}, - {file = "frozenlist-1.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:93ea75c050c5bb3d98016b4ba2497851eadf0ac154d88a67d7a6816206f6fa7f"}, - {file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f61e2dc5ad442c52b4887f1fdc112f97caeff4d9e6ebe78879364ac59f1663e1"}, - {file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aa384489fefeb62321b238e64c07ef48398fe80f9e1e6afeff22e140e0850eef"}, - {file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:10ff5faaa22786315ef57097a279b833ecab1a0bfb07d604c9cbb1c4cdc2ed87"}, - {file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:007df07a6e3eb3e33e9a1fe6a9db7af152bbd8a185f9aaa6ece10a3529e3e1c6"}, - {file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f4f399d28478d1f604c2ff9119907af9726aed73680e5ed1ca634d377abb087"}, - {file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:c5374b80521d3d3f2ec5572e05adc94601985cc526fb276d0c8574a6d749f1b3"}, - {file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:ce31ae3e19f3c902de379cf1323d90c649425b86de7bbdf82871b8a2a0615f3d"}, - {file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:7211ef110a9194b6042449431e08c4d80c0481e5891e58d429df5899690511c2"}, - {file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:556de4430ce324c836789fa4560ca62d1591d2538b8ceb0b4f68fb7b2384a27a"}, - {file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:7645a8e814a3ee34a89c4a372011dcd817964ce8cb273c8ed6119d706e9613e3"}, - {file = "frozenlist-1.4.0-cp39-cp39-win32.whl", hash = "sha256:19488c57c12d4e8095a922f328df3f179c820c212940a498623ed39160bc3c2f"}, - {file = "frozenlist-1.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:6221d84d463fb110bdd7619b69cb43878a11d51cbb9394ae3105d082d5199167"}, - {file = "frozenlist-1.4.0.tar.gz", hash = "sha256:09163bdf0b2907454042edb19f887c6d33806adc71fbd54afc14908bfdc22251"}, + {file = "frozenlist-1.4.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:f9aa1878d1083b276b0196f2dfbe00c9b7e752475ed3b682025ff20c1c1f51ac"}, + {file = "frozenlist-1.4.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:29acab3f66f0f24674b7dc4736477bcd4bc3ad4b896f5f45379a67bce8b96868"}, + {file = "frozenlist-1.4.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:74fb4bee6880b529a0c6560885fce4dc95936920f9f20f53d99a213f7bf66776"}, + {file = "frozenlist-1.4.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:590344787a90ae57d62511dd7c736ed56b428f04cd8c161fcc5e7232c130c69a"}, + {file = "frozenlist-1.4.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:068b63f23b17df8569b7fdca5517edef76171cf3897eb68beb01341131fbd2ad"}, + {file = "frozenlist-1.4.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5c849d495bf5154cd8da18a9eb15db127d4dba2968d88831aff6f0331ea9bd4c"}, + {file = "frozenlist-1.4.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9750cc7fe1ae3b1611bb8cfc3f9ec11d532244235d75901fb6b8e42ce9229dfe"}, + {file = "frozenlist-1.4.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a9b2de4cf0cdd5bd2dee4c4f63a653c61d2408055ab77b151c1957f221cabf2a"}, + {file = "frozenlist-1.4.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:0633c8d5337cb5c77acbccc6357ac49a1770b8c487e5b3505c57b949b4b82e98"}, + {file = "frozenlist-1.4.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:27657df69e8801be6c3638054e202a135c7f299267f1a55ed3a598934f6c0d75"}, + {file = "frozenlist-1.4.1-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:f9a3ea26252bd92f570600098783d1371354d89d5f6b7dfd87359d669f2109b5"}, + {file = "frozenlist-1.4.1-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:4f57dab5fe3407b6c0c1cc907ac98e8a189f9e418f3b6e54d65a718aaafe3950"}, + {file = "frozenlist-1.4.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:e02a0e11cf6597299b9f3bbd3f93d79217cb90cfd1411aec33848b13f5c656cc"}, + {file = "frozenlist-1.4.1-cp310-cp310-win32.whl", hash = "sha256:a828c57f00f729620a442881cc60e57cfcec6842ba38e1b19fd3e47ac0ff8dc1"}, + {file = "frozenlist-1.4.1-cp310-cp310-win_amd64.whl", hash = "sha256:f56e2333dda1fe0f909e7cc59f021eba0d2307bc6f012a1ccf2beca6ba362439"}, + {file = "frozenlist-1.4.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:a0cb6f11204443f27a1628b0e460f37fb30f624be6051d490fa7d7e26d4af3d0"}, + {file = "frozenlist-1.4.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b46c8ae3a8f1f41a0d2ef350c0b6e65822d80772fe46b653ab6b6274f61d4a49"}, + {file = "frozenlist-1.4.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:fde5bd59ab5357e3853313127f4d3565fc7dad314a74d7b5d43c22c6a5ed2ced"}, + {file = "frozenlist-1.4.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:722e1124aec435320ae01ee3ac7bec11a5d47f25d0ed6328f2273d287bc3abb0"}, + {file = "frozenlist-1.4.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2471c201b70d58a0f0c1f91261542a03d9a5e088ed3dc6c160d614c01649c106"}, + {file = "frozenlist-1.4.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c757a9dd70d72b076d6f68efdbb9bc943665ae954dad2801b874c8c69e185068"}, + {file = "frozenlist-1.4.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f146e0911cb2f1da549fc58fc7bcd2b836a44b79ef871980d605ec392ff6b0d2"}, + {file = "frozenlist-1.4.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4f9c515e7914626b2a2e1e311794b4c35720a0be87af52b79ff8e1429fc25f19"}, + {file = "frozenlist-1.4.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:c302220494f5c1ebeb0912ea782bcd5e2f8308037b3c7553fad0e48ebad6ad82"}, + {file = "frozenlist-1.4.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:442acde1e068288a4ba7acfe05f5f343e19fac87bfc96d89eb886b0363e977ec"}, + {file = "frozenlist-1.4.1-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:1b280e6507ea8a4fa0c0a7150b4e526a8d113989e28eaaef946cc77ffd7efc0a"}, + {file = "frozenlist-1.4.1-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:fe1a06da377e3a1062ae5fe0926e12b84eceb8a50b350ddca72dc85015873f74"}, + {file = "frozenlist-1.4.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:db9e724bebd621d9beca794f2a4ff1d26eed5965b004a97f1f1685a173b869c2"}, + {file = "frozenlist-1.4.1-cp311-cp311-win32.whl", hash = "sha256:e774d53b1a477a67838a904131c4b0eef6b3d8a651f8b138b04f748fccfefe17"}, + {file = "frozenlist-1.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:fb3c2db03683b5767dedb5769b8a40ebb47d6f7f45b1b3e3b4b51ec8ad9d9825"}, + {file = "frozenlist-1.4.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:1979bc0aeb89b33b588c51c54ab0161791149f2461ea7c7c946d95d5f93b56ae"}, + {file = "frozenlist-1.4.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:cc7b01b3754ea68a62bd77ce6020afaffb44a590c2289089289363472d13aedb"}, + {file = "frozenlist-1.4.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:c9c92be9fd329ac801cc420e08452b70e7aeab94ea4233a4804f0915c14eba9b"}, + {file = "frozenlist-1.4.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5c3894db91f5a489fc8fa6a9991820f368f0b3cbdb9cd8849547ccfab3392d86"}, + {file = "frozenlist-1.4.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ba60bb19387e13597fb059f32cd4d59445d7b18b69a745b8f8e5db0346f33480"}, + {file = "frozenlist-1.4.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8aefbba5f69d42246543407ed2461db31006b0f76c4e32dfd6f42215a2c41d09"}, + {file = "frozenlist-1.4.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:780d3a35680ced9ce682fbcf4cb9c2bad3136eeff760ab33707b71db84664e3a"}, + {file = "frozenlist-1.4.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9acbb16f06fe7f52f441bb6f413ebae6c37baa6ef9edd49cdd567216da8600cd"}, + {file = "frozenlist-1.4.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:23b701e65c7b36e4bf15546a89279bd4d8675faabc287d06bbcfac7d3c33e1e6"}, + {file = "frozenlist-1.4.1-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:3e0153a805a98f5ada7e09826255ba99fb4f7524bb81bf6b47fb702666484ae1"}, + {file = "frozenlist-1.4.1-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:dd9b1baec094d91bf36ec729445f7769d0d0cf6b64d04d86e45baf89e2b9059b"}, + {file = "frozenlist-1.4.1-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:1a4471094e146b6790f61b98616ab8e44f72661879cc63fa1049d13ef711e71e"}, + {file = "frozenlist-1.4.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:5667ed53d68d91920defdf4035d1cdaa3c3121dc0b113255124bcfada1cfa1b8"}, + {file = "frozenlist-1.4.1-cp312-cp312-win32.whl", hash = "sha256:beee944ae828747fd7cb216a70f120767fc9f4f00bacae8543c14a6831673f89"}, + {file = "frozenlist-1.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:64536573d0a2cb6e625cf309984e2d873979709f2cf22839bf2d61790b448ad5"}, + {file = "frozenlist-1.4.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:20b51fa3f588ff2fe658663db52a41a4f7aa6c04f6201449c6c7c476bd255c0d"}, + {file = "frozenlist-1.4.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:410478a0c562d1a5bcc2f7ea448359fcb050ed48b3c6f6f4f18c313a9bdb1826"}, + {file = "frozenlist-1.4.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:c6321c9efe29975232da3bd0af0ad216800a47e93d763ce64f291917a381b8eb"}, + {file = "frozenlist-1.4.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:48f6a4533887e189dae092f1cf981f2e3885175f7a0f33c91fb5b7b682b6bab6"}, + {file = "frozenlist-1.4.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6eb73fa5426ea69ee0e012fb59cdc76a15b1283d6e32e4f8dc4482ec67d1194d"}, + {file = "frozenlist-1.4.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fbeb989b5cc29e8daf7f976b421c220f1b8c731cbf22b9130d8815418ea45887"}, + {file = "frozenlist-1.4.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:32453c1de775c889eb4e22f1197fe3bdfe457d16476ea407472b9442e6295f7a"}, + {file = "frozenlist-1.4.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:693945278a31f2086d9bf3df0fe8254bbeaef1fe71e1351c3bd730aa7d31c41b"}, + {file = "frozenlist-1.4.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:1d0ce09d36d53bbbe566fe296965b23b961764c0bcf3ce2fa45f463745c04701"}, + {file = "frozenlist-1.4.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:3a670dc61eb0d0eb7080890c13de3066790f9049b47b0de04007090807c776b0"}, + {file = "frozenlist-1.4.1-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:dca69045298ce5c11fd539682cff879cc1e664c245d1c64da929813e54241d11"}, + {file = "frozenlist-1.4.1-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:a06339f38e9ed3a64e4c4e43aec7f59084033647f908e4259d279a52d3757d09"}, + {file = "frozenlist-1.4.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:b7f2f9f912dca3934c1baec2e4585a674ef16fe00218d833856408c48d5beee7"}, + {file = "frozenlist-1.4.1-cp38-cp38-win32.whl", hash = "sha256:e7004be74cbb7d9f34553a5ce5fb08be14fb33bc86f332fb71cbe5216362a497"}, + {file = "frozenlist-1.4.1-cp38-cp38-win_amd64.whl", hash = "sha256:5a7d70357e7cee13f470c7883a063aae5fe209a493c57d86eb7f5a6f910fae09"}, + {file = "frozenlist-1.4.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:bfa4a17e17ce9abf47a74ae02f32d014c5e9404b6d9ac7f729e01562bbee601e"}, + {file = "frozenlist-1.4.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b7e3ed87d4138356775346e6845cccbe66cd9e207f3cd11d2f0b9fd13681359d"}, + {file = "frozenlist-1.4.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c99169d4ff810155ca50b4da3b075cbde79752443117d89429595c2e8e37fed8"}, + {file = "frozenlist-1.4.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:edb678da49d9f72c9f6c609fbe41a5dfb9a9282f9e6a2253d5a91e0fc382d7c0"}, + {file = "frozenlist-1.4.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6db4667b187a6742b33afbbaf05a7bc551ffcf1ced0000a571aedbb4aa42fc7b"}, + {file = "frozenlist-1.4.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:55fdc093b5a3cb41d420884cdaf37a1e74c3c37a31f46e66286d9145d2063bd0"}, + {file = "frozenlist-1.4.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:82e8211d69a4f4bc360ea22cd6555f8e61a1bd211d1d5d39d3d228b48c83a897"}, + {file = "frozenlist-1.4.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:89aa2c2eeb20957be2d950b85974b30a01a762f3308cd02bb15e1ad632e22dc7"}, + {file = "frozenlist-1.4.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9d3e0c25a2350080e9319724dede4f31f43a6c9779be48021a7f4ebde8b2d742"}, + {file = "frozenlist-1.4.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7268252af60904bf52c26173cbadc3a071cece75f873705419c8681f24d3edea"}, + {file = "frozenlist-1.4.1-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:0c250a29735d4f15321007fb02865f0e6b6a41a6b88f1f523ca1596ab5f50bd5"}, + {file = "frozenlist-1.4.1-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:96ec70beabbd3b10e8bfe52616a13561e58fe84c0101dd031dc78f250d5128b9"}, + {file = "frozenlist-1.4.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:23b2d7679b73fe0e5a4560b672a39f98dfc6f60df63823b0a9970525325b95f6"}, + {file = "frozenlist-1.4.1-cp39-cp39-win32.whl", hash = "sha256:a7496bfe1da7fb1a4e1cc23bb67c58fab69311cc7d32b5a99c2007b4b2a0e932"}, + {file = "frozenlist-1.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:e6a20a581f9ce92d389a8c7d7c3dd47c81fd5d6e655c8dddf341e14aa48659d0"}, + {file = "frozenlist-1.4.1-py3-none-any.whl", hash = "sha256:04ced3e6a46b4cfffe20f9ae482818e34eba9b5fb0ce4056e4cc9b6e212d09b7"}, + {file = "frozenlist-1.4.1.tar.gz", hash = "sha256:c037a86e8513059a2613aaba4d817bb90b9d9b6b69aace3ce9c877e8c8ed402b"}, ] [[package]] name = "future" -version = "0.18.3" +version = "1.0.0" description = "Clean single-source support for Python 3 and 2" -category = "main" optional = false python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" files = [ - {file = "future-0.18.3.tar.gz", hash = "sha256:34a17436ed1e96697a86f9de3d15a3b0be01d8bc8de9c1dffd59fb8234ed5307"}, + {file = "future-1.0.0-py3-none-any.whl", hash = "sha256:929292d34f5872e70396626ef385ec22355a1fae8ad29e1a734c3e43f9fbc216"}, + {file = "future-1.0.0.tar.gz", hash = "sha256:bd2968309307861edae1458a4f8a4f3598c03be43b97521076aebf5d94c07b05"}, ] [[package]] name = "genie" -version = "23.9" +version = "24.6" description = "Genie: THE standard pyATS Library System" -category = "dev" optional = false -python-versions = ">=3.5" +python-versions = ">=3.8" files = [ - {file = "genie-23.9-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:116d09921d48a133f619af5915a87d4919818ac498e8809ebe410fbac6bf0194"}, - {file = "genie-23.9-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:9ae6d81256025743338618672ca439747ae39cbef42e329f36dea748b3eec4be"}, - {file = "genie-23.9-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:fb8ab6df2ad185c85abcd738684b46ae0b5de04410fdb56384525ee3112bec76"}, - {file = "genie-23.9-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:0220832b7c11e2a473ebfe9f7cb9686f36f9e5f00f1fe3728de590a8cc911c4f"}, - {file = "genie-23.9-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3be08027de79ac4e3860c1cbd36e83c981fa55d498f68435928024295f100757"}, - {file = "genie-23.9-cp311-cp311-macosx_11_0_x86_64.whl", hash = "sha256:a4c68f95c069dcff9a58fcd4150420fbb85a1a455945d05f1a5508fcd355dca7"}, - {file = "genie-23.9-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:7e5db04804662eb6507dd6ad9f4879bbadc508091d56fa1c7847486979b5d91f"}, - {file = "genie-23.9-cp311-cp311-manylinux2014_x86_64.whl", hash = "sha256:6d0b4f404e374a6d69940bc3933e0f5d4369c13d6c03cd07ba232fd2446deefc"}, - {file = "genie-23.9-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:9f84cbdcdd3c4849c6630d7cb055acec8950a17679255c62c0513457e58db6c0"}, - {file = "genie-23.9-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:adc7a00df2a85c1abbc9710c2800ecfaf500ed62d0ba088b05bd2a7ae775fd3e"}, - {file = "genie-23.9-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:1839f5e6434d41a8bd3fa04e9711f7cc8490020f341332dae32e80bce379ae22"}, - {file = "genie-23.9-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:1593f24875813f0ad3d8c5b4f8b53909a86e6cba57632283ab28383d98a0ac9c"}, - {file = "genie-23.9-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f9b031917f761dae0ecadd92da8f08050449a894579a7e37cac381ab9a3422c4"}, - {file = "genie-23.9-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:96b1820a3f06d95b6a327a597bce06bff052d4ad07bd03811e082bcf3ddbc110"}, - {file = "genie-23.9-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:ecd0fc5484e18de613e06982c9973f58e6d679f10c040c4620dd9d74bf083b15"}, - {file = "genie-23.9-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:cbeba8aa159a4adda7a2431842ea89940fac579541af9962fc0d62195d2066a6"}, - {file = "genie-23.9-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:929878a04e13d69d6d6f2dffb1ed9e14e00128f7afcb35c1c75d9b3278c4d713"}, + {file = "genie-24.6-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:a616d06b98b219e6770f628a2bca7a366722010544360c44402042a2989bd470"}, + {file = "genie-24.6-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:2041d9f1b5a8567c645cf138c771ff3a33b2620956e1c8e0c12c749508ab6db6"}, + {file = "genie-24.6-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:308343bdf3e9aa7025bf4adaeb15d35eaae48e95bec42d89443ac0f30d714917"}, + {file = "genie-24.6-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:3ee2f1434f9f0066cca876a89e2adde61d2aeba2a9eecc62b79cb1b8c5770d1f"}, + {file = "genie-24.6-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:939d8aafc36ebec96dfa00ffe35f2810c3e43dbd19e2197abe625dfc6cf8fa2c"}, + {file = "genie-24.6-cp311-cp311-manylinux2014_x86_64.whl", hash = "sha256:ca3260c2bba48092320c4db055297cb04a255a37873f1e14a002aede708cc02f"}, + {file = "genie-24.6-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:fc1a75ec57c1dfc2ca22f91105457048082468dd68d9718ed8ddf75bab51af31"}, + {file = "genie-24.6-cp312-cp312-manylinux2014_aarch64.whl", hash = "sha256:f06f431fb970aa47d85eb3bf2ed5f097f40a1a884ada6e613999d39cec71efef"}, + {file = "genie-24.6-cp312-cp312-manylinux2014_x86_64.whl", hash = "sha256:e11ca159952850c565f952b42b7fad0ae4506363e12aa3c68ff06780c72f2764"}, + {file = "genie-24.6-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:73cf8757e7b3f636fce66eb140d703478ae844e8c237a516beb3acebdf8df30d"}, + {file = "genie-24.6-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:6ea4768958e1392c0c8e19fa6821f6ecaf387fc94eeb54604e313702734b1ba6"}, + {file = "genie-24.6-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:d81651049a4c6e85d711c7de390c76d59bbf5462af94b3c64189d34b80b41c4a"}, + {file = "genie-24.6-cp39-cp39-macosx_11_0_universal2.whl", hash = "sha256:7d44adaf698fae044db46827106b85214fd9ba53ba5479140ac05a2e4406b3aa"}, + {file = "genie-24.6-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:37baefd1703d2740055353c13f73250b4a05f184117bee603753cfe774961d37"}, + {file = "genie-24.6-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:9b97ca35ba2bf9edec82969f3a2d87070934046543d01147104f74114004a4ae"}, + {file = "genie-24.6-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:953b43f90349ea64f4292b02a5f765f7bcc21190dbcf6bacf9053e14c144f674"}, ] [package.dependencies] dill = "*" -"genie.libs.clean" = ">=23.9.0,<23.10.0" -"genie.libs.conf" = ">=23.9.0,<23.10.0" -"genie.libs.filetransferutils" = ">=23.9.0,<23.10.0" -"genie.libs.health" = ">=23.9.0,<23.10.0" -"genie.libs.ops" = ">=23.9.0,<23.10.0" -"genie.libs.parser" = ">=23.9.0,<23.10.0" -"genie.libs.sdk" = ">=23.9.0,<23.10.0" +"genie.libs.clean" = ">=24.6.0,<24.7.0" +"genie.libs.conf" = ">=24.6.0,<24.7.0" +"genie.libs.filetransferutils" = ">=24.6.0,<24.7.0" +"genie.libs.health" = ">=24.6.0,<24.7.0" +"genie.libs.ops" = ">=24.6.0,<24.7.0" +"genie.libs.parser" = ">=24.6.0,<24.7.0" +"genie.libs.sdk" = ">=24.6.0,<24.7.0" jsonpickle = "*" -netaddr = "*" +netaddr = "<1.0.0" PrettyTable = "*" tqdm = "*" [package.extras] dev = ["Sphinx", "coverage", "restview", "sphinx-rtd-theme"] -full = ["genie.libs.clean", "genie.libs.conf", "genie.libs.filetransferutils", "genie.libs.health", "genie.libs.ops", "genie.libs.parser", "genie.libs.robot (>=23.9.0,<23.10.0)", "genie.libs.sdk", "genie.telemetry (>=23.9.0,<23.10.0)", "genie.trafficgen (>=23.9.0,<23.10.0)", "pyats.robot (>=23.9.0,<23.10.0)"] -robot = ["genie.libs.robot (>=23.9.0,<23.10.0)", "pyats.robot (>=23.9.0,<23.10.0)"] +full = ["genie.libs.clean", "genie.libs.conf", "genie.libs.filetransferutils", "genie.libs.health", "genie.libs.ops", "genie.libs.parser", "genie.libs.robot (>=24.6.0,<24.7.0)", "genie.libs.sdk", "genie.telemetry (>=24.6.0,<24.7.0)", "genie.trafficgen (>=24.6.0,<24.7.0)", "pyats.robot (>=24.6.0,<24.7.0)"] +robot = ["genie.libs.robot (>=24.6.0,<24.7.0)", "pyats.robot (>=24.6.0,<24.7.0)"] [[package]] name = "genie-libs-clean" -version = "23.9" +version = "24.6" description = "Genie Library for device clean support" -category = "dev" optional = false python-versions = "*" files = [ - {file = "genie.libs.clean-23.9-py3-none-any.whl", hash = "sha256:472ea69c81a5bada7d171c6203aba1d7c7944bb6a6b2d267460b17ef34094f47"}, + {file = "genie.libs.clean-24.6-py3-none-any.whl", hash = "sha256:5e751c6be5424a38b5623cf18650faefb271707679a41984853aaa4563780bf4"}, ] [package.dependencies] @@ -774,13 +795,12 @@ dev = ["Sphinx", "coverage", "paramiko", "restview", "sphinx-rtd-theme", "sphinx [[package]] name = "genie-libs-conf" -version = "23.9" +version = "24.6" description = "Genie libs Conf: Libraries to configures topology through Python object attributes" -category = "dev" optional = false python-versions = "*" files = [ - {file = "genie.libs.conf-23.9-py3-none-any.whl", hash = "sha256:da86d33a011860d4d28711e3325a0d4273e5ce79e83280dff3406936c1ec73e3"}, + {file = "genie.libs.conf-24.6-py3-none-any.whl", hash = "sha256:edb1ff99ff6242b0f5141ba2061dbb0038102187e4552340ec86d9851b74cdaa"}, ] [package.extras] @@ -788,13 +808,12 @@ dev = ["Sphinx", "coverage", "restview", "sphinx-rtd-theme"] [[package]] name = "genie-libs-filetransferutils" -version = "23.9" +version = "24.6" description = "Genie libs FileTransferUtils: Genie FileTransferUtils Libraries" -category = "dev" optional = false python-versions = "*" files = [ - {file = "genie.libs.filetransferutils-23.9-py3-none-any.whl", hash = "sha256:38fa34ba8645216766ae41b6ec7134000639946d1ddc0b43bccfdfd62a7a1c56"}, + {file = "genie.libs.filetransferutils-24.6-py3-none-any.whl", hash = "sha256:6348bda9def5a3df55226b8e1a2809ce1f909aaf0fb320280db159e1e0ec7c2f"}, ] [package.dependencies] @@ -807,13 +826,12 @@ dev = ["Sphinx", "coverage", "restview", "sphinx-rtd-theme"] [[package]] name = "genie-libs-health" -version = "23.9" +version = "24.6" description = "pyATS Health Check for monitoring device health status" -category = "dev" optional = false python-versions = "*" files = [ - {file = "genie.libs.health-23.9-py3-none-any.whl", hash = "sha256:211216ffbe964dcd706789b787c0995387a1c93fbfab7251ae1c077dfae6d932"}, + {file = "genie.libs.health-24.6-py3-none-any.whl", hash = "sha256:48f6e68e559e8dcedc52ef4cb59f8ab53aae0714ae0ef115cad81c40fe4c52f0"}, ] [package.dependencies] @@ -826,13 +844,12 @@ dev = ["Sphinx", "coverage", "paramiko", "restview", "sphinx-rtd-theme", "sphinx [[package]] name = "genie-libs-ops" -version = "23.9" +version = "24.6" description = "Genie libs Ops: Libraries to retrieve operational state of the topology" -category = "dev" optional = false python-versions = "*" files = [ - {file = "genie.libs.ops-23.9-py3-none-any.whl", hash = "sha256:f32552d114ee1c1ecc8be6cde022eb82b12612182e6f63db6f9cd24e63bd533c"}, + {file = "genie.libs.ops-24.6-py3-none-any.whl", hash = "sha256:860fbffd9864dd464ba0b56406e50e959e5cfc890a2d9b52552a8b6bbd8c0d99"}, ] [package.extras] @@ -840,13 +857,12 @@ dev = ["Sphinx", "coverage", "restview", "sphinx-rtd-theme"] [[package]] name = "genie-libs-parser" -version = "23.9" +version = "24.6" description = "Genie libs Parser: Genie Parser Libraries" -category = "dev" optional = false python-versions = "*" files = [ - {file = "genie.libs.parser-23.9-py3-none-any.whl", hash = "sha256:716f1d97547ce13be733bc1186c45782d909c41039956f558eb26ce398a5e76c"}, + {file = "genie.libs.parser-24.6-py3-none-any.whl", hash = "sha256:9306b3b5c483b87b0406e96e394480d79edc2c6ea4acdff877bd18f6bdea8db9"}, ] [package.dependencies] @@ -857,21 +873,20 @@ dev = ["Sphinx", "coverage", "restview", "sphinx-rtd-theme"] [[package]] name = "genie-libs-sdk" -version = "23.9" +version = "24.6" description = "Genie libs sdk: Libraries containing all Triggers and Verifications" -category = "dev" optional = false python-versions = "*" files = [ - {file = "genie.libs.sdk-23.9-py3-none-any.whl", hash = "sha256:b2251b7a0b311b17ff1b46969f79cfdfa768c77cd92a2ebf6492707580639ed8"}, + {file = "genie.libs.sdk-24.6-py3-none-any.whl", hash = "sha256:b25089fdb9321805a7cb6821f2e5cb189df75b33f560e69a9af8c43412eedc1d"}, ] [package.dependencies] pyasn1 = "0.4.8" pysnmp-lextudio = "5.0.29" -"rest.connector" = ">=23.9.0,<23.10.0" +"rest.connector" = ">=24.6.0,<24.7.0" "ruamel.yaml" = "*" -"yang.connector" = ">=23.9.0,<23.10.0" +"yang.connector" = ">=24.6.0,<24.7.0" [package.extras] dev = ["Sphinx", "coverage", "grpcio", "rest.connector", "restview", "sphinx-rtd-theme", "sphinxcontrib-napoleon", "xmltodict", "yang.connector"] @@ -880,7 +895,6 @@ dev = ["Sphinx", "coverage", "grpcio", "rest.connector", "restview", "sphinx-rtd name = "gitdb" version = "4.0.11" description = "Git Object Database" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -893,126 +907,132 @@ smmap = ">=3.0.1,<6" [[package]] name = "gitpython" -version = "3.1.40" +version = "3.1.43" description = "GitPython is a Python library used to interact with Git repositories" -category = "dev" optional = false python-versions = ">=3.7" files = [ - {file = "GitPython-3.1.40-py3-none-any.whl", hash = "sha256:cf14627d5a8049ffbf49915732e5eddbe8134c3bdb9d476e6182b676fc573f8a"}, - {file = "GitPython-3.1.40.tar.gz", hash = "sha256:22b126e9ffb671fdd0c129796343a02bf67bf2994b35449ffc9321aa755e18a4"}, + {file = "GitPython-3.1.43-py3-none-any.whl", hash = "sha256:eec7ec56b92aad751f9912a73404bc02ba212a23adb2c7098ee668417051a1ff"}, + {file = "GitPython-3.1.43.tar.gz", hash = "sha256:35f314a9f878467f5453cc1fee295c3e18e52f1b99f10f6cf5b1682e968a9e7c"}, ] [package.dependencies] gitdb = ">=4.0.1,<5" [package.extras] -test = ["black", "coverage[toml]", "ddt (>=1.1.1,!=1.4.3)", "mock", "mypy", "pre-commit", "pytest", "pytest-cov", "pytest-instafail", "pytest-subtests", "pytest-sugar"] +doc = ["sphinx (==4.3.2)", "sphinx-autodoc-typehints", "sphinx-rtd-theme", "sphinxcontrib-applehelp (>=1.0.2,<=1.0.4)", "sphinxcontrib-devhelp (==1.0.2)", "sphinxcontrib-htmlhelp (>=2.0.0,<=2.0.1)", "sphinxcontrib-qthelp (==1.0.3)", "sphinxcontrib-serializinghtml (==1.1.5)"] +test = ["coverage[toml]", "ddt (>=1.1.1,!=1.4.3)", "mock", "mypy", "pre-commit", "pytest (>=7.3.1)", "pytest-cov", "pytest-instafail", "pytest-mock", "pytest-sugar", "typing-extensions"] [[package]] name = "grpcio" -version = "1.59.0" +version = "1.64.1" description = "HTTP/2-based RPC framework" -category = "dev" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "grpcio-1.59.0-cp310-cp310-linux_armv7l.whl", hash = "sha256:225e5fa61c35eeaebb4e7491cd2d768cd8eb6ed00f2664fa83a58f29418b39fd"}, - {file = "grpcio-1.59.0-cp310-cp310-macosx_12_0_universal2.whl", hash = "sha256:b95ec8ecc4f703f5caaa8d96e93e40c7f589bad299a2617bdb8becbcce525539"}, - {file = "grpcio-1.59.0-cp310-cp310-manylinux_2_17_aarch64.whl", hash = "sha256:1a839ba86764cc48226f50b924216000c79779c563a301586a107bda9cbe9dcf"}, - {file = "grpcio-1.59.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f6cfe44a5d7c7d5f1017a7da1c8160304091ca5dc64a0f85bca0d63008c3137a"}, - {file = "grpcio-1.59.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d0fcf53df684fcc0154b1e61f6b4a8c4cf5f49d98a63511e3f30966feff39cd0"}, - {file = "grpcio-1.59.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:fa66cac32861500f280bb60fe7d5b3e22d68c51e18e65367e38f8669b78cea3b"}, - {file = "grpcio-1.59.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:8cd2d38c2d52f607d75a74143113174c36d8a416d9472415eab834f837580cf7"}, - {file = "grpcio-1.59.0-cp310-cp310-win32.whl", hash = "sha256:228b91ce454876d7eed74041aff24a8f04c0306b7250a2da99d35dd25e2a1211"}, - {file = "grpcio-1.59.0-cp310-cp310-win_amd64.whl", hash = "sha256:ca87ee6183421b7cea3544190061f6c1c3dfc959e0b57a5286b108511fd34ff4"}, - {file = "grpcio-1.59.0-cp311-cp311-linux_armv7l.whl", hash = "sha256:c173a87d622ea074ce79be33b952f0b424fa92182063c3bda8625c11d3585d09"}, - {file = "grpcio-1.59.0-cp311-cp311-macosx_10_10_universal2.whl", hash = "sha256:ec78aebb9b6771d6a1de7b6ca2f779a2f6113b9108d486e904bde323d51f5589"}, - {file = "grpcio-1.59.0-cp311-cp311-manylinux_2_17_aarch64.whl", hash = "sha256:0b84445fa94d59e6806c10266b977f92fa997db3585f125d6b751af02ff8b9fe"}, - {file = "grpcio-1.59.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c251d22de8f9f5cca9ee47e4bade7c5c853e6e40743f47f5cc02288ee7a87252"}, - {file = "grpcio-1.59.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:956f0b7cb465a65de1bd90d5a7475b4dc55089b25042fe0f6c870707e9aabb1d"}, - {file = "grpcio-1.59.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:38da5310ef84e16d638ad89550b5b9424df508fd5c7b968b90eb9629ca9be4b9"}, - {file = "grpcio-1.59.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:63982150a7d598281fa1d7ffead6096e543ff8be189d3235dd2b5604f2c553e5"}, - {file = "grpcio-1.59.0-cp311-cp311-win32.whl", hash = "sha256:50eff97397e29eeee5df106ea1afce3ee134d567aa2c8e04fabab05c79d791a7"}, - {file = "grpcio-1.59.0-cp311-cp311-win_amd64.whl", hash = "sha256:15f03bd714f987d48ae57fe092cf81960ae36da4e520e729392a59a75cda4f29"}, - {file = "grpcio-1.59.0-cp312-cp312-linux_armv7l.whl", hash = "sha256:f1feb034321ae2f718172d86b8276c03599846dc7bb1792ae370af02718f91c5"}, - {file = "grpcio-1.59.0-cp312-cp312-macosx_10_10_universal2.whl", hash = "sha256:d09bd2a4e9f5a44d36bb8684f284835c14d30c22d8ec92ce796655af12163588"}, - {file = "grpcio-1.59.0-cp312-cp312-manylinux_2_17_aarch64.whl", hash = "sha256:2f120d27051e4c59db2f267b71b833796770d3ea36ca712befa8c5fff5da6ebd"}, - {file = "grpcio-1.59.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ba0ca727a173ee093f49ead932c051af463258b4b493b956a2c099696f38aa66"}, - {file = "grpcio-1.59.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5711c51e204dc52065f4a3327dca46e69636a0b76d3e98c2c28c4ccef9b04c52"}, - {file = "grpcio-1.59.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:d74f7d2d7c242a6af9d4d069552ec3669965b74fed6b92946e0e13b4168374f9"}, - {file = "grpcio-1.59.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:3859917de234a0a2a52132489c4425a73669de9c458b01c9a83687f1f31b5b10"}, - {file = "grpcio-1.59.0-cp312-cp312-win32.whl", hash = "sha256:de2599985b7c1b4ce7526e15c969d66b93687571aa008ca749d6235d056b7205"}, - {file = "grpcio-1.59.0-cp312-cp312-win_amd64.whl", hash = "sha256:598f3530231cf10ae03f4ab92d48c3be1fee0c52213a1d5958df1a90957e6a88"}, - {file = "grpcio-1.59.0-cp37-cp37m-linux_armv7l.whl", hash = "sha256:b34c7a4c31841a2ea27246a05eed8a80c319bfc0d3e644412ec9ce437105ff6c"}, - {file = "grpcio-1.59.0-cp37-cp37m-macosx_10_10_universal2.whl", hash = "sha256:c4dfdb49f4997dc664f30116af2d34751b91aa031f8c8ee251ce4dcfc11277b0"}, - {file = "grpcio-1.59.0-cp37-cp37m-manylinux_2_17_aarch64.whl", hash = "sha256:61bc72a00ecc2b79d9695220b4d02e8ba53b702b42411397e831c9b0589f08a3"}, - {file = "grpcio-1.59.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f367e4b524cb319e50acbdea57bb63c3b717c5d561974ace0b065a648bb3bad3"}, - {file = "grpcio-1.59.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:849c47ef42424c86af069a9c5e691a765e304079755d5c29eff511263fad9c2a"}, - {file = "grpcio-1.59.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:c0488c2b0528e6072010182075615620071371701733c63ab5be49140ed8f7f0"}, - {file = "grpcio-1.59.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:611d9aa0017fa386809bddcb76653a5ab18c264faf4d9ff35cb904d44745f575"}, - {file = "grpcio-1.59.0-cp37-cp37m-win_amd64.whl", hash = "sha256:e5378785dce2b91eb2e5b857ec7602305a3b5cf78311767146464bfa365fc897"}, - {file = "grpcio-1.59.0-cp38-cp38-linux_armv7l.whl", hash = "sha256:fe976910de34d21057bcb53b2c5e667843588b48bf11339da2a75f5c4c5b4055"}, - {file = "grpcio-1.59.0-cp38-cp38-macosx_10_10_universal2.whl", hash = "sha256:c041a91712bf23b2a910f61e16565a05869e505dc5a5c025d429ca6de5de842c"}, - {file = "grpcio-1.59.0-cp38-cp38-manylinux_2_17_aarch64.whl", hash = "sha256:0ae444221b2c16d8211b55326f8ba173ba8f8c76349bfc1768198ba592b58f74"}, - {file = "grpcio-1.59.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ceb1e68135788c3fce2211de86a7597591f0b9a0d2bb80e8401fd1d915991bac"}, - {file = "grpcio-1.59.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c4b1cc3a9dc1924d2eb26eec8792fedd4b3fcd10111e26c1d551f2e4eda79ce"}, - {file = "grpcio-1.59.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:871371ce0c0055d3db2a86fdebd1e1d647cf21a8912acc30052660297a5a6901"}, - {file = "grpcio-1.59.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:93e9cb546e610829e462147ce724a9cb108e61647a3454500438a6deef610be1"}, - {file = "grpcio-1.59.0-cp38-cp38-win32.whl", hash = "sha256:f21917aa50b40842b51aff2de6ebf9e2f6af3fe0971c31960ad6a3a2b24988f4"}, - {file = "grpcio-1.59.0-cp38-cp38-win_amd64.whl", hash = "sha256:14890da86a0c0e9dc1ea8e90101d7a3e0e7b1e71f4487fab36e2bfd2ecadd13c"}, - {file = "grpcio-1.59.0-cp39-cp39-linux_armv7l.whl", hash = "sha256:34341d9e81a4b669a5f5dca3b2a760b6798e95cdda2b173e65d29d0b16692857"}, - {file = "grpcio-1.59.0-cp39-cp39-macosx_10_10_universal2.whl", hash = "sha256:986de4aa75646e963466b386a8c5055c8b23a26a36a6c99052385d6fe8aaf180"}, - {file = "grpcio-1.59.0-cp39-cp39-manylinux_2_17_aarch64.whl", hash = "sha256:aca8a24fef80bef73f83eb8153f5f5a0134d9539b4c436a716256b311dda90a6"}, - {file = "grpcio-1.59.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:936b2e04663660c600d5173bc2cc84e15adbad9c8f71946eb833b0afc205b996"}, - {file = "grpcio-1.59.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc8bf2e7bc725e76c0c11e474634a08c8f24bcf7426c0c6d60c8f9c6e70e4d4a"}, - {file = "grpcio-1.59.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:81d86a096ccd24a57fa5772a544c9e566218bc4de49e8c909882dae9d73392df"}, - {file = "grpcio-1.59.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:2ea95cd6abbe20138b8df965b4a8674ec312aaef3147c0f46a0bac661f09e8d0"}, - {file = "grpcio-1.59.0-cp39-cp39-win32.whl", hash = "sha256:3b8ff795d35a93d1df6531f31c1502673d1cebeeba93d0f9bd74617381507e3f"}, - {file = "grpcio-1.59.0-cp39-cp39-win_amd64.whl", hash = "sha256:38823bd088c69f59966f594d087d3a929d1ef310506bee9e3648317660d65b81"}, - {file = "grpcio-1.59.0.tar.gz", hash = "sha256:acf70a63cf09dd494000007b798aff88a436e1c03b394995ce450be437b8e54f"}, -] - -[package.extras] -protobuf = ["grpcio-tools (>=1.59.0)"] + {file = "grpcio-1.64.1-cp310-cp310-linux_armv7l.whl", hash = "sha256:55697ecec192bc3f2f3cc13a295ab670f51de29884ca9ae6cd6247df55df2502"}, + {file = "grpcio-1.64.1-cp310-cp310-macosx_12_0_universal2.whl", hash = "sha256:3b64ae304c175671efdaa7ec9ae2cc36996b681eb63ca39c464958396697daff"}, + {file = "grpcio-1.64.1-cp310-cp310-manylinux_2_17_aarch64.whl", hash = "sha256:bac71b4b28bc9af61efcdc7630b166440bbfbaa80940c9a697271b5e1dabbc61"}, + {file = "grpcio-1.64.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6c024ffc22d6dc59000faf8ad781696d81e8e38f4078cb0f2630b4a3cf231a90"}, + {file = "grpcio-1.64.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e7cd5c1325f6808b8ae31657d281aadb2a51ac11ab081ae335f4f7fc44c1721d"}, + {file = "grpcio-1.64.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:0a2813093ddb27418a4c99f9b1c223fab0b053157176a64cc9db0f4557b69bd9"}, + {file = "grpcio-1.64.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:2981c7365a9353f9b5c864595c510c983251b1ab403e05b1ccc70a3d9541a73b"}, + {file = "grpcio-1.64.1-cp310-cp310-win32.whl", hash = "sha256:1262402af5a511c245c3ae918167eca57342c72320dffae5d9b51840c4b2f86d"}, + {file = "grpcio-1.64.1-cp310-cp310-win_amd64.whl", hash = "sha256:19264fc964576ddb065368cae953f8d0514ecc6cb3da8903766d9fb9d4554c33"}, + {file = "grpcio-1.64.1-cp311-cp311-linux_armv7l.whl", hash = "sha256:58b1041e7c870bb30ee41d3090cbd6f0851f30ae4eb68228955d973d3efa2e61"}, + {file = "grpcio-1.64.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:bbc5b1d78a7822b0a84c6f8917faa986c1a744e65d762ef6d8be9d75677af2ca"}, + {file = "grpcio-1.64.1-cp311-cp311-manylinux_2_17_aarch64.whl", hash = "sha256:5841dd1f284bd1b3d8a6eca3a7f062b06f1eec09b184397e1d1d43447e89a7ae"}, + {file = "grpcio-1.64.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8caee47e970b92b3dd948371230fcceb80d3f2277b3bf7fbd7c0564e7d39068e"}, + {file = "grpcio-1.64.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:73819689c169417a4f978e562d24f2def2be75739c4bed1992435d007819da1b"}, + {file = "grpcio-1.64.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:6503b64c8b2dfad299749cad1b595c650c91e5b2c8a1b775380fcf8d2cbba1e9"}, + {file = "grpcio-1.64.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:1de403fc1305fd96cfa75e83be3dee8538f2413a6b1685b8452301c7ba33c294"}, + {file = "grpcio-1.64.1-cp311-cp311-win32.whl", hash = "sha256:d4d29cc612e1332237877dfa7fe687157973aab1d63bd0f84cf06692f04c0367"}, + {file = "grpcio-1.64.1-cp311-cp311-win_amd64.whl", hash = "sha256:5e56462b05a6f860b72f0fa50dca06d5b26543a4e88d0396259a07dc30f4e5aa"}, + {file = "grpcio-1.64.1-cp312-cp312-linux_armv7l.whl", hash = "sha256:4657d24c8063e6095f850b68f2d1ba3b39f2b287a38242dcabc166453e950c59"}, + {file = "grpcio-1.64.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:62b4e6eb7bf901719fce0ca83e3ed474ae5022bb3827b0a501e056458c51c0a1"}, + {file = "grpcio-1.64.1-cp312-cp312-manylinux_2_17_aarch64.whl", hash = "sha256:ee73a2f5ca4ba44fa33b4d7d2c71e2c8a9e9f78d53f6507ad68e7d2ad5f64a22"}, + {file = "grpcio-1.64.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:198908f9b22e2672a998870355e226a725aeab327ac4e6ff3a1399792ece4762"}, + {file = "grpcio-1.64.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:39b9d0acaa8d835a6566c640f48b50054f422d03e77e49716d4c4e8e279665a1"}, + {file = "grpcio-1.64.1-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:5e42634a989c3aa6049f132266faf6b949ec2a6f7d302dbb5c15395b77d757eb"}, + {file = "grpcio-1.64.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:b1a82e0b9b3022799c336e1fc0f6210adc019ae84efb7321d668129d28ee1efb"}, + {file = "grpcio-1.64.1-cp312-cp312-win32.whl", hash = "sha256:55260032b95c49bee69a423c2f5365baa9369d2f7d233e933564d8a47b893027"}, + {file = "grpcio-1.64.1-cp312-cp312-win_amd64.whl", hash = "sha256:c1a786ac592b47573a5bb7e35665c08064a5d77ab88a076eec11f8ae86b3e3f6"}, + {file = "grpcio-1.64.1-cp38-cp38-linux_armv7l.whl", hash = "sha256:a011ac6c03cfe162ff2b727bcb530567826cec85eb8d4ad2bfb4bd023287a52d"}, + {file = "grpcio-1.64.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:4d6dab6124225496010bd22690f2d9bd35c7cbb267b3f14e7a3eb05c911325d4"}, + {file = "grpcio-1.64.1-cp38-cp38-manylinux_2_17_aarch64.whl", hash = "sha256:a5e771d0252e871ce194d0fdcafd13971f1aae0ddacc5f25615030d5df55c3a2"}, + {file = "grpcio-1.64.1-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2c3c1b90ab93fed424e454e93c0ed0b9d552bdf1b0929712b094f5ecfe7a23ad"}, + {file = "grpcio-1.64.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:20405cb8b13fd779135df23fabadc53b86522d0f1cba8cca0e87968587f50650"}, + {file = "grpcio-1.64.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:0cc79c982ccb2feec8aad0e8fb0d168bcbca85bc77b080d0d3c5f2f15c24ea8f"}, + {file = "grpcio-1.64.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:a3a035c37ce7565b8f4f35ff683a4db34d24e53dc487e47438e434eb3f701b2a"}, + {file = "grpcio-1.64.1-cp38-cp38-win32.whl", hash = "sha256:1257b76748612aca0f89beec7fa0615727fd6f2a1ad580a9638816a4b2eb18fd"}, + {file = "grpcio-1.64.1-cp38-cp38-win_amd64.whl", hash = "sha256:0a12ddb1678ebc6a84ec6b0487feac020ee2b1659cbe69b80f06dbffdb249122"}, + {file = "grpcio-1.64.1-cp39-cp39-linux_armv7l.whl", hash = "sha256:75dbbf415026d2862192fe1b28d71f209e2fd87079d98470db90bebe57b33179"}, + {file = "grpcio-1.64.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:e3d9f8d1221baa0ced7ec7322a981e28deb23749c76eeeb3d33e18b72935ab62"}, + {file = "grpcio-1.64.1-cp39-cp39-manylinux_2_17_aarch64.whl", hash = "sha256:5f8b75f64d5d324c565b263c67dbe4f0af595635bbdd93bb1a88189fc62ed2e5"}, + {file = "grpcio-1.64.1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c84ad903d0d94311a2b7eea608da163dace97c5fe9412ea311e72c3684925602"}, + {file = "grpcio-1.64.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:940e3ec884520155f68a3b712d045e077d61c520a195d1a5932c531f11883489"}, + {file = "grpcio-1.64.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f10193c69fc9d3d726e83bbf0f3d316f1847c3071c8c93d8090cf5f326b14309"}, + {file = "grpcio-1.64.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ac15b6c2c80a4d1338b04d42a02d376a53395ddf0ec9ab157cbaf44191f3ffdd"}, + {file = "grpcio-1.64.1-cp39-cp39-win32.whl", hash = "sha256:03b43d0ccf99c557ec671c7dede64f023c7da9bb632ac65dbc57f166e4970040"}, + {file = "grpcio-1.64.1-cp39-cp39-win_amd64.whl", hash = "sha256:ed6091fa0adcc7e4ff944090cf203a52da35c37a130efa564ded02b7aff63bcd"}, + {file = "grpcio-1.64.1.tar.gz", hash = "sha256:8d51dd1c59d5fa0f34266b80a3805ec29a1f26425c2a54736133f6d87fc4968a"}, +] + +[package.extras] +protobuf = ["grpcio-tools (>=1.64.1)"] [[package]] name = "idna" -version = "3.4" +version = "3.7" description = "Internationalized Domain Names in Applications (IDNA)" -category = "dev" optional = false python-versions = ">=3.5" files = [ - {file = "idna-3.4-py3-none-any.whl", hash = "sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2"}, - {file = "idna-3.4.tar.gz", hash = "sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4"}, + {file = "idna-3.7-py3-none-any.whl", hash = "sha256:82fee1fc78add43492d3a1898bfa6d8a904cc97d8427f683ed8e798d07761aa0"}, + {file = "idna-3.7.tar.gz", hash = "sha256:028ff3aadf0609c1fd278d8ea3089299412a7a8b9bd005dd08b9f8285bcb5cfc"}, ] [[package]] name = "importlib-metadata" -version = "6.8.0" +version = "8.0.0" description = "Read metadata from Python packages" -category = "dev" optional = false python-versions = ">=3.8" files = [ - {file = "importlib_metadata-6.8.0-py3-none-any.whl", hash = "sha256:3ebb78df84a805d7698245025b975d9d67053cd94c79245ba4b3eb694abe68bb"}, - {file = "importlib_metadata-6.8.0.tar.gz", hash = "sha256:dbace7892d8c0c4ac1ad096662232f831d4e64f4c4545bd53016a3e9d4654743"}, + {file = "importlib_metadata-8.0.0-py3-none-any.whl", hash = "sha256:15584cf2b1bf449d98ff8a6ff1abef57bf20f3ac6454f431736cd3e660921b2f"}, + {file = "importlib_metadata-8.0.0.tar.gz", hash = "sha256:188bd24e4c346d3f0a933f275c2fec67050326a856b9a359881d7c2a697e8812"}, ] [package.dependencies] zipp = ">=0.5" [package.extras] -docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] perf = ["ipython"] -testing = ["flufl.flake8", "importlib-resources (>=1.3)", "packaging", "pyfakefs", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-perf (>=0.9.2)", "pytest-ruff"] +test = ["flufl.flake8", "importlib-resources (>=1.3)", "jaraco.test (>=5.4)", "packaging", "pyfakefs", "pytest (>=6,!=8.1.*)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy", "pytest-perf (>=0.9.2)", "pytest-ruff (>=0.2.1)"] + +[[package]] +name = "importlib-resources" +version = "6.4.0" +description = "Read resources from Python packages" +optional = false +python-versions = ">=3.8" +files = [ + {file = "importlib_resources-6.4.0-py3-none-any.whl", hash = "sha256:50d10f043df931902d4194ea07ec57960f66a80449ff867bfe782b4c486ba78c"}, + {file = "importlib_resources-6.4.0.tar.gz", hash = "sha256:cdb2b453b8046ca4e3798eb1d84f3cce1446a0e8e7b5ef4efb600f19fc398145"}, +] + +[package.dependencies] +zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""} + +[package.extras] +docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-lint"] +testing = ["jaraco.test (>=5.4)", "pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy", "pytest-ruff (>=0.2.1)", "zipp (>=3.17)"] [[package]] name = "iniconfig" version = "2.0.0" description = "brain-dead simple config-ini parsing" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1020,16 +1040,84 @@ files = [ {file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"}, ] +[[package]] +name = "jaraco-classes" +version = "3.4.0" +description = "Utility functions for Python class constructs" +optional = false +python-versions = ">=3.8" +files = [ + {file = "jaraco.classes-3.4.0-py3-none-any.whl", hash = "sha256:f662826b6bed8cace05e7ff873ce0f9283b5c924470fe664fff1c2f00f581790"}, + {file = "jaraco.classes-3.4.0.tar.gz", hash = "sha256:47a024b51d0239c0dd8c8540c6c7f484be3b8fcf0b2d85c13825780d3b3f3acd"}, +] + +[package.dependencies] +more-itertools = "*" + +[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-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy", "pytest-ruff (>=0.2.1)"] + +[[package]] +name = "jaraco-context" +version = "5.3.0" +description = "Useful decorators and context managers" +optional = false +python-versions = ">=3.8" +files = [ + {file = "jaraco.context-5.3.0-py3-none-any.whl", hash = "sha256:3e16388f7da43d384a1a7cd3452e72e14732ac9fe459678773a3608a812bf266"}, + {file = "jaraco.context-5.3.0.tar.gz", hash = "sha256:c2f67165ce1f9be20f32f650f25d8edfc1646a8aeee48ae06fb35f90763576d2"}, +] + +[package.dependencies] +"backports.tarfile" = {version = "*", markers = "python_version < \"3.12\""} + +[package.extras] +docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +testing = ["portend", "pytest (>=6,!=8.1.1)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy", "pytest-ruff (>=0.2.1)"] + +[[package]] +name = "jaraco-functools" +version = "4.0.1" +description = "Functools like those found in stdlib" +optional = false +python-versions = ">=3.8" +files = [ + {file = "jaraco.functools-4.0.1-py3-none-any.whl", hash = "sha256:3b24ccb921d6b593bdceb56ce14799204f473976e2a9d4b15b04d0f2c2326664"}, + {file = "jaraco_functools-4.0.1.tar.gz", hash = "sha256:d33fa765374c0611b52f8b3a795f8900869aa88c84769d4d1746cd68fb28c3e8"}, +] + +[package.dependencies] +more-itertools = "*" + +[package.extras] +docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-lint"] +testing = ["jaraco.classes", "pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy", "pytest-ruff (>=0.2.1)"] + +[[package]] +name = "jeepney" +version = "0.8.0" +description = "Low-level, pure Python DBus protocol wrapper." +optional = false +python-versions = ">=3.7" +files = [ + {file = "jeepney-0.8.0-py3-none-any.whl", hash = "sha256:c0a454ad016ca575060802ee4d590dd912e35c122fa04e70306de3d076cce755"}, + {file = "jeepney-0.8.0.tar.gz", hash = "sha256:5efe48d255973902f6badc3ce55e2aa6c5c3b3bc642059ef3a91247bcfcc5806"}, +] + +[package.extras] +test = ["async-timeout", "pytest", "pytest-asyncio (>=0.17)", "pytest-trio", "testpath", "trio"] +trio = ["async_generator", "trio"] + [[package]] name = "jinja2" -version = "3.1.2" +version = "3.1.4" description = "A very fast and expressive template engine." -category = "dev" optional = false python-versions = ">=3.7" files = [ - {file = "Jinja2-3.1.2-py3-none-any.whl", hash = "sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61"}, - {file = "Jinja2-3.1.2.tar.gz", hash = "sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852"}, + {file = "jinja2-3.1.4-py3-none-any.whl", hash = "sha256:bc5dd2abb727a5319567b7a813e6a2e7318c39f4f487cfe6c89c6f9c7d25197d"}, + {file = "jinja2-3.1.4.tar.gz", hash = "sha256:4a3aee7acbbe7303aede8e9648d13b8bf88a429282aa6122a993f0ac800cb369"}, ] [package.dependencies] @@ -1040,26 +1128,24 @@ i18n = ["Babel (>=2.7)"] [[package]] name = "jsonpickle" -version = "3.0.2" -description = "Python library for serializing any arbitrary object graph into JSON" -category = "dev" +version = "3.2.2" +description = "Python library for serializing arbitrary object graphs into JSON" optional = false python-versions = ">=3.7" files = [ - {file = "jsonpickle-3.0.2-py3-none-any.whl", hash = "sha256:4a8442d97ca3f77978afa58068768dba7bff2dbabe79a9647bc3cdafd4ef019f"}, - {file = "jsonpickle-3.0.2.tar.gz", hash = "sha256:e37abba4bfb3ca4a4647d28bb9f4706436f7b46c8a8333b4a718abafa8e46b37"}, + {file = "jsonpickle-3.2.2-py3-none-any.whl", hash = "sha256:87cd82d237fd72c5a34970e7222dddc0accc13fddf49af84111887ed9a9445aa"}, + {file = "jsonpickle-3.2.2.tar.gz", hash = "sha256:d425fd2b8afe9f5d7d57205153403fbf897782204437882a477e8eed60930f8c"}, ] [package.extras] -docs = ["jaraco.packaging (>=3.2)", "rst.linker (>=1.9)", "sphinx"] -testing = ["ecdsa", "feedparser", "gmpy2", "numpy", "pandas", "pymongo", "pytest (>=3.5,!=3.7.3)", "pytest-black-multipy", "pytest-checkdocs (>=1.2.3)", "pytest-cov", "pytest-flake8 (>=1.1.1)", "scikit-learn", "sqlalchemy"] -testing-libs = ["simplejson", "ujson"] +docs = ["furo", "rst.linker (>=1.9)", "sphinx"] +packaging = ["build", "twine"] +testing = ["bson", "ecdsa", "feedparser", "gmpy2", "numpy", "pandas", "pymongo", "pytest (>=3.5,!=3.7.3)", "pytest-benchmark", "pytest-benchmark[histogram]", "pytest-checkdocs (>=1.2.3)", "pytest-cov", "pytest-enabler (>=1.0.1)", "pytest-ruff (>=0.2.1)", "scikit-learn", "scipy", "scipy (>=1.9.3)", "simplejson", "sqlalchemy", "ujson"] [[package]] name = "junit-xml" version = "1.9" description = "Creates JUnit XML test result documents that can be read by tools such as Jenkins" -category = "dev" optional = false python-versions = "*" files = [ @@ -1070,124 +1156,149 @@ files = [ [package.dependencies] six = "*" +[[package]] +name = "keyring" +version = "25.2.1" +description = "Store and access your passwords safely." +optional = false +python-versions = ">=3.8" +files = [ + {file = "keyring-25.2.1-py3-none-any.whl", hash = "sha256:2458681cdefc0dbc0b7eb6cf75d0b98e59f9ad9b2d4edd319d18f68bdca95e50"}, + {file = "keyring-25.2.1.tar.gz", hash = "sha256:daaffd42dbda25ddafb1ad5fec4024e5bbcfe424597ca1ca452b299861e49f1b"}, +] + +[package.dependencies] +importlib-metadata = {version = ">=4.11.4", markers = "python_version < \"3.12\""} +importlib-resources = {version = "*", markers = "python_version < \"3.9\""} +"jaraco.classes" = "*" +"jaraco.context" = "*" +"jaraco.functools" = "*" +jeepney = {version = ">=0.4.2", markers = "sys_platform == \"linux\""} +pywin32-ctypes = {version = ">=0.2.0", markers = "sys_platform == \"win32\""} +SecretStorage = {version = ">=3.2", markers = "sys_platform == \"linux\""} + +[package.extras] +completion = ["shtab (>=1.1.0)"] +docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +testing = ["pytest (>=6,!=8.1.*)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy", "pytest-ruff (>=0.2.1)"] + [[package]] name = "lxml" -version = "4.9.3" +version = "4.9.4" description = "Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API." -category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, != 3.4.*" files = [ - {file = "lxml-4.9.3-cp27-cp27m-macosx_11_0_x86_64.whl", hash = "sha256:b0a545b46b526d418eb91754565ba5b63b1c0b12f9bd2f808c852d9b4b2f9b5c"}, - {file = "lxml-4.9.3-cp27-cp27m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:075b731ddd9e7f68ad24c635374211376aa05a281673ede86cbe1d1b3455279d"}, - {file = "lxml-4.9.3-cp27-cp27m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:1e224d5755dba2f4a9498e150c43792392ac9b5380aa1b845f98a1618c94eeef"}, - {file = "lxml-4.9.3-cp27-cp27m-win32.whl", hash = "sha256:2c74524e179f2ad6d2a4f7caf70e2d96639c0954c943ad601a9e146c76408ed7"}, - {file = "lxml-4.9.3-cp27-cp27m-win_amd64.whl", hash = "sha256:4f1026bc732b6a7f96369f7bfe1a4f2290fb34dce00d8644bc3036fb351a4ca1"}, - {file = "lxml-4.9.3-cp27-cp27mu-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c0781a98ff5e6586926293e59480b64ddd46282953203c76ae15dbbbf302e8bb"}, - {file = "lxml-4.9.3-cp27-cp27mu-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:cef2502e7e8a96fe5ad686d60b49e1ab03e438bd9123987994528febd569868e"}, - {file = "lxml-4.9.3-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:b86164d2cff4d3aaa1f04a14685cbc072efd0b4f99ca5708b2ad1b9b5988a991"}, - {file = "lxml-4.9.3-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:42871176e7896d5d45138f6d28751053c711ed4d48d8e30b498da155af39aebd"}, - {file = "lxml-4.9.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:ae8b9c6deb1e634ba4f1930eb67ef6e6bf6a44b6eb5ad605642b2d6d5ed9ce3c"}, - {file = "lxml-4.9.3-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:411007c0d88188d9f621b11d252cce90c4a2d1a49db6c068e3c16422f306eab8"}, - {file = "lxml-4.9.3-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:cd47b4a0d41d2afa3e58e5bf1f62069255aa2fd6ff5ee41604418ca925911d76"}, - {file = "lxml-4.9.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:0e2cb47860da1f7e9a5256254b74ae331687b9672dfa780eed355c4c9c3dbd23"}, - {file = "lxml-4.9.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:1247694b26342a7bf47c02e513d32225ededd18045264d40758abeb3c838a51f"}, - {file = "lxml-4.9.3-cp310-cp310-win32.whl", hash = "sha256:cdb650fc86227eba20de1a29d4b2c1bfe139dc75a0669270033cb2ea3d391b85"}, - {file = "lxml-4.9.3-cp310-cp310-win_amd64.whl", hash = "sha256:97047f0d25cd4bcae81f9ec9dc290ca3e15927c192df17331b53bebe0e3ff96d"}, - {file = "lxml-4.9.3-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:1f447ea5429b54f9582d4b955f5f1985f278ce5cf169f72eea8afd9502973dd5"}, - {file = "lxml-4.9.3-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:57d6ba0ca2b0c462f339640d22882acc711de224d769edf29962b09f77129cbf"}, - {file = "lxml-4.9.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:9767e79108424fb6c3edf8f81e6730666a50feb01a328f4a016464a5893f835a"}, - {file = "lxml-4.9.3-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:71c52db65e4b56b8ddc5bb89fb2e66c558ed9d1a74a45ceb7dcb20c191c3df2f"}, - {file = "lxml-4.9.3-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:d73d8ecf8ecf10a3bd007f2192725a34bd62898e8da27eb9d32a58084f93962b"}, - {file = "lxml-4.9.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0a3d3487f07c1d7f150894c238299934a2a074ef590b583103a45002035be120"}, - {file = "lxml-4.9.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9e28c51fa0ce5674be9f560c6761c1b441631901993f76700b1b30ca6c8378d6"}, - {file = "lxml-4.9.3-cp311-cp311-win32.whl", hash = "sha256:0bfd0767c5c1de2551a120673b72e5d4b628737cb05414f03c3277bf9bed3305"}, - {file = "lxml-4.9.3-cp311-cp311-win_amd64.whl", hash = "sha256:25f32acefac14ef7bd53e4218fe93b804ef6f6b92ffdb4322bb6d49d94cad2bc"}, - {file = "lxml-4.9.3-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:d3ff32724f98fbbbfa9f49d82852b159e9784d6094983d9a8b7f2ddaebb063d4"}, - {file = "lxml-4.9.3-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:48d6ed886b343d11493129e019da91d4039826794a3e3027321c56d9e71505be"}, - {file = "lxml-4.9.3-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:9a92d3faef50658dd2c5470af249985782bf754c4e18e15afb67d3ab06233f13"}, - {file = "lxml-4.9.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:b4e4bc18382088514ebde9328da057775055940a1f2e18f6ad2d78aa0f3ec5b9"}, - {file = "lxml-4.9.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:fc9b106a1bf918db68619fdcd6d5ad4f972fdd19c01d19bdb6bf63f3589a9ec5"}, - {file = "lxml-4.9.3-cp312-cp312-win_amd64.whl", hash = "sha256:d37017287a7adb6ab77e1c5bee9bcf9660f90ff445042b790402a654d2ad81d8"}, - {file = "lxml-4.9.3-cp35-cp35m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:56dc1f1ebccc656d1b3ed288f11e27172a01503fc016bcabdcbc0978b19352b7"}, - {file = "lxml-4.9.3-cp35-cp35m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:578695735c5a3f51569810dfebd05dd6f888147a34f0f98d4bb27e92b76e05c2"}, - {file = "lxml-4.9.3-cp35-cp35m-win32.whl", hash = "sha256:704f61ba8c1283c71b16135caf697557f5ecf3e74d9e453233e4771d68a1f42d"}, - {file = "lxml-4.9.3-cp35-cp35m-win_amd64.whl", hash = "sha256:c41bfca0bd3532d53d16fd34d20806d5c2b1ace22a2f2e4c0008570bf2c58833"}, - {file = "lxml-4.9.3-cp36-cp36m-macosx_11_0_x86_64.whl", hash = "sha256:64f479d719dc9f4c813ad9bb6b28f8390360660b73b2e4beb4cb0ae7104f1c12"}, - {file = "lxml-4.9.3-cp36-cp36m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:dd708cf4ee4408cf46a48b108fb9427bfa00b9b85812a9262b5c668af2533ea5"}, - {file = "lxml-4.9.3-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5c31c7462abdf8f2ac0577d9f05279727e698f97ecbb02f17939ea99ae8daa98"}, - {file = "lxml-4.9.3-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:e3cd95e10c2610c360154afdc2f1480aea394f4a4f1ea0a5eacce49640c9b190"}, - {file = "lxml-4.9.3-cp36-cp36m-manylinux_2_28_x86_64.whl", hash = "sha256:4930be26af26ac545c3dffb662521d4e6268352866956672231887d18f0eaab2"}, - {file = "lxml-4.9.3-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:4aec80cde9197340bc353d2768e2a75f5f60bacda2bab72ab1dc499589b3878c"}, - {file = "lxml-4.9.3-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:14e019fd83b831b2e61baed40cab76222139926b1fb5ed0e79225bc0cae14584"}, - {file = "lxml-4.9.3-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:0c0850c8b02c298d3c7006b23e98249515ac57430e16a166873fc47a5d549287"}, - {file = "lxml-4.9.3-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:aca086dc5f9ef98c512bac8efea4483eb84abbf926eaeedf7b91479feb092458"}, - {file = "lxml-4.9.3-cp36-cp36m-win32.whl", hash = "sha256:50baa9c1c47efcaef189f31e3d00d697c6d4afda5c3cde0302d063492ff9b477"}, - {file = "lxml-4.9.3-cp36-cp36m-win_amd64.whl", hash = "sha256:bef4e656f7d98aaa3486d2627e7d2df1157d7e88e7efd43a65aa5dd4714916cf"}, - {file = "lxml-4.9.3-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:46f409a2d60f634fe550f7133ed30ad5321ae2e6630f13657fb9479506b00601"}, - {file = "lxml-4.9.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:4c28a9144688aef80d6ea666c809b4b0e50010a2aca784c97f5e6bf143d9f129"}, - {file = "lxml-4.9.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:141f1d1a9b663c679dc524af3ea1773e618907e96075262726c7612c02b149a4"}, - {file = "lxml-4.9.3-cp37-cp37m-manylinux_2_28_x86_64.whl", hash = "sha256:53ace1c1fd5a74ef662f844a0413446c0629d151055340e9893da958a374f70d"}, - {file = "lxml-4.9.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:17a753023436a18e27dd7769e798ce302963c236bc4114ceee5b25c18c52c693"}, - {file = "lxml-4.9.3-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:7d298a1bd60c067ea75d9f684f5f3992c9d6766fadbc0bcedd39750bf344c2f4"}, - {file = "lxml-4.9.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:081d32421db5df44c41b7f08a334a090a545c54ba977e47fd7cc2deece78809a"}, - {file = "lxml-4.9.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:23eed6d7b1a3336ad92d8e39d4bfe09073c31bfe502f20ca5116b2a334f8ec02"}, - {file = "lxml-4.9.3-cp37-cp37m-win32.whl", hash = "sha256:1509dd12b773c02acd154582088820893109f6ca27ef7291b003d0e81666109f"}, - {file = "lxml-4.9.3-cp37-cp37m-win_amd64.whl", hash = "sha256:120fa9349a24c7043854c53cae8cec227e1f79195a7493e09e0c12e29f918e52"}, - {file = "lxml-4.9.3-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:4d2d1edbca80b510443f51afd8496be95529db04a509bc8faee49c7b0fb6d2cc"}, - {file = "lxml-4.9.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:8d7e43bd40f65f7d97ad8ef5c9b1778943d02f04febef12def25f7583d19baac"}, - {file = "lxml-4.9.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:71d66ee82e7417828af6ecd7db817913cb0cf9d4e61aa0ac1fde0583d84358db"}, - {file = "lxml-4.9.3-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:6fc3c450eaa0b56f815c7b62f2b7fba7266c4779adcf1cece9e6deb1de7305ce"}, - {file = "lxml-4.9.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:65299ea57d82fb91c7f019300d24050c4ddeb7c5a190e076b5f48a2b43d19c42"}, - {file = "lxml-4.9.3-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:eadfbbbfb41b44034a4c757fd5d70baccd43296fb894dba0295606a7cf3124aa"}, - {file = "lxml-4.9.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:3e9bdd30efde2b9ccfa9cb5768ba04fe71b018a25ea093379c857c9dad262c40"}, - {file = "lxml-4.9.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:fcdd00edfd0a3001e0181eab3e63bd5c74ad3e67152c84f93f13769a40e073a7"}, - {file = "lxml-4.9.3-cp38-cp38-win32.whl", hash = "sha256:57aba1bbdf450b726d58b2aea5fe47c7875f5afb2c4a23784ed78f19a0462574"}, - {file = "lxml-4.9.3-cp38-cp38-win_amd64.whl", hash = "sha256:92af161ecbdb2883c4593d5ed4815ea71b31fafd7fd05789b23100d081ecac96"}, - {file = "lxml-4.9.3-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:9bb6ad405121241e99a86efff22d3ef469024ce22875a7ae045896ad23ba2340"}, - {file = "lxml-4.9.3-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:8ed74706b26ad100433da4b9d807eae371efaa266ffc3e9191ea436087a9d6a7"}, - {file = "lxml-4.9.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:fbf521479bcac1e25a663df882c46a641a9bff6b56dc8b0fafaebd2f66fb231b"}, - {file = "lxml-4.9.3-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:303bf1edce6ced16bf67a18a1cf8339d0db79577eec5d9a6d4a80f0fb10aa2da"}, - {file = "lxml-4.9.3-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:5515edd2a6d1a5a70bfcdee23b42ec33425e405c5b351478ab7dc9347228f96e"}, - {file = "lxml-4.9.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:690dafd0b187ed38583a648076865d8c229661ed20e48f2335d68e2cf7dc829d"}, - {file = "lxml-4.9.3-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:b6420a005548ad52154c8ceab4a1290ff78d757f9e5cbc68f8c77089acd3c432"}, - {file = "lxml-4.9.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:bb3bb49c7a6ad9d981d734ef7c7193bc349ac338776a0360cc671eaee89bcf69"}, - {file = "lxml-4.9.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:d27be7405547d1f958b60837dc4c1007da90b8b23f54ba1f8b728c78fdb19d50"}, - {file = "lxml-4.9.3-cp39-cp39-win32.whl", hash = "sha256:8df133a2ea5e74eef5e8fc6f19b9e085f758768a16e9877a60aec455ed2609b2"}, - {file = "lxml-4.9.3-cp39-cp39-win_amd64.whl", hash = "sha256:4dd9a263e845a72eacb60d12401e37c616438ea2e5442885f65082c276dfb2b2"}, - {file = "lxml-4.9.3-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:6689a3d7fd13dc687e9102a27e98ef33730ac4fe37795d5036d18b4d527abd35"}, - {file = "lxml-4.9.3-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:f6bdac493b949141b733c5345b6ba8f87a226029cbabc7e9e121a413e49441e0"}, - {file = "lxml-4.9.3-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:05186a0f1346ae12553d66df1cfce6f251589fea3ad3da4f3ef4e34b2d58c6a3"}, - {file = "lxml-4.9.3-pp37-pypy37_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:c2006f5c8d28dee289f7020f721354362fa304acbaaf9745751ac4006650254b"}, - {file = "lxml-4.9.3-pp38-pypy38_pp73-macosx_11_0_x86_64.whl", hash = "sha256:5c245b783db29c4e4fbbbfc9c5a78be496c9fea25517f90606aa1f6b2b3d5f7b"}, - {file = "lxml-4.9.3-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:4fb960a632a49f2f089d522f70496640fdf1218f1243889da3822e0a9f5f3ba7"}, - {file = "lxml-4.9.3-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:50670615eaf97227d5dc60de2dc99fb134a7130d310d783314e7724bf163f75d"}, - {file = "lxml-4.9.3-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:9719fe17307a9e814580af1f5c6e05ca593b12fb7e44fe62450a5384dbf61b4b"}, - {file = "lxml-4.9.3-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:3331bece23c9ee066e0fb3f96c61322b9e0f54d775fccefff4c38ca488de283a"}, - {file = "lxml-4.9.3-pp39-pypy39_pp73-macosx_11_0_x86_64.whl", hash = "sha256:ed667f49b11360951e201453fc3967344d0d0263aa415e1619e85ae7fd17b4e0"}, - {file = "lxml-4.9.3-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:8b77946fd508cbf0fccd8e400a7f71d4ac0e1595812e66025bac475a8e811694"}, - {file = "lxml-4.9.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:e4da8ca0c0c0aea88fd46be8e44bd49716772358d648cce45fe387f7b92374a7"}, - {file = "lxml-4.9.3-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:fe4bda6bd4340caa6e5cf95e73f8fea5c4bfc55763dd42f1b50a94c1b4a2fbd4"}, - {file = "lxml-4.9.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:f3df3db1d336b9356dd3112eae5f5c2b8b377f3bc826848567f10bfddfee77e9"}, - {file = "lxml-4.9.3.tar.gz", hash = "sha256:48628bd53a426c9eb9bc066a923acaa0878d1e86129fd5359aee99285f4eed9c"}, + {file = "lxml-4.9.4-cp27-cp27m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e214025e23db238805a600f1f37bf9f9a15413c7bf5f9d6ae194f84980c78722"}, + {file = "lxml-4.9.4-cp27-cp27m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:ec53a09aee61d45e7dbe7e91252ff0491b6b5fee3d85b2d45b173d8ab453efc1"}, + {file = "lxml-4.9.4-cp27-cp27m-win32.whl", hash = "sha256:7d1d6c9e74c70ddf524e3c09d9dc0522aba9370708c2cb58680ea40174800013"}, + {file = "lxml-4.9.4-cp27-cp27m-win_amd64.whl", hash = "sha256:cb53669442895763e61df5c995f0e8361b61662f26c1b04ee82899c2789c8f69"}, + {file = "lxml-4.9.4-cp27-cp27mu-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:647bfe88b1997d7ae8d45dabc7c868d8cb0c8412a6e730a7651050b8c7289cf2"}, + {file = "lxml-4.9.4-cp27-cp27mu-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:4d973729ce04784906a19108054e1fd476bc85279a403ea1a72fdb051c76fa48"}, + {file = "lxml-4.9.4-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:056a17eaaf3da87a05523472ae84246f87ac2f29a53306466c22e60282e54ff8"}, + {file = "lxml-4.9.4-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:aaa5c173a26960fe67daa69aa93d6d6a1cd714a6eb13802d4e4bd1d24a530644"}, + {file = "lxml-4.9.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:647459b23594f370c1c01768edaa0ba0959afc39caeeb793b43158bb9bb6a663"}, + {file = "lxml-4.9.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:bdd9abccd0927673cffe601d2c6cdad1c9321bf3437a2f507d6b037ef91ea307"}, + {file = "lxml-4.9.4-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:00e91573183ad273e242db5585b52670eddf92bacad095ce25c1e682da14ed91"}, + {file = "lxml-4.9.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:a602ed9bd2c7d85bd58592c28e101bd9ff9c718fbde06545a70945ffd5d11868"}, + {file = "lxml-4.9.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:de362ac8bc962408ad8fae28f3967ce1a262b5d63ab8cefb42662566737f1dc7"}, + {file = "lxml-4.9.4-cp310-cp310-win32.whl", hash = "sha256:33714fcf5af4ff7e70a49731a7cc8fd9ce910b9ac194f66eaa18c3cc0a4c02be"}, + {file = "lxml-4.9.4-cp310-cp310-win_amd64.whl", hash = "sha256:d3caa09e613ece43ac292fbed513a4bce170681a447d25ffcbc1b647d45a39c5"}, + {file = "lxml-4.9.4-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:359a8b09d712df27849e0bcb62c6a3404e780b274b0b7e4c39a88826d1926c28"}, + {file = "lxml-4.9.4-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:43498ea734ccdfb92e1886dfedaebeb81178a241d39a79d5351ba2b671bff2b2"}, + {file = "lxml-4.9.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:4855161013dfb2b762e02b3f4d4a21cc7c6aec13c69e3bffbf5022b3e708dd97"}, + {file = "lxml-4.9.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:c71b5b860c5215fdbaa56f715bc218e45a98477f816b46cfde4a84d25b13274e"}, + {file = "lxml-4.9.4-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:9a2b5915c333e4364367140443b59f09feae42184459b913f0f41b9fed55794a"}, + {file = "lxml-4.9.4-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:d82411dbf4d3127b6cde7da0f9373e37ad3a43e89ef374965465928f01c2b979"}, + {file = "lxml-4.9.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:273473d34462ae6e97c0f4e517bd1bf9588aa67a1d47d93f760a1282640e24ac"}, + {file = "lxml-4.9.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:389d2b2e543b27962990ab529ac6720c3dded588cc6d0f6557eec153305a3622"}, + {file = "lxml-4.9.4-cp311-cp311-win32.whl", hash = "sha256:8aecb5a7f6f7f8fe9cac0bcadd39efaca8bbf8d1bf242e9f175cbe4c925116c3"}, + {file = "lxml-4.9.4-cp311-cp311-win_amd64.whl", hash = "sha256:c7721a3ef41591341388bb2265395ce522aba52f969d33dacd822da8f018aff8"}, + {file = "lxml-4.9.4-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:dbcb2dc07308453db428a95a4d03259bd8caea97d7f0776842299f2d00c72fc8"}, + {file = "lxml-4.9.4-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:01bf1df1db327e748dcb152d17389cf6d0a8c5d533ef9bab781e9d5037619229"}, + {file = "lxml-4.9.4-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:e8f9f93a23634cfafbad6e46ad7d09e0f4a25a2400e4a64b1b7b7c0fbaa06d9d"}, + {file = "lxml-4.9.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:3f3f00a9061605725df1816f5713d10cd94636347ed651abdbc75828df302b20"}, + {file = "lxml-4.9.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:953dd5481bd6252bd480d6ec431f61d7d87fdcbbb71b0d2bdcfc6ae00bb6fb10"}, + {file = "lxml-4.9.4-cp312-cp312-win32.whl", hash = "sha256:266f655d1baff9c47b52f529b5f6bec33f66042f65f7c56adde3fcf2ed62ae8b"}, + {file = "lxml-4.9.4-cp312-cp312-win_amd64.whl", hash = "sha256:f1faee2a831fe249e1bae9cbc68d3cd8a30f7e37851deee4d7962b17c410dd56"}, + {file = "lxml-4.9.4-cp35-cp35m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:23d891e5bdc12e2e506e7d225d6aa929e0a0368c9916c1fddefab88166e98b20"}, + {file = "lxml-4.9.4-cp35-cp35m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:e96a1788f24d03e8d61679f9881a883ecdf9c445a38f9ae3f3f193ab6c591c66"}, + {file = "lxml-4.9.4-cp36-cp36m-macosx_11_0_x86_64.whl", hash = "sha256:5557461f83bb7cc718bc9ee1f7156d50e31747e5b38d79cf40f79ab1447afd2d"}, + {file = "lxml-4.9.4-cp36-cp36m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:fdb325b7fba1e2c40b9b1db407f85642e32404131c08480dd652110fc908561b"}, + {file = "lxml-4.9.4-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3d74d4a3c4b8f7a1f676cedf8e84bcc57705a6d7925e6daef7a1e54ae543a197"}, + {file = "lxml-4.9.4-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:ac7674d1638df129d9cb4503d20ffc3922bd463c865ef3cb412f2c926108e9a4"}, + {file = "lxml-4.9.4-cp36-cp36m-manylinux_2_28_x86_64.whl", hash = "sha256:ddd92e18b783aeb86ad2132d84a4b795fc5ec612e3545c1b687e7747e66e2b53"}, + {file = "lxml-4.9.4-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2bd9ac6e44f2db368ef8986f3989a4cad3de4cd55dbdda536e253000c801bcc7"}, + {file = "lxml-4.9.4-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:bc354b1393dce46026ab13075f77b30e40b61b1a53e852e99d3cc5dd1af4bc85"}, + {file = "lxml-4.9.4-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:f836f39678cb47c9541f04d8ed4545719dc31ad850bf1832d6b4171e30d65d23"}, + {file = "lxml-4.9.4-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:9c131447768ed7bc05a02553d939e7f0e807e533441901dd504e217b76307745"}, + {file = "lxml-4.9.4-cp36-cp36m-win32.whl", hash = "sha256:bafa65e3acae612a7799ada439bd202403414ebe23f52e5b17f6ffc2eb98c2be"}, + {file = "lxml-4.9.4-cp36-cp36m-win_amd64.whl", hash = "sha256:6197c3f3c0b960ad033b9b7d611db11285bb461fc6b802c1dd50d04ad715c225"}, + {file = "lxml-4.9.4-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:7b378847a09d6bd46047f5f3599cdc64fcb4cc5a5a2dd0a2af610361fbe77b16"}, + {file = "lxml-4.9.4-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:1343df4e2e6e51182aad12162b23b0a4b3fd77f17527a78c53f0f23573663545"}, + {file = "lxml-4.9.4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:6dbdacf5752fbd78ccdb434698230c4f0f95df7dd956d5f205b5ed6911a1367c"}, + {file = "lxml-4.9.4-cp37-cp37m-manylinux_2_28_x86_64.whl", hash = "sha256:506becdf2ecaebaf7f7995f776394fcc8bd8a78022772de66677c84fb02dd33d"}, + {file = "lxml-4.9.4-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ca8e44b5ba3edb682ea4e6185b49661fc22b230cf811b9c13963c9f982d1d964"}, + {file = "lxml-4.9.4-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:9d9d5726474cbbef279fd709008f91a49c4f758bec9c062dfbba88eab00e3ff9"}, + {file = "lxml-4.9.4-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:bbdd69e20fe2943b51e2841fc1e6a3c1de460d630f65bde12452d8c97209464d"}, + {file = "lxml-4.9.4-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:8671622256a0859f5089cbe0ce4693c2af407bc053dcc99aadff7f5310b4aa02"}, + {file = "lxml-4.9.4-cp37-cp37m-win32.whl", hash = "sha256:dd4fda67f5faaef4f9ee5383435048ee3e11ad996901225ad7615bc92245bc8e"}, + {file = "lxml-4.9.4-cp37-cp37m-win_amd64.whl", hash = "sha256:6bee9c2e501d835f91460b2c904bc359f8433e96799f5c2ff20feebd9bb1e590"}, + {file = "lxml-4.9.4-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:1f10f250430a4caf84115b1e0f23f3615566ca2369d1962f82bef40dd99cd81a"}, + {file = "lxml-4.9.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:3b505f2bbff50d261176e67be24e8909e54b5d9d08b12d4946344066d66b3e43"}, + {file = "lxml-4.9.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:1449f9451cd53e0fd0a7ec2ff5ede4686add13ac7a7bfa6988ff6d75cff3ebe2"}, + {file = "lxml-4.9.4-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:4ece9cca4cd1c8ba889bfa67eae7f21d0d1a2e715b4d5045395113361e8c533d"}, + {file = "lxml-4.9.4-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:59bb5979f9941c61e907ee571732219fa4774d5a18f3fa5ff2df963f5dfaa6bc"}, + {file = "lxml-4.9.4-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:b1980dbcaad634fe78e710c8587383e6e3f61dbe146bcbfd13a9c8ab2d7b1192"}, + {file = "lxml-4.9.4-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:9ae6c3363261021144121427b1552b29e7b59de9d6a75bf51e03bc072efb3c37"}, + {file = "lxml-4.9.4-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:bcee502c649fa6351b44bb014b98c09cb00982a475a1912a9881ca28ab4f9cd9"}, + {file = "lxml-4.9.4-cp38-cp38-win32.whl", hash = "sha256:a8edae5253efa75c2fc79a90068fe540b197d1c7ab5803b800fccfe240eed33c"}, + {file = "lxml-4.9.4-cp38-cp38-win_amd64.whl", hash = "sha256:701847a7aaefef121c5c0d855b2affa5f9bd45196ef00266724a80e439220e46"}, + {file = "lxml-4.9.4-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:f610d980e3fccf4394ab3806de6065682982f3d27c12d4ce3ee46a8183d64a6a"}, + {file = "lxml-4.9.4-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:aa9b5abd07f71b081a33115d9758ef6077924082055005808f68feccb27616bd"}, + {file = "lxml-4.9.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:365005e8b0718ea6d64b374423e870648ab47c3a905356ab6e5a5ff03962b9a9"}, + {file = "lxml-4.9.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:16b9ec51cc2feab009e800f2c6327338d6ee4e752c76e95a35c4465e80390ccd"}, + {file = "lxml-4.9.4-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:a905affe76f1802edcac554e3ccf68188bea16546071d7583fb1b693f9cf756b"}, + {file = "lxml-4.9.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:fd814847901df6e8de13ce69b84c31fc9b3fb591224d6762d0b256d510cbf382"}, + {file = "lxml-4.9.4-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:91bbf398ac8bb7d65a5a52127407c05f75a18d7015a270fdd94bbcb04e65d573"}, + {file = "lxml-4.9.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:f99768232f036b4776ce419d3244a04fe83784bce871b16d2c2e984c7fcea847"}, + {file = "lxml-4.9.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:bb5bd6212eb0edfd1e8f254585290ea1dadc3687dd8fd5e2fd9a87c31915cdab"}, + {file = "lxml-4.9.4-cp39-cp39-win32.whl", hash = "sha256:88f7c383071981c74ec1998ba9b437659e4fd02a3c4a4d3efc16774eb108d0ec"}, + {file = "lxml-4.9.4-cp39-cp39-win_amd64.whl", hash = "sha256:936e8880cc00f839aa4173f94466a8406a96ddce814651075f95837316369899"}, + {file = "lxml-4.9.4-pp310-pypy310_pp73-macosx_11_0_x86_64.whl", hash = "sha256:f6c35b2f87c004270fa2e703b872fcc984d714d430b305145c39d53074e1ffe0"}, + {file = "lxml-4.9.4-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:606d445feeb0856c2b424405236a01c71af7c97e5fe42fbc778634faef2b47e4"}, + {file = "lxml-4.9.4-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:a1bdcbebd4e13446a14de4dd1825f1e778e099f17f79718b4aeaf2403624b0f7"}, + {file = "lxml-4.9.4-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:0a08c89b23117049ba171bf51d2f9c5f3abf507d65d016d6e0fa2f37e18c0fc5"}, + {file = "lxml-4.9.4-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:232fd30903d3123be4c435fb5159938c6225ee8607b635a4d3fca847003134ba"}, + {file = "lxml-4.9.4-pp37-pypy37_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:231142459d32779b209aa4b4d460b175cadd604fed856f25c1571a9d78114771"}, + {file = "lxml-4.9.4-pp38-pypy38_pp73-macosx_11_0_x86_64.whl", hash = "sha256:520486f27f1d4ce9654154b4494cf9307b495527f3a2908ad4cb48e4f7ed7ef7"}, + {file = "lxml-4.9.4-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:562778586949be7e0d7435fcb24aca4810913771f845d99145a6cee64d5b67ca"}, + {file = "lxml-4.9.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:a9e7c6d89c77bb2770c9491d988f26a4b161d05c8ca58f63fb1f1b6b9a74be45"}, + {file = "lxml-4.9.4-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:786d6b57026e7e04d184313c1359ac3d68002c33e4b1042ca58c362f1d09ff58"}, + {file = "lxml-4.9.4-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:95ae6c5a196e2f239150aa4a479967351df7f44800c93e5a975ec726fef005e2"}, + {file = "lxml-4.9.4-pp39-pypy39_pp73-macosx_11_0_x86_64.whl", hash = "sha256:9b556596c49fa1232b0fff4b0e69b9d4083a502e60e404b44341e2f8fb7187f5"}, + {file = "lxml-4.9.4-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:cc02c06e9e320869d7d1bd323df6dd4281e78ac2e7f8526835d3d48c69060683"}, + {file = "lxml-4.9.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:857d6565f9aa3464764c2cb6a2e3c2e75e1970e877c188f4aeae45954a314e0c"}, + {file = "lxml-4.9.4-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:c42ae7e010d7d6bc51875d768110c10e8a59494855c3d4c348b068f5fb81fdcd"}, + {file = "lxml-4.9.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:f10250bb190fb0742e3e1958dd5c100524c2cc5096c67c8da51233f7448dc137"}, + {file = "lxml-4.9.4.tar.gz", hash = "sha256:b1541e50b78e15fa06a2670157a1962ef06591d4c998b998047fff5e3236880e"}, ] [package.extras] cssselect = ["cssselect (>=0.7)"] html5 = ["html5lib"] htmlsoup = ["BeautifulSoup4"] -source = ["Cython (>=0.29.35)"] +source = ["Cython (==0.29.37)"] [[package]] name = "mako" -version = "1.2.4" +version = "1.3.5" description = "A super-fast templating language that borrows the best ideas from the existing templating languages." -category = "dev" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "Mako-1.2.4-py3-none-any.whl", hash = "sha256:c97c79c018b9165ac9922ae4f32da095ffd3c4e6872b45eded42926deea46818"}, - {file = "Mako-1.2.4.tar.gz", hash = "sha256:d60a3903dc3bb01a18ad6a89cdbe2e4eadc69c0bc8ef1e3773ba53d44c3f7a34"}, + {file = "Mako-1.3.5-py3-none-any.whl", hash = "sha256:260f1dbc3a519453a9c856dedfe4beb4e50bd5a26d96386cb6c80856556bb91a"}, + {file = "Mako-1.3.5.tar.gz", hash = "sha256:48dbc20568c1d276a2698b36d968fa76161bf127194907ea6fc594fa81f943bc"}, ] [package.dependencies] @@ -1200,14 +1311,13 @@ testing = ["pytest"] [[package]] name = "markdown" -version = "3.5" +version = "3.6" description = "Python implementation of John Gruber's Markdown." -category = "dev" optional = false python-versions = ">=3.8" files = [ - {file = "Markdown-3.5-py3-none-any.whl", hash = "sha256:4afb124395ce5fc34e6d9886dab977fd9ae987fc6e85689f08278cf0c69d4bf3"}, - {file = "Markdown-3.5.tar.gz", hash = "sha256:a807eb2e4778d9156c8f07876c6e4d50b5494c5665c4834f67b06459dfd877b3"}, + {file = "Markdown-3.6-py3-none-any.whl", hash = "sha256:48f276f4d8cfb8ce6527c8f79e2ee29708508bf4d40aa410fbc3b4ee832c850f"}, + {file = "Markdown-3.6.tar.gz", hash = "sha256:ed4f41f6daecbeeb96e576ce414c41d2d876daa9a16cb35fa8ed8c2ddfad0224"}, ] [package.dependencies] @@ -1217,71 +1327,103 @@ importlib-metadata = {version = ">=4.4", markers = "python_version < \"3.10\""} docs = ["mdx-gh-links (>=0.2)", "mkdocs (>=1.5)", "mkdocs-gen-files", "mkdocs-literate-nav", "mkdocs-nature (>=0.6)", "mkdocs-section-index", "mkdocstrings[python]"] testing = ["coverage", "pyyaml"] +[[package]] +name = "markdown-it-py" +version = "3.0.0" +description = "Python port of markdown-it. Markdown parsing, done right!" +optional = false +python-versions = ">=3.8" +files = [ + {file = "markdown-it-py-3.0.0.tar.gz", hash = "sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb"}, + {file = "markdown_it_py-3.0.0-py3-none-any.whl", hash = "sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1"}, +] + +[package.dependencies] +mdurl = ">=0.1,<1.0" + +[package.extras] +benchmarking = ["psutil", "pytest", "pytest-benchmark"] +code-style = ["pre-commit (>=3.0,<4.0)"] +compare = ["commonmark (>=0.9,<1.0)", "markdown (>=3.4,<4.0)", "mistletoe (>=1.0,<2.0)", "mistune (>=2.0,<3.0)", "panflute (>=2.3,<3.0)"] +linkify = ["linkify-it-py (>=1,<3)"] +plugins = ["mdit-py-plugins"] +profiling = ["gprof2dot"] +rtd = ["jupyter_sphinx", "mdit-py-plugins", "myst-parser", "pyyaml", "sphinx", "sphinx-copybutton", "sphinx-design", "sphinx_book_theme"] +testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"] + [[package]] name = "markupsafe" -version = "2.1.3" +version = "2.1.5" description = "Safely add untrusted strings to HTML/XML markup." -category = "dev" optional = false python-versions = ">=3.7" files = [ - {file = "MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:cd0f502fe016460680cd20aaa5a76d241d6f35a1c3350c474bac1273803893fa"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e09031c87a1e51556fdcb46e5bd4f59dfb743061cf93c4d6831bf894f125eb57"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:68e78619a61ecf91e76aa3e6e8e33fc4894a2bebe93410754bd28fce0a8a4f9f"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:65c1a9bcdadc6c28eecee2c119465aebff8f7a584dd719facdd9e825ec61ab52"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:525808b8019e36eb524b8c68acdd63a37e75714eac50e988180b169d64480a00"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:962f82a3086483f5e5f64dbad880d31038b698494799b097bc59c2edf392fce6"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:aa7bd130efab1c280bed0f45501b7c8795f9fdbeb02e965371bbef3523627779"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c9c804664ebe8f83a211cace637506669e7890fec1b4195b505c214e50dd4eb7"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-win32.whl", hash = "sha256:10bbfe99883db80bdbaff2dcf681dfc6533a614f700da1287707e8a5d78a8431"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-win_amd64.whl", hash = "sha256:1577735524cdad32f9f694208aa75e422adba74f1baee7551620e43a3141f559"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ad9e82fb8f09ade1c3e1b996a6337afac2b8b9e365f926f5a61aacc71adc5b3c"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3c0fae6c3be832a0a0473ac912810b2877c8cb9d76ca48de1ed31e1c68386575"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b076b6226fb84157e3f7c971a47ff3a679d837cf338547532ab866c57930dbee"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bfce63a9e7834b12b87c64d6b155fdd9b3b96191b6bd334bf37db7ff1fe457f2"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:338ae27d6b8745585f87218a3f23f1512dbf52c26c28e322dbe54bcede54ccb9"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e4dd52d80b8c83fdce44e12478ad2e85c64ea965e75d66dbeafb0a3e77308fcc"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:df0be2b576a7abbf737b1575f048c23fb1d769f267ec4358296f31c2479db8f9"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5bbe06f8eeafd38e5d0a4894ffec89378b6c6a625ff57e3028921f8ff59318ac"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-win32.whl", hash = "sha256:dd15ff04ffd7e05ffcb7fe79f1b98041b8ea30ae9234aed2a9168b5797c3effb"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-win_amd64.whl", hash = "sha256:134da1eca9ec0ae528110ccc9e48041e0828d79f24121a1a146161103c76e686"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:8e254ae696c88d98da6555f5ace2279cf7cd5b3f52be2b5cf97feafe883b58d2"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb0932dc158471523c9637e807d9bfb93e06a95cbf010f1a38b98623b929ef2b"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9402b03f1a1b4dc4c19845e5c749e3ab82d5078d16a2a4c2cd2df62d57bb0707"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ca379055a47383d02a5400cb0d110cef0a776fc644cda797db0c5696cfd7e18e"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:b7ff0f54cb4ff66dd38bebd335a38e2c22c41a8ee45aa608efc890ac3e3931bc"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:c011a4149cfbcf9f03994ec2edffcb8b1dc2d2aede7ca243746df97a5d41ce48"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:56d9f2ecac662ca1611d183feb03a3fa4406469dafe241673d521dd5ae92a155"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-win32.whl", hash = "sha256:8758846a7e80910096950b67071243da3e5a20ed2546e6392603c096778d48e0"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-win_amd64.whl", hash = "sha256:787003c0ddb00500e49a10f2844fac87aa6ce977b90b0feaaf9de23c22508b24"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:2ef12179d3a291be237280175b542c07a36e7f60718296278d8593d21ca937d4"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2c1b19b3aaacc6e57b7e25710ff571c24d6c3613a45e905b1fde04d691b98ee0"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8afafd99945ead6e075b973fefa56379c5b5c53fd8937dad92c662da5d8fd5ee"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8c41976a29d078bb235fea9b2ecd3da465df42a562910f9022f1a03107bd02be"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d080e0a5eb2529460b30190fcfcc4199bd7f827663f858a226a81bc27beaa97e"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:69c0f17e9f5a7afdf2cc9fb2d1ce6aabdb3bafb7f38017c0b77862bcec2bbad8"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:504b320cd4b7eff6f968eddf81127112db685e81f7e36e75f9f84f0df46041c3"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:42de32b22b6b804f42c5d98be4f7e5e977ecdd9ee9b660fda1a3edf03b11792d"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-win32.whl", hash = "sha256:ceb01949af7121f9fc39f7d27f91be8546f3fb112c608bc4029aef0bab86a2a5"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-win_amd64.whl", hash = "sha256:1b40069d487e7edb2676d3fbdb2b0829ffa2cd63a2ec26c4938b2d34391b4ecc"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:8023faf4e01efadfa183e863fefde0046de576c6f14659e8782065bcece22198"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6b2b56950d93e41f33b4223ead100ea0fe11f8e6ee5f641eb753ce4b77a7042b"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9dcdfd0eaf283af041973bff14a2e143b8bd64e069f4c383416ecd79a81aab58"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:05fb21170423db021895e1ea1e1f3ab3adb85d1c2333cbc2310f2a26bc77272e"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:282c2cb35b5b673bbcadb33a585408104df04f14b2d9b01d4c345a3b92861c2c"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ab4a0df41e7c16a1392727727e7998a467472d0ad65f3ad5e6e765015df08636"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7ef3cb2ebbf91e330e3bb937efada0edd9003683db6b57bb108c4001f37a02ea"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:0a4e4a1aff6c7ac4cd55792abf96c915634c2b97e3cc1c7129578aa68ebd754e"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-win32.whl", hash = "sha256:fec21693218efe39aa7f8599346e90c705afa52c5b31ae019b2e57e8f6542bb2"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-win_amd64.whl", hash = "sha256:3fd4abcb888d15a94f32b75d8fd18ee162ca0c064f35b11134be77050296d6ba"}, - {file = "MarkupSafe-2.1.3.tar.gz", hash = "sha256:af598ed32d6ae86f1b747b82783958b1a4ab8f617b06fe68795c7f026abbdcad"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e61659ba32cf2cf1481e575d0462554625196a1f2fc06a1c777d3f48e8865d46"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2174c595a0d73a3080ca3257b40096db99799265e1c27cc5a610743acd86d62f"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ae2ad8ae6ebee9d2d94b17fb62763125f3f374c25618198f40cbb8b525411900"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:598e3276b64aff0e7b3451b72e94fa3c238d452e7ddcd893c3ab324717456bad"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fce659a462a1be54d2ffcacea5e3ba2d74daa74f30f5f143fe0c58636e355fdd"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-win32.whl", hash = "sha256:d9fad5155d72433c921b782e58892377c44bd6252b5af2f67f16b194987338a4"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-win_amd64.whl", hash = "sha256:bf50cd79a75d181c9181df03572cdce0fbb75cc353bc350712073108cba98de5"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:629ddd2ca402ae6dbedfceeba9c46d5f7b2a61d9749597d4307f943ef198fc1f"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5b7b716f97b52c5a14bffdf688f971b2d5ef4029127f1ad7a513973cfd818df2"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ec585f69cec0aa07d945b20805be741395e28ac1627333b1c5b0105962ffced"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b91c037585eba9095565a3556f611e3cbfaa42ca1e865f7b8015fe5c7336d5a5"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7502934a33b54030eaf1194c21c692a534196063db72176b0c4028e140f8f32c"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0e397ac966fdf721b2c528cf028494e86172b4feba51d65f81ffd65c63798f3f"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c061bb86a71b42465156a3ee7bd58c8c2ceacdbeb95d05a99893e08b8467359a"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3a57fdd7ce31c7ff06cdfbf31dafa96cc533c21e443d57f5b1ecc6cdc668ec7f"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-win32.whl", hash = "sha256:397081c1a0bfb5124355710fe79478cdbeb39626492b15d399526ae53422b906"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-win_amd64.whl", hash = "sha256:2b7c57a4dfc4f16f7142221afe5ba4e093e09e728ca65c51f5620c9aaeb9a617"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:8dec4936e9c3100156f8a2dc89c4b88d5c435175ff03413b443469c7c8c5f4d1"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:3c6b973f22eb18a789b1460b4b91bf04ae3f0c4234a0a6aa6b0a92f6f7b951d4"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ac07bad82163452a6884fe8fa0963fb98c2346ba78d779ec06bd7a6262132aee"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5dfb42c4604dddc8e4305050aa6deb084540643ed5804d7455b5df8fe16f5e5"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ea3d8a3d18833cf4304cd2fc9cbb1efe188ca9b5efef2bdac7adc20594a0e46b"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d050b3361367a06d752db6ead6e7edeb0009be66bc3bae0ee9d97fb326badc2a"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:bec0a414d016ac1a18862a519e54b2fd0fc8bbfd6890376898a6c0891dd82e9f"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:58c98fee265677f63a4385256a6d7683ab1832f3ddd1e66fe948d5880c21a169"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-win32.whl", hash = "sha256:8590b4ae07a35970728874632fed7bd57b26b0102df2d2b233b6d9d82f6c62ad"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-win_amd64.whl", hash = "sha256:823b65d8706e32ad2df51ed89496147a42a2a6e01c13cfb6ffb8b1e92bc910bb"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c8b29db45f8fe46ad280a7294f5c3ec36dbac9491f2d1c17345be8e69cc5928f"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ec6a563cff360b50eed26f13adc43e61bc0c04d94b8be985e6fb24b81f6dcfdf"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a549b9c31bec33820e885335b451286e2969a2d9e24879f83fe904a5ce59d70a"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4f11aa001c540f62c6166c7726f71f7573b52c68c31f014c25cc7901deea0b52"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:7b2e5a267c855eea6b4283940daa6e88a285f5f2a67f2220203786dfa59b37e9"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:2d2d793e36e230fd32babe143b04cec8a8b3eb8a3122d2aceb4a371e6b09b8df"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:ce409136744f6521e39fd8e2a24c53fa18ad67aa5bc7c2cf83645cce5b5c4e50"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-win32.whl", hash = "sha256:4096e9de5c6fdf43fb4f04c26fb114f61ef0bf2e5604b6ee3019d51b69e8c371"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-win_amd64.whl", hash = "sha256:4275d846e41ecefa46e2015117a9f491e57a71ddd59bbead77e904dc02b1bed2"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:656f7526c69fac7f600bd1f400991cc282b417d17539a1b228617081106feb4a"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:97cafb1f3cbcd3fd2b6fbfb99ae11cdb14deea0736fc2b0952ee177f2b813a46"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f3fbcb7ef1f16e48246f704ab79d79da8a46891e2da03f8783a5b6fa41a9532"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa9db3f79de01457b03d4f01b34cf91bc0048eb2c3846ff26f66687c2f6d16ab"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffee1f21e5ef0d712f9033568f8344d5da8cc2869dbd08d87c84656e6a2d2f68"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:5dedb4db619ba5a2787a94d877bc8ffc0566f92a01c0ef214865e54ecc9ee5e0"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:30b600cf0a7ac9234b2638fbc0fb6158ba5bdcdf46aeb631ead21248b9affbc4"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8dd717634f5a044f860435c1d8c16a270ddf0ef8588d4887037c5028b859b0c3"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-win32.whl", hash = "sha256:daa4ee5a243f0f20d528d939d06670a298dd39b1ad5f8a72a4275124a7819eff"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-win_amd64.whl", hash = "sha256:619bc166c4f2de5caa5a633b8b7326fbe98e0ccbfacabd87268a2b15ff73a029"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7a68b554d356a91cce1236aa7682dc01df0edba8d043fd1ce607c49dd3c1edcf"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:db0b55e0f3cc0be60c1f19efdde9a637c32740486004f20d1cff53c3c0ece4d2"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e53af139f8579a6d5f7b76549125f0d94d7e630761a2111bc431fd820e163b8"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17b950fccb810b3293638215058e432159d2b71005c74371d784862b7e4683f3"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4c31f53cdae6ecfa91a77820e8b151dba54ab528ba65dfd235c80b086d68a465"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:bff1b4290a66b490a2f4719358c0cdcd9bafb6b8f061e45c7a2460866bf50c2e"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bc1667f8b83f48511b94671e0e441401371dfd0f0a795c7daa4a3cd1dde55bea"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5049256f536511ee3f7e1b3f87d1d1209d327e818e6ae1365e8653d7e3abb6a6"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-win32.whl", hash = "sha256:00e046b6dd71aa03a41079792f8473dc494d564611a8f89bbbd7cb93295ebdcf"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-win_amd64.whl", hash = "sha256:fa173ec60341d6bb97a89f5ea19c85c5643c1e7dedebc22f5181eb73573142c5"}, + {file = "MarkupSafe-2.1.5.tar.gz", hash = "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b"}, ] [[package]] name = "mccabe" version = "0.7.0" description = "McCabe checker, plugin for flake8" -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -1289,142 +1431,178 @@ files = [ {file = "mccabe-0.7.0.tar.gz", hash = "sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325"}, ] +[[package]] +name = "mdurl" +version = "0.1.2" +description = "Markdown URL utilities" +optional = false +python-versions = ">=3.7" +files = [ + {file = "mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8"}, + {file = "mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba"}, +] + +[[package]] +name = "more-itertools" +version = "10.3.0" +description = "More routines for operating on iterables, beyond itertools" +optional = false +python-versions = ">=3.8" +files = [ + {file = "more-itertools-10.3.0.tar.gz", hash = "sha256:e5d93ef411224fbcef366a6e8ddc4c5781bc6359d43412a65dd5964e46111463"}, + {file = "more_itertools-10.3.0-py3-none-any.whl", hash = "sha256:ea6a02e24a9161e51faad17a8782b92a0df82c12c1c8886fec7f0c3fa1a1b320"}, +] + [[package]] name = "multidict" -version = "6.0.4" +version = "6.0.5" description = "multidict implementation" -category = "dev" optional = false python-versions = ">=3.7" files = [ - {file = "multidict-6.0.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0b1a97283e0c85772d613878028fec909f003993e1007eafa715b24b377cb9b8"}, - {file = "multidict-6.0.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:eeb6dcc05e911516ae3d1f207d4b0520d07f54484c49dfc294d6e7d63b734171"}, - {file = "multidict-6.0.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d6d635d5209b82a3492508cf5b365f3446afb65ae7ebd755e70e18f287b0adf7"}, - {file = "multidict-6.0.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c048099e4c9e9d615545e2001d3d8a4380bd403e1a0578734e0d31703d1b0c0b"}, - {file = "multidict-6.0.4-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ea20853c6dbbb53ed34cb4d080382169b6f4554d394015f1bef35e881bf83547"}, - {file = "multidict-6.0.4-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:16d232d4e5396c2efbbf4f6d4df89bfa905eb0d4dc5b3549d872ab898451f569"}, - {file = "multidict-6.0.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:36c63aaa167f6c6b04ef2c85704e93af16c11d20de1d133e39de6a0e84582a93"}, - {file = "multidict-6.0.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:64bdf1086b6043bf519869678f5f2757f473dee970d7abf6da91ec00acb9cb98"}, - {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:43644e38f42e3af682690876cff722d301ac585c5b9e1eacc013b7a3f7b696a0"}, - {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:7582a1d1030e15422262de9f58711774e02fa80df0d1578995c76214f6954988"}, - {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:ddff9c4e225a63a5afab9dd15590432c22e8057e1a9a13d28ed128ecf047bbdc"}, - {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:ee2a1ece51b9b9e7752e742cfb661d2a29e7bcdba2d27e66e28a99f1890e4fa0"}, - {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a2e4369eb3d47d2034032a26c7a80fcb21a2cb22e1173d761a162f11e562caa5"}, - {file = "multidict-6.0.4-cp310-cp310-win32.whl", hash = "sha256:574b7eae1ab267e5f8285f0fe881f17efe4b98c39a40858247720935b893bba8"}, - {file = "multidict-6.0.4-cp310-cp310-win_amd64.whl", hash = "sha256:4dcbb0906e38440fa3e325df2359ac6cb043df8e58c965bb45f4e406ecb162cc"}, - {file = "multidict-6.0.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:0dfad7a5a1e39c53ed00d2dd0c2e36aed4650936dc18fd9a1826a5ae1cad6f03"}, - {file = "multidict-6.0.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:64da238a09d6039e3bd39bb3aee9c21a5e34f28bfa5aa22518581f910ff94af3"}, - {file = "multidict-6.0.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ff959bee35038c4624250473988b24f846cbeb2c6639de3602c073f10410ceba"}, - {file = "multidict-6.0.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:01a3a55bd90018c9c080fbb0b9f4891db37d148a0a18722b42f94694f8b6d4c9"}, - {file = "multidict-6.0.4-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c5cb09abb18c1ea940fb99360ea0396f34d46566f157122c92dfa069d3e0e982"}, - {file = "multidict-6.0.4-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:666daae833559deb2d609afa4490b85830ab0dfca811a98b70a205621a6109fe"}, - {file = "multidict-6.0.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:11bdf3f5e1518b24530b8241529d2050014c884cf18b6fc69c0c2b30ca248710"}, - {file = "multidict-6.0.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7d18748f2d30f94f498e852c67d61261c643b349b9d2a581131725595c45ec6c"}, - {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:458f37be2d9e4c95e2d8866a851663cbc76e865b78395090786f6cd9b3bbf4f4"}, - {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:b1a2eeedcead3a41694130495593a559a668f382eee0727352b9a41e1c45759a"}, - {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:7d6ae9d593ef8641544d6263c7fa6408cc90370c8cb2bbb65f8d43e5b0351d9c"}, - {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:5979b5632c3e3534e42ca6ff856bb24b2e3071b37861c2c727ce220d80eee9ed"}, - {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:dcfe792765fab89c365123c81046ad4103fcabbc4f56d1c1997e6715e8015461"}, - {file = "multidict-6.0.4-cp311-cp311-win32.whl", hash = "sha256:3601a3cece3819534b11d4efc1eb76047488fddd0c85a3948099d5da4d504636"}, - {file = "multidict-6.0.4-cp311-cp311-win_amd64.whl", hash = "sha256:81a4f0b34bd92df3da93315c6a59034df95866014ac08535fc819f043bfd51f0"}, - {file = "multidict-6.0.4-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:67040058f37a2a51ed8ea8f6b0e6ee5bd78ca67f169ce6122f3e2ec80dfe9b78"}, - {file = "multidict-6.0.4-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:853888594621e6604c978ce2a0444a1e6e70c8d253ab65ba11657659dcc9100f"}, - {file = "multidict-6.0.4-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:39ff62e7d0f26c248b15e364517a72932a611a9b75f35b45be078d81bdb86603"}, - {file = "multidict-6.0.4-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:af048912e045a2dc732847d33821a9d84ba553f5c5f028adbd364dd4765092ac"}, - {file = "multidict-6.0.4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b1e8b901e607795ec06c9e42530788c45ac21ef3aaa11dbd0c69de543bfb79a9"}, - {file = "multidict-6.0.4-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:62501642008a8b9871ddfccbf83e4222cf8ac0d5aeedf73da36153ef2ec222d2"}, - {file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:99b76c052e9f1bc0721f7541e5e8c05db3941eb9ebe7b8553c625ef88d6eefde"}, - {file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:509eac6cf09c794aa27bcacfd4d62c885cce62bef7b2c3e8b2e49d365b5003fe"}, - {file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:21a12c4eb6ddc9952c415f24eef97e3e55ba3af61f67c7bc388dcdec1404a067"}, - {file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:5cad9430ab3e2e4fa4a2ef4450f548768400a2ac635841bc2a56a2052cdbeb87"}, - {file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:ab55edc2e84460694295f401215f4a58597f8f7c9466faec545093045476327d"}, - {file = "multidict-6.0.4-cp37-cp37m-win32.whl", hash = "sha256:5a4dcf02b908c3b8b17a45fb0f15b695bf117a67b76b7ad18b73cf8e92608775"}, - {file = "multidict-6.0.4-cp37-cp37m-win_amd64.whl", hash = "sha256:6ed5f161328b7df384d71b07317f4d8656434e34591f20552c7bcef27b0ab88e"}, - {file = "multidict-6.0.4-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5fc1b16f586f049820c5c5b17bb4ee7583092fa0d1c4e28b5239181ff9532e0c"}, - {file = "multidict-6.0.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1502e24330eb681bdaa3eb70d6358e818e8e8f908a22a1851dfd4e15bc2f8161"}, - {file = "multidict-6.0.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:b692f419760c0e65d060959df05f2a531945af31fda0c8a3b3195d4efd06de11"}, - {file = "multidict-6.0.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:45e1ecb0379bfaab5eef059f50115b54571acfbe422a14f668fc8c27ba410e7e"}, - {file = "multidict-6.0.4-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ddd3915998d93fbcd2566ddf9cf62cdb35c9e093075f862935573d265cf8f65d"}, - {file = "multidict-6.0.4-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:59d43b61c59d82f2effb39a93c48b845efe23a3852d201ed2d24ba830d0b4cf2"}, - {file = "multidict-6.0.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cc8e1d0c705233c5dd0c5e6460fbad7827d5d36f310a0fadfd45cc3029762258"}, - {file = "multidict-6.0.4-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d6aa0418fcc838522256761b3415822626f866758ee0bc6632c9486b179d0b52"}, - {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:6748717bb10339c4760c1e63da040f5f29f5ed6e59d76daee30305894069a660"}, - {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:4d1a3d7ef5e96b1c9e92f973e43aa5e5b96c659c9bc3124acbbd81b0b9c8a951"}, - {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:4372381634485bec7e46718edc71528024fcdc6f835baefe517b34a33c731d60"}, - {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:fc35cb4676846ef752816d5be2193a1e8367b4c1397b74a565a9d0389c433a1d"}, - {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:4b9d9e4e2b37daddb5c23ea33a3417901fa7c7b3dee2d855f63ee67a0b21e5b1"}, - {file = "multidict-6.0.4-cp38-cp38-win32.whl", hash = "sha256:e41b7e2b59679edfa309e8db64fdf22399eec4b0b24694e1b2104fb789207779"}, - {file = "multidict-6.0.4-cp38-cp38-win_amd64.whl", hash = "sha256:d6c254ba6e45d8e72739281ebc46ea5eb5f101234f3ce171f0e9f5cc86991480"}, - {file = "multidict-6.0.4-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:16ab77bbeb596e14212e7bab8429f24c1579234a3a462105cda4a66904998664"}, - {file = "multidict-6.0.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:bc779e9e6f7fda81b3f9aa58e3a6091d49ad528b11ed19f6621408806204ad35"}, - {file = "multidict-6.0.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4ceef517eca3e03c1cceb22030a3e39cb399ac86bff4e426d4fc6ae49052cc60"}, - {file = "multidict-6.0.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:281af09f488903fde97923c7744bb001a9b23b039a909460d0f14edc7bf59706"}, - {file = "multidict-6.0.4-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:52f2dffc8acaba9a2f27174c41c9e57f60b907bb9f096b36b1a1f3be71c6284d"}, - {file = "multidict-6.0.4-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b41156839806aecb3641f3208c0dafd3ac7775b9c4c422d82ee2a45c34ba81ca"}, - {file = "multidict-6.0.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d5e3fc56f88cc98ef8139255cf8cd63eb2c586531e43310ff859d6bb3a6b51f1"}, - {file = "multidict-6.0.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8316a77808c501004802f9beebde51c9f857054a0c871bd6da8280e718444449"}, - {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:f70b98cd94886b49d91170ef23ec5c0e8ebb6f242d734ed7ed677b24d50c82cf"}, - {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bf6774e60d67a9efe02b3616fee22441d86fab4c6d335f9d2051d19d90a40063"}, - {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:e69924bfcdda39b722ef4d9aa762b2dd38e4632b3641b1d9a57ca9cd18f2f83a"}, - {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:6b181d8c23da913d4ff585afd1155a0e1194c0b50c54fcfe286f70cdaf2b7176"}, - {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:52509b5be062d9eafc8170e53026fbc54cf3b32759a23d07fd935fb04fc22d95"}, - {file = "multidict-6.0.4-cp39-cp39-win32.whl", hash = "sha256:27c523fbfbdfd19c6867af7346332b62b586eed663887392cff78d614f9ec313"}, - {file = "multidict-6.0.4-cp39-cp39-win_amd64.whl", hash = "sha256:33029f5734336aa0d4c0384525da0387ef89148dc7191aae00ca5fb23d7aafc2"}, - {file = "multidict-6.0.4.tar.gz", hash = "sha256:3666906492efb76453c0e7b97f2cf459b0682e7402c0489a95484965dbc1da49"}, + {file = "multidict-6.0.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:228b644ae063c10e7f324ab1ab6b548bdf6f8b47f3ec234fef1093bc2735e5f9"}, + {file = "multidict-6.0.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:896ebdcf62683551312c30e20614305f53125750803b614e9e6ce74a96232604"}, + {file = "multidict-6.0.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:411bf8515f3be9813d06004cac41ccf7d1cd46dfe233705933dd163b60e37600"}, + {file = "multidict-6.0.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1d147090048129ce3c453f0292e7697d333db95e52616b3793922945804a433c"}, + {file = "multidict-6.0.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:215ed703caf15f578dca76ee6f6b21b7603791ae090fbf1ef9d865571039ade5"}, + {file = "multidict-6.0.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c6390cf87ff6234643428991b7359b5f59cc15155695deb4eda5c777d2b880f"}, + {file = "multidict-6.0.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:21fd81c4ebdb4f214161be351eb5bcf385426bf023041da2fd9e60681f3cebae"}, + {file = "multidict-6.0.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3cc2ad10255f903656017363cd59436f2111443a76f996584d1077e43ee51182"}, + {file = "multidict-6.0.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:6939c95381e003f54cd4c5516740faba40cf5ad3eeff460c3ad1d3e0ea2549bf"}, + {file = "multidict-6.0.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:220dd781e3f7af2c2c1053da9fa96d9cf3072ca58f057f4c5adaaa1cab8fc442"}, + {file = "multidict-6.0.5-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:766c8f7511df26d9f11cd3a8be623e59cca73d44643abab3f8c8c07620524e4a"}, + {file = "multidict-6.0.5-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:fe5d7785250541f7f5019ab9cba2c71169dc7d74d0f45253f8313f436458a4ef"}, + {file = "multidict-6.0.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c1c1496e73051918fcd4f58ff2e0f2f3066d1c76a0c6aeffd9b45d53243702cc"}, + {file = "multidict-6.0.5-cp310-cp310-win32.whl", hash = "sha256:7afcdd1fc07befad18ec4523a782cde4e93e0a2bf71239894b8d61ee578c1319"}, + {file = "multidict-6.0.5-cp310-cp310-win_amd64.whl", hash = "sha256:99f60d34c048c5c2fabc766108c103612344c46e35d4ed9ae0673d33c8fb26e8"}, + {file = "multidict-6.0.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:f285e862d2f153a70586579c15c44656f888806ed0e5b56b64489afe4a2dbfba"}, + {file = "multidict-6.0.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:53689bb4e102200a4fafa9de9c7c3c212ab40a7ab2c8e474491914d2305f187e"}, + {file = "multidict-6.0.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:612d1156111ae11d14afaf3a0669ebf6c170dbb735e510a7438ffe2369a847fd"}, + {file = "multidict-6.0.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7be7047bd08accdb7487737631d25735c9a04327911de89ff1b26b81745bd4e3"}, + {file = "multidict-6.0.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de170c7b4fe6859beb8926e84f7d7d6c693dfe8e27372ce3b76f01c46e489fcf"}, + {file = "multidict-6.0.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:04bde7a7b3de05732a4eb39c94574db1ec99abb56162d6c520ad26f83267de29"}, + {file = "multidict-6.0.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:85f67aed7bb647f93e7520633d8f51d3cbc6ab96957c71272b286b2f30dc70ed"}, + {file = "multidict-6.0.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:425bf820055005bfc8aa9a0b99ccb52cc2f4070153e34b701acc98d201693733"}, + {file = "multidict-6.0.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:d3eb1ceec286eba8220c26f3b0096cf189aea7057b6e7b7a2e60ed36b373b77f"}, + {file = "multidict-6.0.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:7901c05ead4b3fb75113fb1dd33eb1253c6d3ee37ce93305acd9d38e0b5f21a4"}, + {file = "multidict-6.0.5-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:e0e79d91e71b9867c73323a3444724d496c037e578a0e1755ae159ba14f4f3d1"}, + {file = "multidict-6.0.5-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:29bfeb0dff5cb5fdab2023a7a9947b3b4af63e9c47cae2a10ad58394b517fddc"}, + {file = "multidict-6.0.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e030047e85cbcedbfc073f71836d62dd5dadfbe7531cae27789ff66bc551bd5e"}, + {file = "multidict-6.0.5-cp311-cp311-win32.whl", hash = "sha256:2f4848aa3baa109e6ab81fe2006c77ed4d3cd1e0ac2c1fbddb7b1277c168788c"}, + {file = "multidict-6.0.5-cp311-cp311-win_amd64.whl", hash = "sha256:2faa5ae9376faba05f630d7e5e6be05be22913782b927b19d12b8145968a85ea"}, + {file = "multidict-6.0.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:51d035609b86722963404f711db441cf7134f1889107fb171a970c9701f92e1e"}, + {file = "multidict-6.0.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:cbebcd5bcaf1eaf302617c114aa67569dd3f090dd0ce8ba9e35e9985b41ac35b"}, + {file = "multidict-6.0.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2ffc42c922dbfddb4a4c3b438eb056828719f07608af27d163191cb3e3aa6cc5"}, + {file = "multidict-6.0.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ceb3b7e6a0135e092de86110c5a74e46bda4bd4fbfeeb3a3bcec79c0f861e450"}, + {file = "multidict-6.0.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:79660376075cfd4b2c80f295528aa6beb2058fd289f4c9252f986751a4cd0496"}, + {file = "multidict-6.0.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e4428b29611e989719874670fd152b6625500ad6c686d464e99f5aaeeaca175a"}, + {file = "multidict-6.0.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d84a5c3a5f7ce6db1f999fb9438f686bc2e09d38143f2d93d8406ed2dd6b9226"}, + {file = "multidict-6.0.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:76c0de87358b192de7ea9649beb392f107dcad9ad27276324c24c91774ca5271"}, + {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:79a6d2ba910adb2cbafc95dad936f8b9386e77c84c35bc0add315b856d7c3abb"}, + {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:92d16a3e275e38293623ebf639c471d3e03bb20b8ebb845237e0d3664914caef"}, + {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:fb616be3538599e797a2017cccca78e354c767165e8858ab5116813146041a24"}, + {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:14c2976aa9038c2629efa2c148022ed5eb4cb939e15ec7aace7ca932f48f9ba6"}, + {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:435a0984199d81ca178b9ae2c26ec3d49692d20ee29bc4c11a2a8d4514c67eda"}, + {file = "multidict-6.0.5-cp312-cp312-win32.whl", hash = "sha256:9fe7b0653ba3d9d65cbe7698cca585bf0f8c83dbbcc710db9c90f478e175f2d5"}, + {file = "multidict-6.0.5-cp312-cp312-win_amd64.whl", hash = "sha256:01265f5e40f5a17f8241d52656ed27192be03bfa8764d88e8220141d1e4b3556"}, + {file = "multidict-6.0.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:19fe01cea168585ba0f678cad6f58133db2aa14eccaf22f88e4a6dccadfad8b3"}, + {file = "multidict-6.0.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6bf7a982604375a8d49b6cc1b781c1747f243d91b81035a9b43a2126c04766f5"}, + {file = "multidict-6.0.5-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:107c0cdefe028703fb5dafe640a409cb146d44a6ae201e55b35a4af8e95457dd"}, + {file = "multidict-6.0.5-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:403c0911cd5d5791605808b942c88a8155c2592e05332d2bf78f18697a5fa15e"}, + {file = "multidict-6.0.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aeaf541ddbad8311a87dd695ed9642401131ea39ad7bc8cf3ef3967fd093b626"}, + {file = "multidict-6.0.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e4972624066095e52b569e02b5ca97dbd7a7ddd4294bf4e7247d52635630dd83"}, + {file = "multidict-6.0.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:d946b0a9eb8aaa590df1fe082cee553ceab173e6cb5b03239716338629c50c7a"}, + {file = "multidict-6.0.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:b55358304d7a73d7bdf5de62494aaf70bd33015831ffd98bc498b433dfe5b10c"}, + {file = "multidict-6.0.5-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:a3145cb08d8625b2d3fee1b2d596a8766352979c9bffe5d7833e0503d0f0b5e5"}, + {file = "multidict-6.0.5-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:d65f25da8e248202bd47445cec78e0025c0fe7582b23ec69c3b27a640dd7a8e3"}, + {file = "multidict-6.0.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:c9bf56195c6bbd293340ea82eafd0071cb3d450c703d2c93afb89f93b8386ccc"}, + {file = "multidict-6.0.5-cp37-cp37m-win32.whl", hash = "sha256:69db76c09796b313331bb7048229e3bee7928eb62bab5e071e9f7fcc4879caee"}, + {file = "multidict-6.0.5-cp37-cp37m-win_amd64.whl", hash = "sha256:fce28b3c8a81b6b36dfac9feb1de115bab619b3c13905b419ec71d03a3fc1423"}, + {file = "multidict-6.0.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:76f067f5121dcecf0d63a67f29080b26c43c71a98b10c701b0677e4a065fbd54"}, + {file = "multidict-6.0.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:b82cc8ace10ab5bd93235dfaab2021c70637005e1ac787031f4d1da63d493c1d"}, + {file = "multidict-6.0.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:5cb241881eefd96b46f89b1a056187ea8e9ba14ab88ba632e68d7a2ecb7aadf7"}, + {file = "multidict-6.0.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e8e94e6912639a02ce173341ff62cc1201232ab86b8a8fcc05572741a5dc7d93"}, + {file = "multidict-6.0.5-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:09a892e4a9fb47331da06948690ae38eaa2426de97b4ccbfafbdcbe5c8f37ff8"}, + {file = "multidict-6.0.5-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:55205d03e8a598cfc688c71ca8ea5f66447164efff8869517f175ea632c7cb7b"}, + {file = "multidict-6.0.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:37b15024f864916b4951adb95d3a80c9431299080341ab9544ed148091b53f50"}, + {file = "multidict-6.0.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f2a1dee728b52b33eebff5072817176c172050d44d67befd681609b4746e1c2e"}, + {file = "multidict-6.0.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:edd08e6f2f1a390bf137080507e44ccc086353c8e98c657e666c017718561b89"}, + {file = "multidict-6.0.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:60d698e8179a42ec85172d12f50b1668254628425a6bd611aba022257cac1386"}, + {file = "multidict-6.0.5-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:3d25f19500588cbc47dc19081d78131c32637c25804df8414463ec908631e453"}, + {file = "multidict-6.0.5-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:4cc0ef8b962ac7a5e62b9e826bd0cd5040e7d401bc45a6835910ed699037a461"}, + {file = "multidict-6.0.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:eca2e9d0cc5a889850e9bbd68e98314ada174ff6ccd1129500103df7a94a7a44"}, + {file = "multidict-6.0.5-cp38-cp38-win32.whl", hash = "sha256:4a6a4f196f08c58c59e0b8ef8ec441d12aee4125a7d4f4fef000ccb22f8d7241"}, + {file = "multidict-6.0.5-cp38-cp38-win_amd64.whl", hash = "sha256:0275e35209c27a3f7951e1ce7aaf93ce0d163b28948444bec61dd7badc6d3f8c"}, + {file = "multidict-6.0.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:e7be68734bd8c9a513f2b0cfd508802d6609da068f40dc57d4e3494cefc92929"}, + {file = "multidict-6.0.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:1d9ea7a7e779d7a3561aade7d596649fbecfa5c08a7674b11b423783217933f9"}, + {file = "multidict-6.0.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ea1456df2a27c73ce51120fa2f519f1bea2f4a03a917f4a43c8707cf4cbbae1a"}, + {file = "multidict-6.0.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf590b134eb70629e350691ecca88eac3e3b8b3c86992042fb82e3cb1830d5e1"}, + {file = "multidict-6.0.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5c0631926c4f58e9a5ccce555ad7747d9a9f8b10619621f22f9635f069f6233e"}, + {file = "multidict-6.0.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dce1c6912ab9ff5f179eaf6efe7365c1f425ed690b03341911bf4939ef2f3046"}, + {file = "multidict-6.0.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0868d64af83169e4d4152ec612637a543f7a336e4a307b119e98042e852ad9c"}, + {file = "multidict-6.0.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:141b43360bfd3bdd75f15ed811850763555a251e38b2405967f8e25fb43f7d40"}, + {file = "multidict-6.0.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:7df704ca8cf4a073334e0427ae2345323613e4df18cc224f647f251e5e75a527"}, + {file = "multidict-6.0.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:6214c5a5571802c33f80e6c84713b2c79e024995b9c5897f794b43e714daeec9"}, + {file = "multidict-6.0.5-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:cd6c8fca38178e12c00418de737aef1261576bd1b6e8c6134d3e729a4e858b38"}, + {file = "multidict-6.0.5-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:e02021f87a5b6932fa6ce916ca004c4d441509d33bbdbeca70d05dff5e9d2479"}, + {file = "multidict-6.0.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ebd8d160f91a764652d3e51ce0d2956b38efe37c9231cd82cfc0bed2e40b581c"}, + {file = "multidict-6.0.5-cp39-cp39-win32.whl", hash = "sha256:04da1bb8c8dbadf2a18a452639771951c662c5ad03aefe4884775454be322c9b"}, + {file = "multidict-6.0.5-cp39-cp39-win_amd64.whl", hash = "sha256:d6f6d4f185481c9669b9447bf9d9cf3b95a0e9df9d169bbc17e363b7d5487755"}, + {file = "multidict-6.0.5-py3-none-any.whl", hash = "sha256:0d63c74e3d7ab26de115c49bffc92cc77ed23395303d496eae515d4204a625e7"}, + {file = "multidict-6.0.5.tar.gz", hash = "sha256:f7e301075edaf50500f0b341543c41194d8df3ae5caf4702f2095f3ca73dd8da"}, ] [[package]] name = "mypy" -version = "1.0.0" +version = "1.10.1" description = "Optional static typing for Python" -category = "dev" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "mypy-1.0.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e0626db16705ab9f7fa6c249c017c887baf20738ce7f9129da162bb3075fc1af"}, - {file = "mypy-1.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:1ace23f6bb4aec4604b86c4843276e8fa548d667dbbd0cb83a3ae14b18b2db6c"}, - {file = "mypy-1.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:87edfaf344c9401942883fad030909116aa77b0fa7e6e8e1c5407e14549afe9a"}, - {file = "mypy-1.0.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:0ab090d9240d6b4e99e1fa998c2d0aa5b29fc0fb06bd30e7ad6183c95fa07593"}, - {file = "mypy-1.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:7cc2c01dfc5a3cbddfa6c13f530ef3b95292f926329929001d45e124342cd6b7"}, - {file = "mypy-1.0.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:14d776869a3e6c89c17eb943100f7868f677703c8a4e00b3803918f86aafbc52"}, - {file = "mypy-1.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:bb2782a036d9eb6b5a6efcdda0986774bf798beef86a62da86cb73e2a10b423d"}, - {file = "mypy-1.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5cfca124f0ac6707747544c127880893ad72a656e136adc935c8600740b21ff5"}, - {file = "mypy-1.0.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:8845125d0b7c57838a10fd8925b0f5f709d0e08568ce587cc862aacce453e3dd"}, - {file = "mypy-1.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:01b1b9e1ed40544ef486fa8ac022232ccc57109f379611633ede8e71630d07d2"}, - {file = "mypy-1.0.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c7cf862aef988b5fbaa17764ad1d21b4831436701c7d2b653156a9497d92c83c"}, - {file = "mypy-1.0.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5cd187d92b6939617f1168a4fe68f68add749902c010e66fe574c165c742ed88"}, - {file = "mypy-1.0.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:4e5175026618c178dfba6188228b845b64131034ab3ba52acaffa8f6c361f805"}, - {file = "mypy-1.0.0-cp37-cp37m-win_amd64.whl", hash = "sha256:2f6ac8c87e046dc18c7d1d7f6653a66787a4555085b056fe2d599f1f1a2a2d21"}, - {file = "mypy-1.0.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:7306edca1c6f1b5fa0bc9aa645e6ac8393014fa82d0fa180d0ebc990ebe15964"}, - {file = "mypy-1.0.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:3cfad08f16a9c6611e6143485a93de0e1e13f48cfb90bcad7d5fde1c0cec3d36"}, - {file = "mypy-1.0.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:67cced7f15654710386e5c10b96608f1ee3d5c94ca1da5a2aad5889793a824c1"}, - {file = "mypy-1.0.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:a86b794e8a56ada65c573183756eac8ac5b8d3d59daf9d5ebd72ecdbb7867a43"}, - {file = "mypy-1.0.0-cp38-cp38-win_amd64.whl", hash = "sha256:50979d5efff8d4135d9db293c6cb2c42260e70fb010cbc697b1311a4d7a39ddb"}, - {file = "mypy-1.0.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3ae4c7a99e5153496243146a3baf33b9beff714464ca386b5f62daad601d87af"}, - {file = "mypy-1.0.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5e398652d005a198a7f3c132426b33c6b85d98aa7dc852137a2a3be8890c4072"}, - {file = "mypy-1.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:be78077064d016bc1b639c2cbcc5be945b47b4261a4f4b7d8923f6c69c5c9457"}, - {file = "mypy-1.0.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:92024447a339400ea00ac228369cd242e988dd775640755fa4ac0c126e49bb74"}, - {file = "mypy-1.0.0-cp39-cp39-win_amd64.whl", hash = "sha256:fe523fcbd52c05040c7bee370d66fee8373c5972171e4fbc323153433198592d"}, - {file = "mypy-1.0.0-py3-none-any.whl", hash = "sha256:2efa963bdddb27cb4a0d42545cd137a8d2b883bd181bbc4525b568ef6eca258f"}, - {file = "mypy-1.0.0.tar.gz", hash = "sha256:f34495079c8d9da05b183f9f7daec2878280c2ad7cc81da686ef0b484cea2ecf"}, -] - -[package.dependencies] -mypy-extensions = ">=0.4.3" + {file = "mypy-1.10.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e36f229acfe250dc660790840916eb49726c928e8ce10fbdf90715090fe4ae02"}, + {file = "mypy-1.10.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:51a46974340baaa4145363b9e051812a2446cf583dfaeba124af966fa44593f7"}, + {file = "mypy-1.10.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:901c89c2d67bba57aaaca91ccdb659aa3a312de67f23b9dfb059727cce2e2e0a"}, + {file = "mypy-1.10.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:0cd62192a4a32b77ceb31272d9e74d23cd88c8060c34d1d3622db3267679a5d9"}, + {file = "mypy-1.10.1-cp310-cp310-win_amd64.whl", hash = "sha256:a2cbc68cb9e943ac0814c13e2452d2046c2f2b23ff0278e26599224cf164e78d"}, + {file = "mypy-1.10.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:bd6f629b67bb43dc0d9211ee98b96d8dabc97b1ad38b9b25f5e4c4d7569a0c6a"}, + {file = "mypy-1.10.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a1bbb3a6f5ff319d2b9d40b4080d46cd639abe3516d5a62c070cf0114a457d84"}, + {file = "mypy-1.10.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b8edd4e9bbbc9d7b79502eb9592cab808585516ae1bcc1446eb9122656c6066f"}, + {file = "mypy-1.10.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:6166a88b15f1759f94a46fa474c7b1b05d134b1b61fca627dd7335454cc9aa6b"}, + {file = "mypy-1.10.1-cp311-cp311-win_amd64.whl", hash = "sha256:5bb9cd11c01c8606a9d0b83ffa91d0b236a0e91bc4126d9ba9ce62906ada868e"}, + {file = "mypy-1.10.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:d8681909f7b44d0b7b86e653ca152d6dff0eb5eb41694e163c6092124f8246d7"}, + {file = "mypy-1.10.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:378c03f53f10bbdd55ca94e46ec3ba255279706a6aacaecac52ad248f98205d3"}, + {file = "mypy-1.10.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6bacf8f3a3d7d849f40ca6caea5c055122efe70e81480c8328ad29c55c69e93e"}, + {file = "mypy-1.10.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:701b5f71413f1e9855566a34d6e9d12624e9e0a8818a5704d74d6b0402e66c04"}, + {file = "mypy-1.10.1-cp312-cp312-win_amd64.whl", hash = "sha256:3c4c2992f6ea46ff7fce0072642cfb62af7a2484efe69017ed8b095f7b39ef31"}, + {file = "mypy-1.10.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:604282c886497645ffb87b8f35a57ec773a4a2721161e709a4422c1636ddde5c"}, + {file = "mypy-1.10.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:37fd87cab83f09842653f08de066ee68f1182b9b5282e4634cdb4b407266bade"}, + {file = "mypy-1.10.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8addf6313777dbb92e9564c5d32ec122bf2c6c39d683ea64de6a1fd98b90fe37"}, + {file = "mypy-1.10.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:5cc3ca0a244eb9a5249c7c583ad9a7e881aa5d7b73c35652296ddcdb33b2b9c7"}, + {file = "mypy-1.10.1-cp38-cp38-win_amd64.whl", hash = "sha256:1b3a2ffce52cc4dbaeee4df762f20a2905aa171ef157b82192f2e2f368eec05d"}, + {file = "mypy-1.10.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:fe85ed6836165d52ae8b88f99527d3d1b2362e0cb90b005409b8bed90e9059b3"}, + {file = "mypy-1.10.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c2ae450d60d7d020d67ab440c6e3fae375809988119817214440033f26ddf7bf"}, + {file = "mypy-1.10.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6be84c06e6abd72f960ba9a71561c14137a583093ffcf9bbfaf5e613d63fa531"}, + {file = "mypy-1.10.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:2189ff1e39db399f08205e22a797383613ce1cb0cb3b13d8bcf0170e45b96cc3"}, + {file = "mypy-1.10.1-cp39-cp39-win_amd64.whl", hash = "sha256:97a131ee36ac37ce9581f4220311247ab6cba896b4395b9c87af0675a13a755f"}, + {file = "mypy-1.10.1-py3-none-any.whl", hash = "sha256:71d8ac0b906354ebda8ef1673e5fde785936ac1f29ff6987c7483cfbd5a4235a"}, + {file = "mypy-1.10.1.tar.gz", hash = "sha256:1f8f492d7db9e3593ef42d4f115f04e556130f2819ad33ab84551403e97dd4c0"}, +] + +[package.dependencies] +mypy-extensions = ">=1.0.0" tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} -typing-extensions = ">=3.10" +typing-extensions = ">=4.1.0" [package.extras] dmypy = ["psutil (>=4.0)"] install-types = ["pip"] -python2 = ["typed-ast (>=1.4.0,<2)"] +mypyc = ["setuptools (>=50)"] reports = ["lxml"] [[package]] name = "mypy-extensions" version = "1.0.0" description = "Type system extensions for programs checked with the mypy type checker." -category = "dev" optional = false python-versions = ">=3.5" files = [ @@ -1436,7 +1614,6 @@ files = [ name = "ncclient" version = "0.6.15" description = "Python library for NETCONF clients" -category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" files = [ @@ -1451,52 +1628,49 @@ six = "*" [[package]] name = "netaddr" -version = "0.9.0" +version = "0.10.1" description = "A network address manipulation library for Python" -category = "dev" optional = false python-versions = "*" files = [ - {file = "netaddr-0.9.0-py3-none-any.whl", hash = "sha256:5148b1055679d2a1ec070c521b7db82137887fabd6d7e37f5199b44f775c3bb1"}, - {file = "netaddr-0.9.0.tar.gz", hash = "sha256:7b46fa9b1a2d71fd5de9e4a3784ef339700a53a08c8040f08baf5f1194da0128"}, + {file = "netaddr-0.10.1-py2.py3-none-any.whl", hash = "sha256:9822305b42ea1020d54fee322d43cee5622b044c07a1f0130b459bb467efcf88"}, + {file = "netaddr-0.10.1.tar.gz", hash = "sha256:f4da4222ca8c3f43c8e18a8263e5426c750a3a837fdfeccf74c68d0408eaa3bf"}, ] [[package]] name = "nh3" -version = "0.2.14" -description = "Ammonia HTML sanitizer Python binding" -category = "dev" +version = "0.2.18" +description = "Python bindings to the ammonia HTML sanitization library." optional = false python-versions = "*" files = [ - {file = "nh3-0.2.14-cp37-abi3-macosx_10_7_x86_64.whl", hash = "sha256:9be2f68fb9a40d8440cbf34cbf40758aa7f6093160bfc7fb018cce8e424f0c3a"}, - {file = "nh3-0.2.14-cp37-abi3-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl", hash = "sha256:f99212a81c62b5f22f9e7c3e347aa00491114a5647e1f13bbebd79c3e5f08d75"}, - {file = "nh3-0.2.14-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7771d43222b639a4cd9e341f870cee336b9d886de1ad9bec8dddab22fe1de450"}, - {file = "nh3-0.2.14-cp37-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:525846c56c2bcd376f5eaee76063ebf33cf1e620c1498b2a40107f60cfc6054e"}, - {file = "nh3-0.2.14-cp37-abi3-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:e8986f1dd3221d1e741fda0a12eaa4a273f1d80a35e31a1ffe579e7c621d069e"}, - {file = "nh3-0.2.14-cp37-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:18415df36db9b001f71a42a3a5395db79cf23d556996090d293764436e98e8ad"}, - {file = "nh3-0.2.14-cp37-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:377aaf6a9e7c63962f367158d808c6a1344e2b4f83d071c43fbd631b75c4f0b2"}, - {file = "nh3-0.2.14-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2b0be5c792bd43d0abef8ca39dd8acb3c0611052ce466d0401d51ea0d9aa7525"}, - {file = "nh3-0.2.14-cp37-abi3-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:93a943cfd3e33bd03f77b97baa11990148687877b74193bf777956b67054dcc6"}, - {file = "nh3-0.2.14-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:ac8056e937f264995a82bf0053ca898a1cb1c9efc7cd68fa07fe0060734df7e4"}, - {file = "nh3-0.2.14-cp37-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:203cac86e313cf6486704d0ec620a992c8bc164c86d3a4fd3d761dd552d839b5"}, - {file = "nh3-0.2.14-cp37-abi3-musllinux_1_2_i686.whl", hash = "sha256:5529a3bf99402c34056576d80ae5547123f1078da76aa99e8ed79e44fa67282d"}, - {file = "nh3-0.2.14-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:aed56a86daa43966dd790ba86d4b810b219f75b4bb737461b6886ce2bde38fd6"}, - {file = "nh3-0.2.14-cp37-abi3-win32.whl", hash = "sha256:116c9515937f94f0057ef50ebcbcc10600860065953ba56f14473ff706371873"}, - {file = "nh3-0.2.14-cp37-abi3-win_amd64.whl", hash = "sha256:88c753efbcdfc2644a5012938c6b9753f1c64a5723a67f0301ca43e7b85dcf0e"}, - {file = "nh3-0.2.14.tar.gz", hash = "sha256:a0c509894fd4dccdff557068e5074999ae3b75f4c5a2d6fb5415e782e25679c4"}, + {file = "nh3-0.2.18-cp37-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:14c5a72e9fe82aea5fe3072116ad4661af5cf8e8ff8fc5ad3450f123e4925e86"}, + {file = "nh3-0.2.18-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:7b7c2a3c9eb1a827d42539aa64091640bd275b81e097cd1d8d82ef91ffa2e811"}, + {file = "nh3-0.2.18-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42c64511469005058cd17cc1537578eac40ae9f7200bedcfd1fc1a05f4f8c200"}, + {file = "nh3-0.2.18-cp37-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:0411beb0589eacb6734f28d5497ca2ed379eafab8ad8c84b31bb5c34072b7164"}, + {file = "nh3-0.2.18-cp37-abi3-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:5f36b271dae35c465ef5e9090e1fdaba4a60a56f0bb0ba03e0932a66f28b9189"}, + {file = "nh3-0.2.18-cp37-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:34c03fa78e328c691f982b7c03d4423bdfd7da69cd707fe572f544cf74ac23ad"}, + {file = "nh3-0.2.18-cp37-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:19aaba96e0f795bd0a6c56291495ff59364f4300d4a39b29a0abc9cb3774a84b"}, + {file = "nh3-0.2.18-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de3ceed6e661954871d6cd78b410213bdcb136f79aafe22aa7182e028b8c7307"}, + {file = "nh3-0.2.18-cp37-abi3-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6955369e4d9f48f41e3f238a9e60f9410645db7e07435e62c6a9ea6135a4907f"}, + {file = "nh3-0.2.18-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:f0eca9ca8628dbb4e916ae2491d72957fdd35f7a5d326b7032a345f111ac07fe"}, + {file = "nh3-0.2.18-cp37-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:3a157ab149e591bb638a55c8c6bcb8cdb559c8b12c13a8affaba6cedfe51713a"}, + {file = "nh3-0.2.18-cp37-abi3-musllinux_1_2_i686.whl", hash = "sha256:c8b3a1cebcba9b3669ed1a84cc65bf005728d2f0bc1ed2a6594a992e817f3a50"}, + {file = "nh3-0.2.18-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:36c95d4b70530b320b365659bb5034341316e6a9b30f0b25fa9c9eff4c27a204"}, + {file = "nh3-0.2.18-cp37-abi3-win32.whl", hash = "sha256:a7f1b5b2c15866f2db413a3649a8fe4fd7b428ae58be2c0f6bca5eefd53ca2be"}, + {file = "nh3-0.2.18-cp37-abi3-win_amd64.whl", hash = "sha256:8ce0f819d2f1933953fca255db2471ad58184a60508f03e6285e5114b6254844"}, + {file = "nh3-0.2.18.tar.gz", hash = "sha256:94a166927e53972a9698af9542ace4e38b9de50c34352b962f4d9a7d4c927af4"}, ] [[package]] name = "ntc-templates" -version = "4.0.1" +version = "5.1.0" description = "TextFSM Templates for Network Devices, and Python wrapper for TextFSM's CliTable." -category = "main" optional = false -python-versions = ">=3.7,<4.0" +python-versions = "<4.0,>=3.8" files = [ - {file = "ntc_templates-4.0.1-py3-none-any.whl", hash = "sha256:4d20943fdffc70595fb2b983c6fcab926635c3e4621aaec13a9063a9a61241dd"}, - {file = "ntc_templates-4.0.1.tar.gz", hash = "sha256:5bd158592ac99e769a0b7e82e53fd714a410f912fc9e438e95cc0130cf7290a8"}, + {file = "ntc_templates-5.1.0-py3-none-any.whl", hash = "sha256:8784bbf790a814789910c04148ee84726183228f173a118b80e0c7420290b4dd"}, + {file = "ntc_templates-5.1.0.tar.gz", hash = "sha256:820583f35a8d7411c86b70635a6acd65ce357b8bc19e1f408ce836eac30a6371"}, ] [package.dependencies] @@ -1504,26 +1678,24 @@ textfsm = ">=1.1.0,<2.0.0" [[package]] name = "packaging" -version = "23.2" +version = "24.1" description = "Core utilities for Python packages" -category = "dev" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "packaging-23.2-py3-none-any.whl", hash = "sha256:8c491190033a9af7e1d931d0b5dacc2ef47509b34dd0de67ed209b5203fc88c7"}, - {file = "packaging-23.2.tar.gz", hash = "sha256:048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5"}, + {file = "packaging-24.1-py3-none-any.whl", hash = "sha256:5b8f2217dbdbd2f7f384c41c628544e6d52f2d0f53c6d0c3ea61aa5d1d7ff124"}, + {file = "packaging-24.1.tar.gz", hash = "sha256:026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002"}, ] [[package]] name = "paramiko" -version = "3.3.1" +version = "3.4.0" description = "SSH2 protocol library" -category = "main" optional = false python-versions = ">=3.6" files = [ - {file = "paramiko-3.3.1-py3-none-any.whl", hash = "sha256:b7bc5340a43de4287bbe22fe6de728aa2c22468b2a849615498dd944c2f275eb"}, - {file = "paramiko-3.3.1.tar.gz", hash = "sha256:6a3777a961ac86dbef375c5f5b8d50014a1a96d0fd7f054a43bc880134b0ff77"}, + {file = "paramiko-3.4.0-py3-none-any.whl", hash = "sha256:43f0b51115a896f9c00f59618023484cb3a14b98bbceab43394a39c6739b7ee7"}, + {file = "paramiko-3.4.0.tar.gz", hash = "sha256:aac08f26a31dc4dffd92821527d1682d99d52f9ef6851968114a8728f3c274d3"}, ] [package.dependencies] @@ -1538,21 +1710,19 @@ invoke = ["invoke (>=2.0)"] [[package]] name = "pathspec" -version = "0.11.2" +version = "0.12.1" description = "Utility library for gitignore style pattern matching of file paths." -category = "dev" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "pathspec-0.11.2-py3-none-any.whl", hash = "sha256:1d6ed233af05e679efb96b1851550ea95bbb64b7c490b0f5aa52996c11e92a20"}, - {file = "pathspec-0.11.2.tar.gz", hash = "sha256:e0d8d0ac2f12da61956eb2306b69f9469b42f4deb0f3cb6ed47b9cce9996ced3"}, + {file = "pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08"}, + {file = "pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712"}, ] [[package]] name = "pdoc3" version = "0.10.0" description = "Auto-generate API documentation for Python projects." -category = "dev" optional = false python-versions = ">= 3.6" files = [ @@ -1566,45 +1736,43 @@ markdown = ">=3.0" [[package]] name = "pkginfo" -version = "1.9.6" +version = "1.10.0" description = "Query metadata from sdists / bdists / installed packages." -category = "dev" optional = false python-versions = ">=3.6" files = [ - {file = "pkginfo-1.9.6-py3-none-any.whl", hash = "sha256:4b7a555a6d5a22169fcc9cf7bfd78d296b0361adad412a346c1226849af5e546"}, - {file = "pkginfo-1.9.6.tar.gz", hash = "sha256:8fd5896e8718a4372f0ea9cc9d96f6417c9b986e23a4d116dda26b62cc29d046"}, + {file = "pkginfo-1.10.0-py3-none-any.whl", hash = "sha256:889a6da2ed7ffc58ab5b900d888ddce90bce912f2d2de1dc1c26f4cb9fe65097"}, + {file = "pkginfo-1.10.0.tar.gz", hash = "sha256:5df73835398d10db79f8eecd5cd86b1f6d29317589ea70796994d49399af6297"}, ] [package.extras] -testing = ["pytest", "pytest-cov"] +testing = ["pytest", "pytest-cov", "wheel"] [[package]] name = "platformdirs" -version = "3.11.0" -description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." -category = "dev" +version = "4.2.2" +description = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`." optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "platformdirs-3.11.0-py3-none-any.whl", hash = "sha256:e9d171d00af68be50e9202731309c4e658fd8bc76f55c11c7dd760d023bda68e"}, - {file = "platformdirs-3.11.0.tar.gz", hash = "sha256:cf8ee52a3afdb965072dcc652433e0c7e3e40cf5ea1477cd4b3b1d2eb75495b3"}, + {file = "platformdirs-4.2.2-py3-none-any.whl", hash = "sha256:2d7a1657e36a80ea911db832a8a6ece5ee53d8de21edd5cc5879af6530b1bfee"}, + {file = "platformdirs-4.2.2.tar.gz", hash = "sha256:38b7b51f512eed9e84a22788b4bce1de17c0adb134d6becb09836e37d8654cd3"}, ] [package.extras] -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)"] +docs = ["furo (>=2023.9.10)", "proselint (>=0.13)", "sphinx (>=7.2.6)", "sphinx-autodoc-typehints (>=1.25.2)"] +test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4.3)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)"] +type = ["mypy (>=1.8)"] [[package]] name = "pluggy" -version = "1.3.0" +version = "1.5.0" description = "plugin and hook calling mechanisms for python" -category = "dev" optional = false python-versions = ">=3.8" files = [ - {file = "pluggy-1.3.0-py3-none-any.whl", hash = "sha256:d89c696a773f8bd377d18e5ecda92b7a3793cbe66c87060a6fb58c7b6e1061f7"}, - {file = "pluggy-1.3.0.tar.gz", hash = "sha256:cf61ae8f126ac6f7c451172cf30e3e43d3ca77615509771b3a984a0730651e12"}, + {file = "pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669"}, + {file = "pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1"}, ] [package.extras] @@ -1615,7 +1783,6 @@ testing = ["pytest", "pytest-benchmark"] name = "ply" version = "3.11" description = "Python Lex & Yacc" -category = "dev" optional = false python-versions = "*" files = [ @@ -1625,91 +1792,74 @@ files = [ [[package]] name = "prettytable" -version = "3.9.0" +version = "3.10.0" description = "A simple Python library for easily displaying tabular data in a visually appealing ASCII table format" -category = "dev" optional = false python-versions = ">=3.8" files = [ - {file = "prettytable-3.9.0-py3-none-any.whl", hash = "sha256:a71292ab7769a5de274b146b276ce938786f56c31cf7cea88b6f3775d82fe8c8"}, - {file = "prettytable-3.9.0.tar.gz", hash = "sha256:f4ed94803c23073a90620b201965e5dc0bccf1760b7a7eaf3158cab8aaffdf34"}, + {file = "prettytable-3.10.0-py3-none-any.whl", hash = "sha256:6536efaf0757fdaa7d22e78b3aac3b69ea1b7200538c2c6995d649365bddab92"}, + {file = "prettytable-3.10.0.tar.gz", hash = "sha256:9665594d137fb08a1117518c25551e0ede1687197cf353a4fdc78d27e1073568"}, ] [package.dependencies] wcwidth = "*" [package.extras] -tests = ["pytest", "pytest-cov", "pytest-lazy-fixture"] +tests = ["pytest", "pytest-cov", "pytest-lazy-fixtures"] [[package]] name = "protobuf" -version = "4.24.4" +version = "5.27.2" description = "" -category = "dev" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "protobuf-4.24.4-cp310-abi3-win32.whl", hash = "sha256:ec9912d5cb6714a5710e28e592ee1093d68c5ebfeda61983b3f40331da0b1ebb"}, - {file = "protobuf-4.24.4-cp310-abi3-win_amd64.whl", hash = "sha256:1badab72aa8a3a2b812eacfede5020472e16c6b2212d737cefd685884c191085"}, - {file = "protobuf-4.24.4-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:8e61a27f362369c2f33248a0ff6896c20dcd47b5d48239cb9720134bef6082e4"}, - {file = "protobuf-4.24.4-cp37-abi3-manylinux2014_aarch64.whl", hash = "sha256:bffa46ad9612e6779d0e51ae586fde768339b791a50610d85eb162daeb23661e"}, - {file = "protobuf-4.24.4-cp37-abi3-manylinux2014_x86_64.whl", hash = "sha256:b493cb590960ff863743b9ff1452c413c2ee12b782f48beca77c8da3e2ffe9d9"}, - {file = "protobuf-4.24.4-cp37-cp37m-win32.whl", hash = "sha256:dbbed8a56e56cee8d9d522ce844a1379a72a70f453bde6243e3c86c30c2a3d46"}, - {file = "protobuf-4.24.4-cp37-cp37m-win_amd64.whl", hash = "sha256:6b7d2e1c753715dcfe9d284a25a52d67818dd43c4932574307daf836f0071e37"}, - {file = "protobuf-4.24.4-cp38-cp38-win32.whl", hash = "sha256:02212557a76cd99574775a81fefeba8738d0f668d6abd0c6b1d3adcc75503dbe"}, - {file = "protobuf-4.24.4-cp38-cp38-win_amd64.whl", hash = "sha256:2fa3886dfaae6b4c5ed2730d3bf47c7a38a72b3a1f0acb4d4caf68e6874b947b"}, - {file = "protobuf-4.24.4-cp39-cp39-win32.whl", hash = "sha256:b77272f3e28bb416e2071186cb39efd4abbf696d682cbb5dc731308ad37fa6dd"}, - {file = "protobuf-4.24.4-cp39-cp39-win_amd64.whl", hash = "sha256:9fee5e8aa20ef1b84123bb9232b3f4a5114d9897ed89b4b8142d81924e05d79b"}, - {file = "protobuf-4.24.4-py3-none-any.whl", hash = "sha256:80797ce7424f8c8d2f2547e2d42bfbb6c08230ce5832d6c099a37335c9c90a92"}, - {file = "protobuf-4.24.4.tar.gz", hash = "sha256:5a70731910cd9104762161719c3d883c960151eea077134458503723b60e3667"}, + {file = "protobuf-5.27.2-cp310-abi3-win32.whl", hash = "sha256:354d84fac2b0d76062e9b3221f4abbbacdfd2a4d8af36bab0474f3a0bb30ab38"}, + {file = "protobuf-5.27.2-cp310-abi3-win_amd64.whl", hash = "sha256:0e341109c609749d501986b835f667c6e1e24531096cff9d34ae411595e26505"}, + {file = "protobuf-5.27.2-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:a109916aaac42bff84702fb5187f3edadbc7c97fc2c99c5ff81dd15dcce0d1e5"}, + {file = "protobuf-5.27.2-cp38-abi3-manylinux2014_aarch64.whl", hash = "sha256:176c12b1f1c880bf7a76d9f7c75822b6a2bc3db2d28baa4d300e8ce4cde7409b"}, + {file = "protobuf-5.27.2-cp38-abi3-manylinux2014_x86_64.whl", hash = "sha256:b848dbe1d57ed7c191dfc4ea64b8b004a3f9ece4bf4d0d80a367b76df20bf36e"}, + {file = "protobuf-5.27.2-cp38-cp38-win32.whl", hash = "sha256:4fadd8d83e1992eed0248bc50a4a6361dc31bcccc84388c54c86e530b7f58863"}, + {file = "protobuf-5.27.2-cp38-cp38-win_amd64.whl", hash = "sha256:610e700f02469c4a997e58e328cac6f305f649826853813177e6290416e846c6"}, + {file = "protobuf-5.27.2-cp39-cp39-win32.whl", hash = "sha256:9e8f199bf7f97bd7ecebffcae45ebf9527603549b2b562df0fbc6d4d688f14ca"}, + {file = "protobuf-5.27.2-cp39-cp39-win_amd64.whl", hash = "sha256:7fc3add9e6003e026da5fc9e59b131b8f22b428b991ccd53e2af8071687b4fce"}, + {file = "protobuf-5.27.2-py3-none-any.whl", hash = "sha256:54330f07e4949d09614707c48b06d1a22f8ffb5763c159efd5c0928326a91470"}, + {file = "protobuf-5.27.2.tar.gz", hash = "sha256:f3ecdef226b9af856075f28227ff2c90ce3a594d092c39bee5513573f25e2714"}, ] [[package]] name = "psutil" -version = "5.9.6" +version = "6.0.0" description = "Cross-platform lib for process and system monitoring in Python." -category = "dev" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" files = [ - {file = "psutil-5.9.6-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:fb8a697f11b0f5994550555fcfe3e69799e5b060c8ecf9e2f75c69302cc35c0d"}, - {file = "psutil-5.9.6-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:91ecd2d9c00db9817a4b4192107cf6954addb5d9d67a969a4f436dbc9200f88c"}, - {file = "psutil-5.9.6-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:10e8c17b4f898d64b121149afb136c53ea8b68c7531155147867b7b1ac9e7e28"}, - {file = "psutil-5.9.6-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:18cd22c5db486f33998f37e2bb054cc62fd06646995285e02a51b1e08da97017"}, - {file = "psutil-5.9.6-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:ca2780f5e038379e520281e4c032dddd086906ddff9ef0d1b9dcf00710e5071c"}, - {file = "psutil-5.9.6-cp27-none-win32.whl", hash = "sha256:70cb3beb98bc3fd5ac9ac617a327af7e7f826373ee64c80efd4eb2856e5051e9"}, - {file = "psutil-5.9.6-cp27-none-win_amd64.whl", hash = "sha256:51dc3d54607c73148f63732c727856f5febec1c7c336f8f41fcbd6315cce76ac"}, - {file = "psutil-5.9.6-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:c69596f9fc2f8acd574a12d5f8b7b1ba3765a641ea5d60fb4736bf3c08a8214a"}, - {file = "psutil-5.9.6-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:92e0cc43c524834af53e9d3369245e6cc3b130e78e26100d1f63cdb0abeb3d3c"}, - {file = "psutil-5.9.6-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:748c9dd2583ed86347ed65d0035f45fa8c851e8d90354c122ab72319b5f366f4"}, - {file = "psutil-5.9.6-cp36-cp36m-win32.whl", hash = "sha256:3ebf2158c16cc69db777e3c7decb3c0f43a7af94a60d72e87b2823aebac3d602"}, - {file = "psutil-5.9.6-cp36-cp36m-win_amd64.whl", hash = "sha256:ff18b8d1a784b810df0b0fff3bcb50ab941c3b8e2c8de5726f9c71c601c611aa"}, - {file = "psutil-5.9.6-cp37-abi3-win32.whl", hash = "sha256:a6f01f03bf1843280f4ad16f4bde26b817847b4c1a0db59bf6419807bc5ce05c"}, - {file = "psutil-5.9.6-cp37-abi3-win_amd64.whl", hash = "sha256:6e5fb8dc711a514da83098bc5234264e551ad980cec5f85dabf4d38ed6f15e9a"}, - {file = "psutil-5.9.6-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:daecbcbd29b289aac14ece28eca6a3e60aa361754cf6da3dfb20d4d32b6c7f57"}, - {file = "psutil-5.9.6.tar.gz", hash = "sha256:e4b92ddcd7dd4cdd3f900180ea1e104932c7bce234fb88976e2a3b296441225a"}, + {file = "psutil-6.0.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:a021da3e881cd935e64a3d0a20983bda0bb4cf80e4f74fa9bfcb1bc5785360c6"}, + {file = "psutil-6.0.0-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:1287c2b95f1c0a364d23bc6f2ea2365a8d4d9b726a3be7294296ff7ba97c17f0"}, + {file = "psutil-6.0.0-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:a9a3dbfb4de4f18174528d87cc352d1f788b7496991cca33c6996f40c9e3c92c"}, + {file = "psutil-6.0.0-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:6ec7588fb3ddaec7344a825afe298db83fe01bfaaab39155fa84cf1c0d6b13c3"}, + {file = "psutil-6.0.0-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:1e7c870afcb7d91fdea2b37c24aeb08f98b6d67257a5cb0a8bc3ac68d0f1a68c"}, + {file = "psutil-6.0.0-cp27-none-win32.whl", hash = "sha256:02b69001f44cc73c1c5279d02b30a817e339ceb258ad75997325e0e6169d8b35"}, + {file = "psutil-6.0.0-cp27-none-win_amd64.whl", hash = "sha256:21f1fb635deccd510f69f485b87433460a603919b45e2a324ad65b0cc74f8fb1"}, + {file = "psutil-6.0.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:c588a7e9b1173b6e866756dde596fd4cad94f9399daf99ad8c3258b3cb2b47a0"}, + {file = "psutil-6.0.0-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ed2440ada7ef7d0d608f20ad89a04ec47d2d3ab7190896cd62ca5fc4fe08bf0"}, + {file = "psutil-6.0.0-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5fd9a97c8e94059b0ef54a7d4baf13b405011176c3b6ff257c247cae0d560ecd"}, + {file = "psutil-6.0.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e2e8d0054fc88153ca0544f5c4d554d42e33df2e009c4ff42284ac9ebdef4132"}, + {file = "psutil-6.0.0-cp36-cp36m-win32.whl", hash = "sha256:fc8c9510cde0146432bbdb433322861ee8c3efbf8589865c8bf8d21cb30c4d14"}, + {file = "psutil-6.0.0-cp36-cp36m-win_amd64.whl", hash = "sha256:34859b8d8f423b86e4385ff3665d3f4d94be3cdf48221fbe476e883514fdb71c"}, + {file = "psutil-6.0.0-cp37-abi3-win32.whl", hash = "sha256:a495580d6bae27291324fe60cea0b5a7c23fa36a7cd35035a16d93bdcf076b9d"}, + {file = "psutil-6.0.0-cp37-abi3-win_amd64.whl", hash = "sha256:33ea5e1c975250a720b3a6609c490db40dae5d83a4eb315170c4fe0d8b1f34b3"}, + {file = "psutil-6.0.0-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:ffe7fc9b6b36beadc8c322f84e1caff51e8703b88eee1da46d1e3a6ae11b4fd0"}, + {file = "psutil-6.0.0.tar.gz", hash = "sha256:8faae4f310b6d969fa26ca0545338b21f73c6b15db7c4a8d934a5482faa818f2"}, ] [package.extras] test = ["enum34", "ipaddress", "mock", "pywin32", "wmi"] -[[package]] -name = "py" -version = "1.11.0" -description = "library with cross-python path, ini-parsing, io, code, log facilities" -category = "dev" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -files = [ - {file = "py-1.11.0-py2.py3-none-any.whl", hash = "sha256:607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378"}, - {file = "py-1.11.0.tar.gz", hash = "sha256:51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719"}, -] - [[package]] name = "pyasn1" version = "0.4.8" description = "ASN.1 types and codecs" -category = "dev" optional = false python-versions = "*" files = [ @@ -1719,125 +1869,119 @@ files = [ [[package]] name = "pyats" -version = "23.9" +version = "24.6" description = "pyATS - Python Automation Test System" -category = "dev" optional = false -python-versions = ">=3.5" +python-versions = ">=3.8" files = [ - {file = "pyats-23.9-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0676ed38123e5e66c4d1475e388c713566645c923b033227cc310309aa506083"}, - {file = "pyats-23.9-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:3f4a7429e256e25da010cf3801b27c801be723fe8d90631ea503a8f54578cb36"}, - {file = "pyats-23.9-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:f94d889c11687e78193e2c7ae1d636d6e9b417d944909ab5acde5f3922934ef5"}, - {file = "pyats-23.9-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:216f92937ac1635c62d565751dcad4282a7a67b9cfb9ee06e08b71b92f19a479"}, - {file = "pyats-23.9-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:74e717c55b1d71322d7a01857b08895affa78aacb15916fde9007649a77e7c5c"}, - {file = "pyats-23.9-cp311-cp311-macosx_11_0_x86_64.whl", hash = "sha256:105beccdfdda3abcfe150ce20f93c66cbb7903e61d74d397e4a048f3bf7a255f"}, - {file = "pyats-23.9-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:0fb32f3c2a5b333e3eaad631af958f4ff722d0f9bacf3edd83770e525111a8b4"}, - {file = "pyats-23.9-cp311-cp311-manylinux2014_x86_64.whl", hash = "sha256:73fc73df04bb320586336b3d8e9bf8cfae8e3af9c5cbc57fd5a7bf57bbb14f08"}, - {file = "pyats-23.9-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:eaeb15b9203b6e9386b5fedfc68849334d9eff83598499392df0607e31c30659"}, - {file = "pyats-23.9-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:e5f10ac5d09ada0e81269bedbd3bbbe2d91c4f3195ab0ff285c524dece4887e5"}, - {file = "pyats-23.9-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:6bb9606569e6fd3e97b9303f69746d1d056c45e41daee25505500fb0991edef5"}, - {file = "pyats-23.9-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:9d837e2d8c471a76582a92c4b2d9f8f7b22fd53588aa765099a175fdc775775f"}, - {file = "pyats-23.9-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a45c04a1d61853e748f9478d4399a4406998a85c7bdbf30d45fd19a9a37b865d"}, - {file = "pyats-23.9-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:967397e03d5e7c0aa6269717ecdd7b48c8457fd793fd79572f945e95c4ccbe0d"}, - {file = "pyats-23.9-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:cfa285bf5a8c6adb916b24fdd29e374229d5e283e06d4246b3cdf09342b4fe51"}, - {file = "pyats-23.9-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:d9a835838de9eaed23f4a555eba260315e0fb78c2fce6ab4f75aeee5416b6a78"}, - {file = "pyats-23.9-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:a9d06967522198304df21d0d7b58aa95bb71537301d2416016dbbde69591615a"}, + {file = "pyats-24.6-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:8e54063424222a94ed818bf7a242c400f1ee30275242563bd39d8713272f7bfa"}, + {file = "pyats-24.6-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:38bad4917b0fa0df0d35c54a6f38594f4f8c83f421019de8f572572b9a903488"}, + {file = "pyats-24.6-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:e9bfcecc3123ec2a7fcfeaa3d60841a73de5692f7ea6177664e947c224de062d"}, + {file = "pyats-24.6-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:687915b5bf754d36cb4e64f2307ef0476d8b8777e90ce85459eb96a9081f7fd9"}, + {file = "pyats-24.6-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:261132ae1110ebb1917acb52bf8e40ea2387c73a9589a08c7c3e545111a5b1c6"}, + {file = "pyats-24.6-cp311-cp311-manylinux2014_x86_64.whl", hash = "sha256:8737d29bcf791a4f2d787c16b1f6dc715b9486192ecd6dff03eee3fe0c8b7953"}, + {file = "pyats-24.6-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:7a84618b9ac6cea2c1f6d81742b8954c5a940696fb56c75c2d0083594aa3b05a"}, + {file = "pyats-24.6-cp312-cp312-manylinux2014_aarch64.whl", hash = "sha256:76e9e074dbc8de9864889b2eb552538a399a8f040066a976c0d70bcb2e775858"}, + {file = "pyats-24.6-cp312-cp312-manylinux2014_x86_64.whl", hash = "sha256:e8e114a5584f1fd86c492aeea6ce6d98a740db05d4b8cbb953e3c0016c71eec4"}, + {file = "pyats-24.6-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:ad537783f342def877abad646124eafe1f5a3e16fcf7fe23284a12b84bae3125"}, + {file = "pyats-24.6-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:15f840b698bb5d80542ae53dd762806ed1dd93a8d975bb2b7e5ad3febaab869c"}, + {file = "pyats-24.6-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:893f6f81afd5d88960c6f165824e1a342350710e0e03667d527ec5782d4ca848"}, + {file = "pyats-24.6-cp39-cp39-macosx_11_0_universal2.whl", hash = "sha256:d6a67c75d927b9816f3e9880e6b85996ab979fc2e79dbe2a8c6f3c406414499a"}, + {file = "pyats-24.6-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:09f533a35452a16cab34da0444f12b6fed11eeff44fe996cfba31b43853dd34c"}, + {file = "pyats-24.6-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:24992fb8e9aaec3f2c24a99347b8f166ca78a9021335d3d5134b5ee10c253b64"}, + {file = "pyats-24.6-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:0513747eca77241c8004e544bc9b4a3a87f4058cde6665a2d82763d161e1740c"}, ] [package.dependencies] packaging = ">=20.0" -"pyats.aereport" = ">=23.9.0,<23.10.0" -"pyats.aetest" = ">=23.9.0,<23.10.0" -"pyats.async" = ">=23.9.0,<23.10.0" -"pyats.connections" = ">=23.9.0,<23.10.0" -"pyats.datastructures" = ">=23.9.0,<23.10.0" -"pyats.easypy" = ">=23.9.0,<23.10.0" -"pyats.kleenex" = ">=23.9.0,<23.10.0" -"pyats.log" = ">=23.9.0,<23.10.0" -"pyats.reporter" = ">=23.9.0,<23.10.0" -"pyats.results" = ">=23.9.0,<23.10.0" -"pyats.tcl" = ">=23.9.0,<23.10.0" -"pyats.topology" = ">=23.9.0,<23.10.0" -"pyats.utils" = ">=23.9.0,<23.10.0" - -[package.extras] -full = ["cookiecutter", "genie (>=23.9.0,<23.10.0)", "genie.libs.robot (>=23.9.0,<23.10.0)", "genie.telemetry (>=23.9.0,<23.10.0)", "genie.trafficgen (>=23.9.0,<23.10.0)", "pyats.contrib (>=23.9.0,<23.10.0)", "pyats.robot (>=23.9.0,<23.10.0)"] -library = ["genie (>=23.9.0,<23.10.0)"] -robot = ["genie.libs.robot (>=23.9.0,<23.10.0)", "pyats.robot (>=23.9.0,<23.10.0)"] +"pyats.aereport" = ">=24.6.0,<24.7.0" +"pyats.aetest" = ">=24.6.0,<24.7.0" +"pyats.async" = ">=24.6.0,<24.7.0" +"pyats.connections" = ">=24.6.0,<24.7.0" +"pyats.datastructures" = ">=24.6.0,<24.7.0" +"pyats.easypy" = ">=24.6.0,<24.7.0" +"pyats.kleenex" = ">=24.6.0,<24.7.0" +"pyats.log" = ">=24.6.0,<24.7.0" +"pyats.reporter" = ">=24.6.0,<24.7.0" +"pyats.results" = ">=24.6.0,<24.7.0" +"pyats.tcl" = ">=24.6.0,<24.7.0" +"pyats.topology" = ">=24.6.0,<24.7.0" +"pyats.utils" = ">=24.6.0,<24.7.0" + +[package.extras] +full = ["cookiecutter", "genie (>=24.6.0,<24.7.0)", "genie.libs.robot (>=24.6.0,<24.7.0)", "genie.telemetry (>=24.6.0,<24.7.0)", "genie.trafficgen (>=24.6.0,<24.7.0)", "pyats.contrib (>=24.6.0,<24.7.0)", "pyats.robot (>=24.6.0,<24.7.0)"] +library = ["genie (>=24.6.0,<24.7.0)"] +robot = ["genie.libs.robot (>=24.6.0,<24.7.0)", "pyats.robot (>=24.6.0,<24.7.0)"] template = ["cookiecutter"] [[package]] name = "pyats-aereport" -version = "23.9" +version = "24.6" description = "pyATS AEreport: Result Collection and Reporting" -category = "dev" optional = false -python-versions = ">=3.5" +python-versions = ">=3.8" files = [ - {file = "pyats.aereport-23.9-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:7591195f1be1663aa41e77db1ff8da237a305dc2dd6f8035e07a2ed2544555c5"}, - {file = "pyats.aereport-23.9-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:283a63a152b56bb423936ecc74ebaad696e783032f635d02a540b95158260749"}, - {file = "pyats.aereport-23.9-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:a31f9849f809a9c244bd1f2a6e2943615ef61d2bcfe4d8c38c437a0f06acdc89"}, - {file = "pyats.aereport-23.9-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:952215ad022cfa1340dc5af5a343361e643c92fdf6ea70a7c751509dbacc110b"}, - {file = "pyats.aereport-23.9-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:83bc8514485115a1c31ac4f28d900159fc51ff9bcaeee67b8d94ee7d5701e1f7"}, - {file = "pyats.aereport-23.9-cp311-cp311-macosx_11_0_x86_64.whl", hash = "sha256:6050e09ea9cb7e5cd9e4383f270a1629684a52380f7ee58807a59be994e4838c"}, - {file = "pyats.aereport-23.9-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:6252be5b5fbc98c5984c00e44d449b92904841ca5d456243560aa7ae1a78a055"}, - {file = "pyats.aereport-23.9-cp311-cp311-manylinux2014_x86_64.whl", hash = "sha256:c375bdac2c8f0eb8cbf50869b2bccb9acf8ead8c2056fa1144e1e77a26daa7bd"}, - {file = "pyats.aereport-23.9-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:f3c8d8245ad5d060211764e0f9348b10e6b2a69fda524e6ea8c5235dcb4938d0"}, - {file = "pyats.aereport-23.9-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:bc21fc3f68de3071a0fa5834ff4a2a01e3e79abbb4e72f603fec72224821d88e"}, - {file = "pyats.aereport-23.9-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:5552d7a6bfbdafd75f1384226c8a8e4af28d9d7ed8e6ad6c6e9120b5f47cf02f"}, - {file = "pyats.aereport-23.9-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:7496cbdf445f05dd43beddabdaeef37e14522fdc784aa7acb81498b4b58f8054"}, - {file = "pyats.aereport-23.9-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:055f46af172f2d4008f685eeda37f44ac35f3f5fe4cda3681e0bcbeb90547614"}, - {file = "pyats.aereport-23.9-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:fc0757356d01ffaa39cc3e3f5706146a728d5527c85f986515a28d4fb0a56175"}, - {file = "pyats.aereport-23.9-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:cba6e400290a3e332910a2d2e8f64a47302413628a9aac4dc8c0370298315323"}, - {file = "pyats.aereport-23.9-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:950e729ecdb2a2051d4b4505c4859e76e27cbd29a9e2b9aee11186a507777402"}, - {file = "pyats.aereport-23.9-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:39edfe041423f0deac013921da9202785a4d41c5f1ecd746e4c495377c6aef6c"}, + {file = "pyats.aereport-24.6-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:a2845aab1f37c7164efea461f78bafa8d0b9f657893663d6be5ad57e922c62fa"}, + {file = "pyats.aereport-24.6-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:ea45e5d69cf73913c5a037266652acb8125d0d24e06a1899bc1ea8e1765b04eb"}, + {file = "pyats.aereport-24.6-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:40be0c84ad80fa46ca1edfdb01a0ebe05c59e9e0551727c002fb353d7f406901"}, + {file = "pyats.aereport-24.6-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:d029dbc562f0c0190c74b749c95b69cd2d74a3b18c2a785211660b60830fddad"}, + {file = "pyats.aereport-24.6-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:64820540c21f21da40f95d22c249af4908188cecfe2438973f1874bd03422d2f"}, + {file = "pyats.aereport-24.6-cp311-cp311-manylinux2014_x86_64.whl", hash = "sha256:5faefe6ad2ab1121aca6f0ac4412ab69899a84d8df230ffae49a1b8020fb15f8"}, + {file = "pyats.aereport-24.6-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:67a4889fb242322069b1617895c8adb72788f9c24e12be75cff7e775f19de9ed"}, + {file = "pyats.aereport-24.6-cp312-cp312-manylinux2014_aarch64.whl", hash = "sha256:4b64990bd0557e6003568485611869b5d5ba89fc2335b117ac06fec49fb09b30"}, + {file = "pyats.aereport-24.6-cp312-cp312-manylinux2014_x86_64.whl", hash = "sha256:37a2ba8277f303860b9c10fb8e204d6a10d278a4a0f054fc0b13f72c54d9e865"}, + {file = "pyats.aereport-24.6-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:b5fd222658122fa2b50c2194e6f1144ba9df78fa815ac4541c625878c55021f0"}, + {file = "pyats.aereport-24.6-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:8c59a802216bc933ee6bb2c282fb1d8dbdf50f8cb6c92228e6e4271da6cf5713"}, + {file = "pyats.aereport-24.6-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:315a6263c44754e28e0a32262c090bb0db254ec6f76eaa7e2d2488b45c61bfc0"}, + {file = "pyats.aereport-24.6-cp39-cp39-macosx_11_0_universal2.whl", hash = "sha256:9462f9d0fd6be4eb4a1cf4c2519e473fb48cacfcdf6d5d47a024bc6e391fe49c"}, + {file = "pyats.aereport-24.6-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:253aff261d3ed77184769a6629f39e9cc31ebd1843fcd7e69539cca2f500b5f9"}, + {file = "pyats.aereport-24.6-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:b1009c8c49cdbf5b74a2d74b22b5048548cf5315d36e28ee659669b5ec83cb32"}, + {file = "pyats.aereport-24.6-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:ca92283eed6285cbcba55ca3d3a4679783dd777b3eaa4108903fa3cc87bf9eb8"}, ] [package.dependencies] jinja2 = "*" junit-xml = "*" psutil = "*" -"pyats.log" = ">=23.9.0,<23.10.0" -"pyats.results" = ">=23.9.0,<23.10.0" +"pyats.log" = ">=24.6.0,<24.7.0" +"pyats.results" = ">=24.6.0,<24.7.0" [package.extras] dev = ["Sphinx", "sphinx-rtd-theme"] [[package]] name = "pyats-aetest" -version = "23.9" +version = "24.6" description = "pyATS AEtest: Testscript Engine" -category = "dev" optional = false -python-versions = ">=3.5" +python-versions = ">=3.8" files = [ - {file = "pyats.aetest-23.9-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5c3a0676da37fc4dc5b63602c599066bdc99c8aab490c073a9a5871f6769984e"}, - {file = "pyats.aetest-23.9-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:44e38b595ed828356e4c12cf3d042974c376b079cf60743642d1229d40b3e836"}, - {file = "pyats.aetest-23.9-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:46feba50ac1dd3cbbef8a74a18e16f534c823ef236c5ffc84d3cde011375d1d8"}, - {file = "pyats.aetest-23.9-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:e1008f0d0f9234ab0ef00d737e63b55d46f52ba5a467f1732d190c267f3359c1"}, - {file = "pyats.aetest-23.9-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:66877d10472d5d83a7745ef00f158a284c1d4e6fb7c1236731183e8b1b4c2a0a"}, - {file = "pyats.aetest-23.9-cp311-cp311-macosx_11_0_x86_64.whl", hash = "sha256:926f3dff746f5ab3dec42824975d136e16a6a4bb81ec78f7d8cf332dcf464eb1"}, - {file = "pyats.aetest-23.9-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:20561489bd6d399e618548dfb4b863701db4355dea8b6a31a8ed434bc3b1c522"}, - {file = "pyats.aetest-23.9-cp311-cp311-manylinux2014_x86_64.whl", hash = "sha256:c26eec7c6fcf4142d250563182b319facc4ef69876fa72d4fefefd0431e48cb3"}, - {file = "pyats.aetest-23.9-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:f27d68943af3437351402d7d832c8b1f0c50ab3b48794db510dac35df8dbfcfa"}, - {file = "pyats.aetest-23.9-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:db536217fb5f762657018096121cf47001bc6256e9f6f8f08028f81e29397595"}, - {file = "pyats.aetest-23.9-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:f1f5c9f24783c5da4c0cbeeb3e90867b000c35e2950d8c3dcf8663a7887b6897"}, - {file = "pyats.aetest-23.9-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:f7971d627b594e1572f542c8c5760fafcb751d0b7cc5d97e0609018308202f8e"}, - {file = "pyats.aetest-23.9-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ce2fcfd484b1b091a3178ee00fca491877cd763818ab4659f93d9b315d0d28a5"}, - {file = "pyats.aetest-23.9-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:d4004a074954c8919d97e600a94c489784e2f1db29a9317775b38ba1b27ad313"}, - {file = "pyats.aetest-23.9-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:e52fd40e3db06334010d7c839e1262b9279a9d32e10dff39e7dee1e365f2e289"}, - {file = "pyats.aetest-23.9-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:0095908f426887ede625e968ed212e6763e1c2d429fe0a35436ac16c607c77fe"}, - {file = "pyats.aetest-23.9-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:4016d600203a8e5bca54d60117a18414066bb2a270e398a3fea21a3b429dfe95"}, + {file = "pyats.aetest-24.6-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:02fbbe19a09f19d4843dbbd4ed7381e42210ca6b92abe4dd8b8ce325089ccc7f"}, + {file = "pyats.aetest-24.6-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:2817d96940faa507096dad350fa660f6dc2274647810d74a52a40acccc3c6f4e"}, + {file = "pyats.aetest-24.6-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:e9f15ad540e91f3abfe4a130b6fa0d54a1af7af1aea01d0453d46c980a9ca26d"}, + {file = "pyats.aetest-24.6-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:a0bbe48bd3f67eb2cea5d3801e9df8a470aa690a0400a175b9513e8bc158074e"}, + {file = "pyats.aetest-24.6-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:bb1fbc38ed51eada412af2a46b46898bfdaa113dab9d9f3f3cee25b33eaa1389"}, + {file = "pyats.aetest-24.6-cp311-cp311-manylinux2014_x86_64.whl", hash = "sha256:409540db36cd0a930cf703329908bc12cf069dcb562456727b7804ac7cb9534e"}, + {file = "pyats.aetest-24.6-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:d970803763c78f2bad4e75f6fc34c35d235c0b0b0d72042c6712930b3b926c37"}, + {file = "pyats.aetest-24.6-cp312-cp312-manylinux2014_aarch64.whl", hash = "sha256:43dc0eef09ccc61508c4f67fee2b6d2d835a79d7d212ab8f9424d28fa8289852"}, + {file = "pyats.aetest-24.6-cp312-cp312-manylinux2014_x86_64.whl", hash = "sha256:a21fa0815299b45ec09d53519d8ef1a91e2e2145ad58cedef718387e17c9dffa"}, + {file = "pyats.aetest-24.6-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:a4c2ca1c8579f75b1b7154120388ed5c869e9e3769f71982409e4f3cb94ee3fa"}, + {file = "pyats.aetest-24.6-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:16cd7a472ad401e97887caa68446236c9abe973bf1a775931fd49ca445a65288"}, + {file = "pyats.aetest-24.6-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:155b16420a1f131d72d011018df14d808dc43616a24eb5cb8d5c3cc41da23595"}, + {file = "pyats.aetest-24.6-cp39-cp39-macosx_11_0_universal2.whl", hash = "sha256:2f4f42a8b4f4f2a14b9803721f56d1a51cc4dec231082449e824650c2189c0c3"}, + {file = "pyats.aetest-24.6-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:8bcb5a096b490ba2cac6b5b5550dfedf147cde67d8e0ab544c15c1050887ad5c"}, + {file = "pyats.aetest-24.6-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:81c21006f6069a9e658ab1f71674f67cbebf7a00c56d13ad53bfbaf2ca78956f"}, + {file = "pyats.aetest-24.6-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:eebd82d26ee0e56aa8e150d6494cf01f2dc4b334503b9b093bdf5acf239e78eb"}, ] [package.dependencies] jinja2 = "*" prettytable = "*" -"pyats.aereport" = ">=23.9.0,<23.10.0" -"pyats.datastructures" = ">=23.9.0,<23.10.0" -"pyats.log" = ">=23.9.0,<23.10.0" -"pyats.results" = ">=23.9.0,<23.10.0" -"pyats.utils" = ">=23.9.0,<23.10.0" +"pyats.aereport" = ">=24.6.0,<24.7.0" +"pyats.datastructures" = ">=24.6.0,<24.7.0" +"pyats.log" = ">=24.6.0,<24.7.0" +"pyats.results" = ">=24.6.0,<24.7.0" +"pyats.utils" = ">=24.6.0,<24.7.0" pyyaml = "*" [package.extras] @@ -1845,97 +1989,91 @@ dev = ["Sphinx", "sphinx-rtd-theme"] [[package]] name = "pyats-async" -version = "23.9" +version = "24.6" description = "pyATS Async: Asynchronous Execution of Codes" -category = "dev" optional = false -python-versions = ">=3.5" +python-versions = ">=3.8" files = [ - {file = "pyats.async-23.9-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:766a780abacf75e75dd42481b43df89960c1e947971173576523f347685cbdb2"}, - {file = "pyats.async-23.9-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:5bfccb779a6e62255b8228d10630890bb9bd10c01cc586f5695cd58489b215fb"}, - {file = "pyats.async-23.9-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:069096b8d68fa337ce09b0c44bb0aea34d774f2772e4964bd621e1106bcfc356"}, - {file = "pyats.async-23.9-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:297e0c4ddf3dafe61a183fa85d269beeb29a8c462b50bb1f29d9ad423aee4fe5"}, - {file = "pyats.async-23.9-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:807eecf8d9ea6e5830d94358aae14cd0993d93ef6cb14241ea7dd20c63e4b788"}, - {file = "pyats.async-23.9-cp311-cp311-macosx_11_0_x86_64.whl", hash = "sha256:e816df9da032c294bc83fa85e014e49aed606f0468130feb3ddf617f25758e3b"}, - {file = "pyats.async-23.9-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:f5f104416ab9d7884ba7fb3915055b282baddec29d229e371632f30dad7da9d5"}, - {file = "pyats.async-23.9-cp311-cp311-manylinux2014_x86_64.whl", hash = "sha256:965bdee65cebd5c9b6109189488a5adfcea897645f9b41f130bd7aa969ed6ecf"}, - {file = "pyats.async-23.9-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:5d368e717b0db50eb41cb96b4734ac6cb3e2efa0a788056caed409e9bb26a5db"}, - {file = "pyats.async-23.9-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:28d7342a2bbbd18b8012cf94d36063c552d76a5d907e74e82b90999ed569a1cd"}, - {file = "pyats.async-23.9-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:caa4ebc777ab130e22a205329aaae6a9c693e62df02da40429e6bc437dcc2e95"}, - {file = "pyats.async-23.9-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:1e3dbbf7bedc948614ef53e42ab2bcaa5dbe851f8b91c2c9e3c1d21cfafdc154"}, - {file = "pyats.async-23.9-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:102864dcc2afcf7a9b726561ae1f1fcf410b2225c42274d2a3f4e16ea7a4be22"}, - {file = "pyats.async-23.9-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:3c1b8c6fd31e23453dfce5159fa3dcafb80dbfa151896fef9e293034598727ec"}, - {file = "pyats.async-23.9-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:bea51b341875cb41ed016311d9fc9d244d002f96b067479763da82cb8d18a398"}, - {file = "pyats.async-23.9-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:4fc527c0ed78d2659a96a988695f7b3d231d6f18fa21baca0a7d7946cc68efa5"}, - {file = "pyats.async-23.9-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:6dd72d9b2255dc66fa1f9e1f1fb15933a797ec1bfb110415c7fc7cf1bae76a19"}, + {file = "pyats.async-24.6-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:ef16c582326c85ae41743d6cadf62f691809b6201ab33c63f5be752a635bceaa"}, + {file = "pyats.async-24.6-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:10a3e599bae5475effd0b5fd4d5a740cbf2c6d7c904bc7f1ed3be679210d7c2d"}, + {file = "pyats.async-24.6-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:509a5411bec9f33ebf58918360d78e49435018a38ab317cb221c5e4ebbd6e940"}, + {file = "pyats.async-24.6-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:cb2fa8e574cdc19b5f0634f4e9c38e255bd5abef511020cbe1b3dd188cfaca05"}, + {file = "pyats.async-24.6-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:f4c897fe8e0fbad28f09bd4139e6a77714fe9849178a5a2cb32cf31a97991ded"}, + {file = "pyats.async-24.6-cp311-cp311-manylinux2014_x86_64.whl", hash = "sha256:dafe4669c99fb4093f6259242510af861aa9891cd06da5f6c11cf90ade7ad2d1"}, + {file = "pyats.async-24.6-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:eb14bb06064e61b9e3510871fd01c220b4182402939d0930c1f0ba4e55bfa846"}, + {file = "pyats.async-24.6-cp312-cp312-manylinux2014_aarch64.whl", hash = "sha256:7fff7cccb75c40c7c4b19f875c861423c0c0b447911e95fb72051f706f212204"}, + {file = "pyats.async-24.6-cp312-cp312-manylinux2014_x86_64.whl", hash = "sha256:5aade9385c1c19c5746e904cc1c499c13afc0d6ef6bce0826b2f33849ce0a348"}, + {file = "pyats.async-24.6-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:1be5a90f3843667abb021b2a7d8fdd16c8b5e7142305dfc363368e6816a0937c"}, + {file = "pyats.async-24.6-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:49b2fc4860ad67ed239d766b08771791bc1835091707ad82b16ca89698181927"}, + {file = "pyats.async-24.6-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:04bb45653cdb1ad2936ac239fe10a4896bcccbedc6006a5bd1880f638194d66c"}, + {file = "pyats.async-24.6-cp39-cp39-macosx_11_0_universal2.whl", hash = "sha256:06594ec54861632688032a0aa215e80b748fa652991332df274526fbd3a40045"}, + {file = "pyats.async-24.6-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:a07cd78030f4eeebd05bf0da79810c1659cd695c5703440ffc2cca313378c726"}, + {file = "pyats.async-24.6-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:c4b1a22e5d974fa541f0af61c3ce24fe2a6233b139c3ae740a22dac3a4499f6d"}, + {file = "pyats.async-24.6-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:14664b5748e78db0f34faea7806c31d137313f2c65a9453c672604e38a40c4fa"}, ] [package.dependencies] -"pyats.log" = ">=23.9.0,<23.10.0" +"pyats.log" = ">=24.6.0,<24.7.0" [package.extras] dev = ["Sphinx", "sphinx-rtd-theme"] [[package]] name = "pyats-connections" -version = "23.9" +version = "24.6" description = "pyATS Connection: Device Connection Handling & Base Classes" -category = "dev" optional = false -python-versions = ">=3.5" +python-versions = ">=3.8" files = [ - {file = "pyats.connections-23.9-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9b696a594fabef30f748eed5e75e772487ce6c81a95d3f927b134398a77df170"}, - {file = "pyats.connections-23.9-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:2d65374676327e959e150ae31596c7c0d30f0dba9a85355e1c4b9155650384b5"}, - {file = "pyats.connections-23.9-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:4d660d166b57153c24c3bd65ca7b6aabd706fe4041aa693646df191f22789cc5"}, - {file = "pyats.connections-23.9-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:6f2cc1e78628533516ff69872a78c52abb3dd541c271c0a14c293e36e656b335"}, - {file = "pyats.connections-23.9-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:451f4ede2aabb3400137193e71391626fcca465f730e0b86959a52e8eadd5d8b"}, - {file = "pyats.connections-23.9-cp311-cp311-macosx_11_0_x86_64.whl", hash = "sha256:16c6fdf6ee3d6dca159851decac2bd0666bdcb5ac7222e386862c482828193fd"}, - {file = "pyats.connections-23.9-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:9882ce7f51059307a27db54b81d2b2fc4627d7c38c1cdc02663289bf229de074"}, - {file = "pyats.connections-23.9-cp311-cp311-manylinux2014_x86_64.whl", hash = "sha256:3053b0ac5cda65fc803ad12e0f90bbcc2d5a8df10b8920830d0a66ba7e14d178"}, - {file = "pyats.connections-23.9-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:36d9738dc316f8168442c6ae6b8e520f9eb142a384531a995119e1fd43fb62eb"}, - {file = "pyats.connections-23.9-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:e55ebbb68916d3723b70df1672862867c8a16808afbd769731e075fd392a19a5"}, - {file = "pyats.connections-23.9-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:b972fd2af6cb2fc8c8e0f949fe308b31623d0bfd93b48ea657a6d8b0f41eaee4"}, - {file = "pyats.connections-23.9-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:aca7ccd6d1822384310044da15f8563a65cdc05cd6fd42e92be1f78a0f0bff25"}, - {file = "pyats.connections-23.9-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:171ea5753e6f18cf190ef9526fb2536f9d9aea83764d94e3ca20201c0d973c1e"}, - {file = "pyats.connections-23.9-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:a4dadc10c0f42feb9c2913d4d2064bd8b528543d203c6910784de26649bba676"}, - {file = "pyats.connections-23.9-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:7d2b38ec2306a9eb77c9eafe968a263a7715be101483e0f8438cc6795c1e1dd3"}, - {file = "pyats.connections-23.9-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:1c8f5ba1cffce3690dfa49a8e3d193c97fd71668746ddb1ae4cd306b7928941d"}, - {file = "pyats.connections-23.9-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:9a52be96f95c49b57810fe607f759043097063c57911a5d2bcf19220dc1bb0c8"}, + {file = "pyats.connections-24.6-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:37b8f69dca1d13be0bf3f223c64072f470197840bff930d42c16d68927011579"}, + {file = "pyats.connections-24.6-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:0bd8b4450dad6e05051763e1ca30cd3ba2a9cc9052934f9b9f30afc23c8c8ec2"}, + {file = "pyats.connections-24.6-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:f128ec62cbc0c3bb0369f381be2fe7ba7b28ba7e1f9e4fa7637c3f7de334cbe8"}, + {file = "pyats.connections-24.6-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:c85bf06291eb9fc67758018b7eaf4908759ec8965f8fd8b7756df45fb6c11188"}, + {file = "pyats.connections-24.6-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:c5d00ebff314dccc5d89fe45381fc7d52a6458328c9b2d509421ed09ca6a0e18"}, + {file = "pyats.connections-24.6-cp311-cp311-manylinux2014_x86_64.whl", hash = "sha256:a506c75b8c775e2b80cbdb4d31309a83f015452a3e9994871453eb820107f48d"}, + {file = "pyats.connections-24.6-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:9a32d045c42c57d208fe7e09e402a731f994f715c518f9d4bdf9e9862f9463d1"}, + {file = "pyats.connections-24.6-cp312-cp312-manylinux2014_aarch64.whl", hash = "sha256:25ace560e197743f7f3818574060602e463cb38c1faa498e1a9ecd441af82f4a"}, + {file = "pyats.connections-24.6-cp312-cp312-manylinux2014_x86_64.whl", hash = "sha256:4efb2fcd8ff646d6d91d0dc105f53060ce7bf0298e6ba7491a8dfc0830185345"}, + {file = "pyats.connections-24.6-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:35615610aba72c5a62b59fd685cf3eabd5a96bb66879b68fee00c534986a0f84"}, + {file = "pyats.connections-24.6-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:f042428ff7853d01b0a89d9a59c0c4a4a87cbbf7768cbfcf0b416fdeff282197"}, + {file = "pyats.connections-24.6-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:056f3b46a27031fc071ff52901fa9af8d2474cdc458b5d5faa55399209bec1cf"}, + {file = "pyats.connections-24.6-cp39-cp39-macosx_11_0_universal2.whl", hash = "sha256:ce5b727a165035b690f00f25d890ae30423a5f02c1f953f5d55c43babd27b8b7"}, + {file = "pyats.connections-24.6-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:2d02ca52f050d19139661ac1442bd69e057446ec90076f7998b0289558e14edc"}, + {file = "pyats.connections-24.6-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:aa662f47bbdb495c63a7d3332a200c453c570294caf7de169d4b29130937b90f"}, + {file = "pyats.connections-24.6-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:be2e4f82b5e957a0812787f17a056f03cab49a6ce47a7e5caa31c2be0815ccf6"}, ] [package.dependencies] -"pyats.async" = ">=23.9.0,<23.10.0" -"pyats.datastructures" = ">=23.9.0,<23.10.0" -unicon = ">=23.9.0,<23.10.0" +"pyats.async" = ">=24.6.0,<24.7.0" +"pyats.datastructures" = ">=24.6.0,<24.7.0" +unicon = ">=24.6.0,<24.7.0" [package.extras] dev = ["Sphinx", "sphinx-rtd-theme"] [[package]] name = "pyats-datastructures" -version = "23.9" +version = "24.6" description = "pyATS Datastructures: Extended Datastructures for Grownups" -category = "dev" optional = false -python-versions = ">=3.5" +python-versions = ">=3.8" files = [ - {file = "pyats.datastructures-23.9-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c8f9cd1319866be6cfa653fa669aa6ab2a3674d40f0c90f0f86e20bef9f7d701"}, - {file = "pyats.datastructures-23.9-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:c520eb1d9fb67c4216b820c3cfb81c62eac6cd900af018c19aed58b38d355cd9"}, - {file = "pyats.datastructures-23.9-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:731f3fc25345335ff5aa9d098d321a6e9c067b93c3520bf93c65c3920759c23d"}, - {file = "pyats.datastructures-23.9-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:903ff9c2f588dcb4c7b296336d0b03eff7716dd1ad097a23df7afd14bb00e850"}, - {file = "pyats.datastructures-23.9-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:cf9e037ab7c5b64f175b2fcba3c7959a92301953086cbc9c2503d94e1545d133"}, - {file = "pyats.datastructures-23.9-cp311-cp311-macosx_11_0_x86_64.whl", hash = "sha256:2795189e5f9b80e27c5880cc22ec99f9185d53879a5991e5dc927bea2ccb2ee2"}, - {file = "pyats.datastructures-23.9-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:7f43f259392a5cf20bfed3ba75701ce27e6d25597c4388dcc3fd0e42e4f75ba8"}, - {file = "pyats.datastructures-23.9-cp311-cp311-manylinux2014_x86_64.whl", hash = "sha256:99191dc9d7daa94738b01b13cebdadc2c82ed41d67a81c1aaab9980dde064b5f"}, - {file = "pyats.datastructures-23.9-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7949731d773bd89fe657577cdd220b3992d55f55300effc657d0456031078594"}, - {file = "pyats.datastructures-23.9-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:9fe90bb591dec76c95768f1c28c4cafdaffe4369b0bcd795b879c71579e47ce1"}, - {file = "pyats.datastructures-23.9-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:550a01b208d66a815e736968e39173c54e95b813355010fdf3953fe5722ba2b9"}, - {file = "pyats.datastructures-23.9-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:ce114ca503bc2dfb34adbbef96b845b57194488adc0a25396f0e79184cfd4165"}, - {file = "pyats.datastructures-23.9-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5f1c346da8c74c3eef44cd4101dfb2b1277986fb54949ab51981e6599df2ce8b"}, - {file = "pyats.datastructures-23.9-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:658a12114b65b419d7c55bbcb6da5c3595de8322df6d433303be0c59537c3ad1"}, - {file = "pyats.datastructures-23.9-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:295da5a1ddc56fb3ef3ac697618a4412fe93fa0a5cd1fe3b2bd2125932489ab0"}, - {file = "pyats.datastructures-23.9-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:f2aa0089a14a4607bae9f97253956b7754d582eeef9e98e60f5a377737a5feb3"}, - {file = "pyats.datastructures-23.9-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:f6cb6bbac023f6e3ff471a6fbcd802d703e5e948645d1953de26c01e57aaebcc"}, + {file = "pyats.datastructures-24.6-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:e6393f638ee57321a5d9e90a02ecc8d3037e83f12752b371616687a1dde17cb2"}, + {file = "pyats.datastructures-24.6-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:2fec76ae448d52d13fc43a1f0aaee596ca5317954e192b15ad17bd2224c5a4de"}, + {file = "pyats.datastructures-24.6-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:ef822daa6e3782cceb1ac3488a040149cf7a23bc199539d70918ff0b2b7e1ed9"}, + {file = "pyats.datastructures-24.6-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:1145a65bc2791bdd30aacc7d26df68b2e4920a40fb046478b61f09aaa7c8ebdd"}, + {file = "pyats.datastructures-24.6-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:73329bb9af9b8c3d9ed3d233346f75ca9c758353ebfe7fb37d283f087600b79c"}, + {file = "pyats.datastructures-24.6-cp311-cp311-manylinux2014_x86_64.whl", hash = "sha256:c0084e5a857c9f589df7d0d33b650a1added0cd4895007040cf7dcef02441027"}, + {file = "pyats.datastructures-24.6-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:44b4b56a32f94218ba947310f4fa44b4711625cd4855c03e5dad90adc4b60262"}, + {file = "pyats.datastructures-24.6-cp312-cp312-manylinux2014_aarch64.whl", hash = "sha256:b68fc5ecdcc12690eb6c4775723c777ddac889f4b34a53bc22f5fa372718e09c"}, + {file = "pyats.datastructures-24.6-cp312-cp312-manylinux2014_x86_64.whl", hash = "sha256:fa65d88159704c6fbf79d0932f81e125db1024d306237bfa98df159306019c9c"}, + {file = "pyats.datastructures-24.6-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:9a7c037e0ae341d3dd25be531ed6172f0d7b7a8f993c2f4755a8e2d8b0a8ce97"}, + {file = "pyats.datastructures-24.6-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:9b7590e2cc02efd83cf55f5b873f86b2b9ddc69ecb1ba8aa461bbb785877116d"}, + {file = "pyats.datastructures-24.6-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:b2f0d91bb92b0a2973f0ffa48e6cf327e071afcd4c7b7f200ec7545b4a2041eb"}, + {file = "pyats.datastructures-24.6-cp39-cp39-macosx_11_0_universal2.whl", hash = "sha256:3350d8149cadfc891f618d4289872971288a8266a28f7b4cd49634492902ec5c"}, + {file = "pyats.datastructures-24.6-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:411c224834639ca60023c0f84b4a515e4fbb8571fd0177064e3d51b621b8020e"}, + {file = "pyats.datastructures-24.6-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:31072c54c359ead52f53801904b937adf0925ff06ffd11a54dec40d669b0ff77"}, + {file = "pyats.datastructures-24.6-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:7e66b2b2aa9a14bebefe1ef55c5b1583ed65a96d5a967d109e5aa7b2b4e22dde"}, ] [package.extras] @@ -1943,42 +2081,40 @@ dev = ["Sphinx", "sphinx-rtd-theme"] [[package]] name = "pyats-easypy" -version = "23.9" +version = "24.6" description = "pyATS Easypy: launcher and runtime environment" -category = "dev" optional = false -python-versions = ">=3.5" +python-versions = ">=3.8" files = [ - {file = "pyats.easypy-23.9-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:bc719ff401b4077cb138d22511ddec2640a8ca7fd209540872ed0f3e333a36b7"}, - {file = "pyats.easypy-23.9-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:bf7dc11e78fa92061cd291582b1db508cba6677422547454b2fc29935807e1af"}, - {file = "pyats.easypy-23.9-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:5cfefb8bcc469f7313df88ca552d1daba287d89707dae0971137c1f181c02824"}, - {file = "pyats.easypy-23.9-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:fba147faf79402ab33a7713fa9b27cc18177ec3dd798185ae980b79e21251ff9"}, - {file = "pyats.easypy-23.9-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3b1cce2144c9692121d9eb4724447472c27e8cc86ef1b752a2255abf8f5b1e33"}, - {file = "pyats.easypy-23.9-cp311-cp311-macosx_11_0_x86_64.whl", hash = "sha256:32a99bafb05839eff536f0a6d80c6a9db87a4cb2fa705aac42943e1ee2313107"}, - {file = "pyats.easypy-23.9-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:1ef5cb3b280d78f3125eebf128900cf4c1574a36b5bc37c89349c9c22e990b35"}, - {file = "pyats.easypy-23.9-cp311-cp311-manylinux2014_x86_64.whl", hash = "sha256:38639bad7025ae455785ad96384868fb7da1322e98a3f0a131c0460d1b941839"}, - {file = "pyats.easypy-23.9-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:dbe19b5abd4876cb3472b09fc2d109ad9ba42a67a63d9c3ed34af819459aaa4f"}, - {file = "pyats.easypy-23.9-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:73bdb6d12e3ee816cd0a75f94ec922f7f06231af5325c90755a26cb6fddc9179"}, - {file = "pyats.easypy-23.9-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:17bc827e1f6be9bae175054ddf36c465f402b2ffc8d7e1d3299d8381352ef3b0"}, - {file = "pyats.easypy-23.9-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:82efff36915320ea2b718c6956e6641946f21a8a49f9eb4cf8776891d4a28a77"}, - {file = "pyats.easypy-23.9-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:104c417f3bd3b147a59b7e8aa3896bbc5e9a7329a2c2375eff3bb6fab2e8c12b"}, - {file = "pyats.easypy-23.9-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:24ef0301ec90aabe9d4a312d30848516bcd554365f80fb874d9bb308bb59c923"}, - {file = "pyats.easypy-23.9-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:47d26bdbc6bec5cdf2ac64b222877b3e72026d89b36058450a7ac6d8b73401b5"}, - {file = "pyats.easypy-23.9-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:8df510cdffd4ed11e0181c4cdc16c74371091fba160afac160a12e3cee131412"}, - {file = "pyats.easypy-23.9-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:d67c6f63bbd2bf75ac7dc3a22bbcf641c4d01f8c6ae1378429e4adb9e1d6cdda"}, + {file = "pyats.easypy-24.6-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:e2f75cfa5a76586d749892a0a07a0f1442c7cc6cee681a345ed4ead4e8a3fb9f"}, + {file = "pyats.easypy-24.6-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:1788ed83d7b9bea468478ca14662aab3d65b89d08c5bdd7af8d10ce07691d283"}, + {file = "pyats.easypy-24.6-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:d3e4f567ef3be5b9a5208f0cc179c52ae84f998353c0b16591a614f5ac9b37ba"}, + {file = "pyats.easypy-24.6-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:85a33baaeac9547371cfee624a37836a1b452818338f06c09f3ac66e1b5e239f"}, + {file = "pyats.easypy-24.6-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:38eece146f63151f20b0075061b0e0832bded7478be1a23ba7c8be6fc3cec505"}, + {file = "pyats.easypy-24.6-cp311-cp311-manylinux2014_x86_64.whl", hash = "sha256:abecf609409f092172b515109f0930fc0e3c7aea4515004fd5a68da326509868"}, + {file = "pyats.easypy-24.6-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:8b798bdc563032e4b5dfbabcd3630d9301332571872a41aee1670951a73b9305"}, + {file = "pyats.easypy-24.6-cp312-cp312-manylinux2014_aarch64.whl", hash = "sha256:653ef1cb4726285c241de7802e344b69e4cbf459ebd7205ad10332bd0a24b152"}, + {file = "pyats.easypy-24.6-cp312-cp312-manylinux2014_x86_64.whl", hash = "sha256:0ff70d7754db144834f3eb9e076ff33a955449261774b8836d7430ae9cfbc2b7"}, + {file = "pyats.easypy-24.6-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:ac83e213a3ed1abff89e339de3fa9d2dad2f250731502b12a5a5dcbdad5c046e"}, + {file = "pyats.easypy-24.6-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:b4a4f74ece2e2b642731b1e7fac8207e40b385a43e9f8132592dfb1a05fffe9f"}, + {file = "pyats.easypy-24.6-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:7603dfcd31807cb06cbbaf63b21f0b9c4f8ccdfafaf4c33a1b32ca1b7622abfa"}, + {file = "pyats.easypy-24.6-cp39-cp39-macosx_11_0_universal2.whl", hash = "sha256:6458e5fed0353e0aa55d9ddf16f40da123a43e87eab06add2b20d151e30441e7"}, + {file = "pyats.easypy-24.6-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:e7ada8f8cc913e6f51bec13fd682dcb015f16dd719e6e6c2ea10f7d6df2f62b0"}, + {file = "pyats.easypy-24.6-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:06a2e5a816f9110cc058f2885fc081be69d22d7678c9e77af92239db3fbed2c1"}, + {file = "pyats.easypy-24.6-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:7b555685a290f1343a0d25bea5a45432460e161af00f953eeb006b873e4f37a2"}, ] [package.dependencies] distro = "*" jinja2 = "*" psutil = "*" -"pyats.aereport" = ">=23.9.0,<23.10.0" -"pyats.datastructures" = ">=23.9.0,<23.10.0" -"pyats.kleenex" = ">=23.9.0,<23.10.0" -"pyats.log" = ">=23.9.0,<23.10.0" -"pyats.results" = ">=23.9.0,<23.10.0" -"pyats.topology" = ">=23.9.0,<23.10.0" -"pyats.utils" = ">=23.9.0,<23.10.0" +"pyats.aereport" = ">=24.6.0,<24.7.0" +"pyats.datastructures" = ">=24.6.0,<24.7.0" +"pyats.kleenex" = ">=24.6.0,<24.7.0" +"pyats.log" = ">=24.6.0,<24.7.0" +"pyats.results" = ">=24.6.0,<24.7.0" +"pyats.topology" = ">=24.6.0,<24.7.0" +"pyats.utils" = ">=24.6.0,<24.7.0" setuptools = "*" [package.extras] @@ -1986,39 +2122,37 @@ dev = ["Sphinx", "sphinx-rtd-theme"] [[package]] name = "pyats-kleenex" -version = "23.9" +version = "24.6" description = "pyATS Kleenex: Testbed Preparation, Clean & Finalization" -category = "dev" optional = false -python-versions = ">=3.5" +python-versions = ">=3.8" files = [ - {file = "pyats.kleenex-23.9-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:40dcb5449ddf7d91473224505b440ca9b154bb70ac8e38e9c704c15ccbd1bda2"}, - {file = "pyats.kleenex-23.9-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:bab28442f2805b36eff4c6885cb03330bc70248588311d63737e7b05f49f4464"}, - {file = "pyats.kleenex-23.9-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:443b517590b5bfd66ecacce548ffd2500c9bfdc041ccee688905a4abc9480807"}, - {file = "pyats.kleenex-23.9-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:ba2ffe3b2b48ee475da599009be65579acbb0662d767946f4df854372576d198"}, - {file = "pyats.kleenex-23.9-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:9030d8f9375d5116fc53cdfda7513941e1e7eda7d9994f18ab3b0f8b331a3e46"}, - {file = "pyats.kleenex-23.9-cp311-cp311-macosx_11_0_x86_64.whl", hash = "sha256:c51db75791697fe6ef909604ee29288e12bfe4d6e5ee86a803c986738b3f3385"}, - {file = "pyats.kleenex-23.9-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:fe810ec6a29c896593ad09b67d1009945fc7f6a67cec35071649e96fc62a3fda"}, - {file = "pyats.kleenex-23.9-cp311-cp311-manylinux2014_x86_64.whl", hash = "sha256:4195087b07c198658c8654f8f7cc5ccaeb4e5a95ae9ee88154a25e5f12f573dd"}, - {file = "pyats.kleenex-23.9-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:08be00f83c443bd4a066f1f408b1a3e5c30835c0477ac2bfffb1089c02d7a3f3"}, - {file = "pyats.kleenex-23.9-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:53187aabea8504ffc87ba3d558f278bca56f0f2a159169607daab0142f833dd2"}, - {file = "pyats.kleenex-23.9-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:6fb65be632c71ab3ea57134299f445eeb9bf5e85ae04345fdf0622a3a9e910b9"}, - {file = "pyats.kleenex-23.9-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:b21a8b7645905faa1dfa1e9af6acb53572853e8fef39012264ad239fd66eb149"}, - {file = "pyats.kleenex-23.9-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1211743d2288263b857af1e594cf7bd93079eada03db0572fcfebb8733996757"}, - {file = "pyats.kleenex-23.9-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:b0a953a52df6e47c066a8ceec3f1ff10e790431595e7b34963219ae019995356"}, - {file = "pyats.kleenex-23.9-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:1f0a5621cfda41c575073836ddc292ce13917cb329adaca424751f29389792bd"}, - {file = "pyats.kleenex-23.9-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:ec1a92e089d8f5bc7cb8981371d08ece521d3a1638ec8021068c8df16c766212"}, - {file = "pyats.kleenex-23.9-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:82a6bd6514ca75fa1614068e131fb5c29d7adde80c209bcc354a3398bda38d52"}, + {file = "pyats.kleenex-24.6-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:ede148a98c18e188018f46d7bdc72cbf7650ad61e5c607e449c1dcbd306655ab"}, + {file = "pyats.kleenex-24.6-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:c982c32c3d052e60789a4dbeae84f26bf07268fd36b5944f826bd5e4d3ed725d"}, + {file = "pyats.kleenex-24.6-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:34e4fe8586647856ae5a3ce9b9d7c4b3b0288ed49a34a48020d6288c93412ec4"}, + {file = "pyats.kleenex-24.6-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:40ab33994e274aa4edbddbbb1d0988db5007c887df423fb5585d05bcde4d43a0"}, + {file = "pyats.kleenex-24.6-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:4ccd3c69f5b76c51e0118e215a9063be9820525f5ae74663103966bc302dbc1d"}, + {file = "pyats.kleenex-24.6-cp311-cp311-manylinux2014_x86_64.whl", hash = "sha256:2c823668932279f5c0999f3d3227e880847276ab0f4ec424fb37f14c0e381375"}, + {file = "pyats.kleenex-24.6-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:93613b425cf8121555dfc268aa87eee78af5cf6e7d7a5a74d022b95107674c8d"}, + {file = "pyats.kleenex-24.6-cp312-cp312-manylinux2014_aarch64.whl", hash = "sha256:eb7701a3adb7aadcb603d7237428689252aadf0374b1f7aea14a1a8021be4580"}, + {file = "pyats.kleenex-24.6-cp312-cp312-manylinux2014_x86_64.whl", hash = "sha256:528093b2173ac8571dba55ffb9f83909f84b355e55901cf27a5373320033bd0c"}, + {file = "pyats.kleenex-24.6-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:601127ce220273ade0bdbc8ffd46dd4d8cd0ac1768c4c2eb3c4182e7f80eeb71"}, + {file = "pyats.kleenex-24.6-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:7cb412778cae04d08e2666342c5f0238eec103db8bda110b892996db060eac1c"}, + {file = "pyats.kleenex-24.6-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:fa7c9cf2351f9eb0c2fded11c588f96b452075777cf705179587b348cf8c81fe"}, + {file = "pyats.kleenex-24.6-cp39-cp39-macosx_11_0_universal2.whl", hash = "sha256:3bbe166076027db70a7c9cc1d77942781d9a96cebca89ae88e880912750ad7ef"}, + {file = "pyats.kleenex-24.6-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:5480b77d511cb025222909efcbeb22e6986193a50f1223d65acfbd9b0c5aaa57"}, + {file = "pyats.kleenex-24.6-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:e2a68ae8407b9620a13736defbe54d71b617020bc45bf4e1a4eec794bae15f92"}, + {file = "pyats.kleenex-24.6-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:ce39f2ff2ac6a6522e228654fc9814f8a46471ae0ebbaa3a0c35dc3c6b89e58d"}, ] [package.dependencies] distro = "*" -"pyats.aetest" = ">=23.9.0,<23.10.0" -"pyats.async" = ">=23.9.0,<23.10.0" -"pyats.datastructures" = ">=23.9.0,<23.10.0" -"pyats.log" = ">=23.9.0,<23.10.0" -"pyats.topology" = ">=23.9.0,<23.10.0" -"pyats.utils" = ">=23.9.0,<23.10.0" +"pyats.aetest" = ">=24.6.0,<24.7.0" +"pyats.async" = ">=24.6.0,<24.7.0" +"pyats.datastructures" = ">=24.6.0,<24.7.0" +"pyats.log" = ">=24.6.0,<24.7.0" +"pyats.topology" = ">=24.6.0,<24.7.0" +"pyats.utils" = ">=24.6.0,<24.7.0" requests = "*" [package.extras] @@ -2026,39 +2160,36 @@ dev = ["Sphinx", "sphinx-rtd-theme"] [[package]] name = "pyats-log" -version = "23.9" +version = "24.6" description = "pyATS Log: Logging Format and Utilities" -category = "dev" optional = false -python-versions = ">=3.5" +python-versions = ">=3.8" files = [ - {file = "pyats.log-23.9-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:98d67c1f92a09ad8e91fcd2af546bd41e0aa44bf667fb1d30c1a044e949199f5"}, - {file = "pyats.log-23.9-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:579e5bae9c387282ae273bc6b73932cbb82b2a7f6db262801d118d902db61be2"}, - {file = "pyats.log-23.9-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:54a510365592e092d6b57fb39ee8c57b456e8dcdc0e59292d31fe028a9404b20"}, - {file = "pyats.log-23.9-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:0f932568b3f7ff9ad46cfb63eb9bc6a284501da591ec9b114fd1d0edcfe454ed"}, - {file = "pyats.log-23.9-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f74320360a56a1d48fb3d636afdc726a040fbe0469de5a6533ae6c1bbf575d23"}, - {file = "pyats.log-23.9-cp311-cp311-macosx_11_0_x86_64.whl", hash = "sha256:05a32a37c219e757bd93d0d1621c79354fcf15a1196889971093870884bd6069"}, - {file = "pyats.log-23.9-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:1b988837e20453b4542aa603bbd975b924509d369fda42902c5901f41cb30c1d"}, - {file = "pyats.log-23.9-cp311-cp311-manylinux2014_x86_64.whl", hash = "sha256:b62757a500c8976f856d03e17dd5412cea09e8213f7f2675ed9c17b7b285e50d"}, - {file = "pyats.log-23.9-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:9ae514b654e094c23ab7f855c253f6884ef0dd6c230fb61ed84f3cf27530738b"}, - {file = "pyats.log-23.9-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:dca956f97f1e1320f3539a1aba77f8870468d77bb8b4b14a87d02c201b92dbbc"}, - {file = "pyats.log-23.9-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:8809bb93e05628fa3ff8260a7374d576ee11047e97df57467ef6a9f50d861cff"}, - {file = "pyats.log-23.9-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:bfea5eba9381bd76477946130224377903ef932ae2ddbcac9c24269723ab23dd"}, - {file = "pyats.log-23.9-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f18ff9887602df7cfa5cebc0035975054a25e63456186fe06712ff500ddf4bca"}, - {file = "pyats.log-23.9-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:bbe30335dfaaf9359880cb135c7bdfe129c98766c19ee5619bb298ecdf6c7427"}, - {file = "pyats.log-23.9-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:ad631a01198051e0b1aafea00ddd1926c582d62d23b5492940adca91711c7a4b"}, - {file = "pyats.log-23.9-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:2c350a38de5d092c2e3749d217c79a5ff8999d8c2da670c5597629e53b61e94d"}, - {file = "pyats.log-23.9-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:801aabc604e6eac9ed1bf322fef40193b150b5c15c439c6ecfdb6c4d93637c49"}, + {file = "pyats.log-24.6-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:0487e08637789b0a23c5eb91f90e81fe3021120ac165a2eef5d8b34eec185115"}, + {file = "pyats.log-24.6-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:043fdec010bbf0c3fa3f75e8c0e3c3bc64d19c8446a748baeaf1d31ff0617069"}, + {file = "pyats.log-24.6-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:d86a1ed470cbfd862969336e98980154c2a7a8b14914b4841de6d9683afe247a"}, + {file = "pyats.log-24.6-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:f85ce2a2e33f0647f9a4cc0ba5f13fbf3ee3c25e857bb0d805ac4ed548f777f7"}, + {file = "pyats.log-24.6-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:c5221838094fcc7361f9fd9b76c860ef529f16cf4a2571fafa27b796182ff9ba"}, + {file = "pyats.log-24.6-cp311-cp311-manylinux2014_x86_64.whl", hash = "sha256:814450166c100f8081faeac275e8c5129ba7d278d8aa0455ccffcd810f7134a3"}, + {file = "pyats.log-24.6-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:71d25e78c736257cc31dc860ffe2d214a5e4a6770a864f3c0f3006ccefc70577"}, + {file = "pyats.log-24.6-cp312-cp312-manylinux2014_aarch64.whl", hash = "sha256:43c5491474ae023e7c3b0f429f1dce1d8f3dd20f9d044676ea4101e8d90ce8be"}, + {file = "pyats.log-24.6-cp312-cp312-manylinux2014_x86_64.whl", hash = "sha256:a41397c30d18cef8cabdd8468752035608f36b45fecd0195cb03e824fe4e1894"}, + {file = "pyats.log-24.6-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:3655ecc43108f99b9527285eebdf2b2c8ace12889889cc67630e691b2fcbab99"}, + {file = "pyats.log-24.6-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:25e52d1ae5d4ee462f64d9ad1f31ee11c6fed0eaa54bcd3128340a93cc82825c"}, + {file = "pyats.log-24.6-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:cbd092d2fb113ff9145aa99a1383abce0e3a2734633c95ed7d33b5e8fa234cef"}, + {file = "pyats.log-24.6-cp39-cp39-macosx_11_0_universal2.whl", hash = "sha256:d3cc45b444cf92002b4d15a4c9fbb94dcbb59aa9c5493677b476d95026b9f15f"}, + {file = "pyats.log-24.6-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:7d870e1a59bd3b981a03efd87496db39345d1d9fedbdd3174e29b308f8099069"}, + {file = "pyats.log-24.6-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:97243cbc5a1c3b0ddb0826f768aef01aed92cc02258253feb2764d749d62af28"}, + {file = "pyats.log-24.6-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:d27c3bf71ad780741ac760698e1aa6e2f0138f06d28c3422771a84877f2d40ab"}, ] [package.dependencies] aiofiles = ">=0.6.0" aiohttp = {version = "<4.0", markers = "python_version >= \"3.6\""} -aiohttp-swagger = ">=1.0.15" async-lru = ">=1.0.2" chardet = ">=3.0.4,<5.0.0" jinja2 = "*" -"pyats.datastructures" = ">=23.9.0,<23.10.0" +"pyats.datastructures" = ">=24.6.0,<24.7.0" python-engineio = ">=3.13.0,<4.0.0" python-socketio = ">=4.2.0,<5.0.0" pyyaml = "*" @@ -2068,37 +2199,35 @@ dev = ["Sphinx", "sphinx-rtd-theme"] [[package]] name = "pyats-reporter" -version = "23.9" +version = "24.6" description = "pyATS Reporter: Result Collection and Reporting" -category = "dev" optional = false -python-versions = ">=3.5" +python-versions = ">=3.8" files = [ - {file = "pyats.reporter-23.9-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:32369b3fa6383e814c2db1fb44e359173258fb8b71bd5a35788182c3245c3627"}, - {file = "pyats.reporter-23.9-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:41e5ffdb5fe6d0466e164b733435c60c2a276fd2ec0c3d23ddae99abee0feeb6"}, - {file = "pyats.reporter-23.9-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:614311cac8774e675d92c56769ede7564ef3eb2457edbeebfde4d20320590ba6"}, - {file = "pyats.reporter-23.9-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:ce028c17cbaefe487b8cb52881f691154e5cf4aac9cb806118d1a3a7819191dd"}, - {file = "pyats.reporter-23.9-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4e840408fcb58ab69b0d7a59d639daa4c734fa3a3e04a07e638e6a72a43dc3e6"}, - {file = "pyats.reporter-23.9-cp311-cp311-macosx_11_0_x86_64.whl", hash = "sha256:f8b9eb6b1c847d3038d6631c4ee594d49840f164b1917f24cfa2d77cfb0e9c88"}, - {file = "pyats.reporter-23.9-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:de2c589d6c22d2a35ffbe7f8bd10acd4dca61ffe3e3e5b7df5f3fd579a575162"}, - {file = "pyats.reporter-23.9-cp311-cp311-manylinux2014_x86_64.whl", hash = "sha256:28fab35e9b0ebf4b492ca97e6d3e08613dfde8260dba3305450b9234a300c8f4"}, - {file = "pyats.reporter-23.9-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:67039b5af9832428a1109d44616710323ec6c4f7ef05682851a079ca617d9a10"}, - {file = "pyats.reporter-23.9-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:0a2e5bf18eab9a1b1ba54006ffb76e571019b7a36850e8ac479517eb717ce737"}, - {file = "pyats.reporter-23.9-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:d12b1893e258627cee863fc8e338acc1c169bb2008cdd5710917954de0771dd9"}, - {file = "pyats.reporter-23.9-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:95ea2bb27dfca75b161d6a9ae0ba80833fe7472e66938e18611af05dbe075e5f"}, - {file = "pyats.reporter-23.9-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f091ff27e82818b40b16fbc746aa440a727a2e424daf6ea8d1d4900f5a929569"}, - {file = "pyats.reporter-23.9-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:6110bc3038ea334b48b08e65d8e63b7392257137058927cab527b857fc58728b"}, - {file = "pyats.reporter-23.9-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:c756afb4575afe4b23ecdf5268200cec36f8596708dedd8ea2a1fec1f23a4a35"}, - {file = "pyats.reporter-23.9-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:98b352890893cedb80a28a31fafc8a45ea2774ffaca1f8643c0a026dfdd23a5e"}, - {file = "pyats.reporter-23.9-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:95dd2971f0a3f303b443ac75e552e1fd5c5cc3a6c19a839bab523f1fdf71cba4"}, + {file = "pyats.reporter-24.6-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:8c9d637de4bdaad7112af9ea063b37279427ce21b29c314aafe2ee98d599ccc7"}, + {file = "pyats.reporter-24.6-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:a6da03bedfee4f5f869e4d8782e254572406ae4d4aea4df9f4d1d57c9412fd83"}, + {file = "pyats.reporter-24.6-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:30f3e9db285b4d13f583ad09f9fd7daad4c79afdd216f66828771d5812b250cd"}, + {file = "pyats.reporter-24.6-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:6d1b47bb9c5f12f673cbfd542907333a31718b5f0efafcf8ca943fa877941480"}, + {file = "pyats.reporter-24.6-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:9d37b804677703394e039b4574a7fb5f3b95921ffedcf42a6413f95e1453a643"}, + {file = "pyats.reporter-24.6-cp311-cp311-manylinux2014_x86_64.whl", hash = "sha256:e02090d2e99eff5b57636abab63307e370dd31a5d5d7558ebfb935f95031f1ae"}, + {file = "pyats.reporter-24.6-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:25a2f7e2a50f714809cb49fdc24bea925b4f3ce8f3ac603ecbda3ea6bcdef041"}, + {file = "pyats.reporter-24.6-cp312-cp312-manylinux2014_aarch64.whl", hash = "sha256:fd9775a34d2ae1b9443f9a54b77873cbce65ce6e9e97f9706dbac371a4542032"}, + {file = "pyats.reporter-24.6-cp312-cp312-manylinux2014_x86_64.whl", hash = "sha256:69b991f8b5cf818d105c7452bcd8dcc22a6025d601ad3942c1a5d9c0487816cb"}, + {file = "pyats.reporter-24.6-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:434f4f3525cb3a55e2ec4934898e86ae1887581bd5ee17aca568a1ec223f25f6"}, + {file = "pyats.reporter-24.6-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:adf5c3778c8562c148fdc174949906159ba5a55be93740a396024247e17961d8"}, + {file = "pyats.reporter-24.6-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:ed7217572469461d1d3be26aa2c4a6d2c0f60e0df819b633e5700d4107bf32c2"}, + {file = "pyats.reporter-24.6-cp39-cp39-macosx_11_0_universal2.whl", hash = "sha256:581ab0ae619bcad3aa7ef35295e098281154b8e8ec0b8344a336967624ed323a"}, + {file = "pyats.reporter-24.6-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:abc8d7b8c896d20290d5045d3df11f2635beece82bd96c0423ef9d8a2e524776"}, + {file = "pyats.reporter-24.6-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:65ec2b377bddfa3d57d652ae54229aa486e490644e6c25cfee36d38a2889401a"}, + {file = "pyats.reporter-24.6-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:ade5fbada97a50cab186d540884f87e49e8a3f24c3fa2bb2f055bc3dd71fd426"}, ] [package.dependencies] gitpython = "*" -"pyats.aereport" = ">=23.9.0,<23.10.0" -"pyats.log" = ">=23.9.0,<23.10.0" -"pyats.results" = ">=23.9.0,<23.10.0" -"pyats.utils" = ">=23.9.0,<23.10.0" +"pyats.aereport" = ">=24.6.0,<24.7.0" +"pyats.log" = ">=24.6.0,<24.7.0" +"pyats.results" = ">=24.6.0,<24.7.0" +"pyats.utils" = ">=24.6.0,<24.7.0" pyyaml = "*" [package.extras] @@ -2106,29 +2235,27 @@ dev = ["Sphinx", "sphinx-rtd-theme"] [[package]] name = "pyats-results" -version = "23.9" +version = "24.6" description = "pyATS Results: Representing Results using Objects" -category = "dev" optional = false -python-versions = ">=3.5" +python-versions = ">=3.8" files = [ - {file = "pyats.results-23.9-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:54425a192010894d7f00c23ca1506a1719be38ffde724a28923f0eabd4f22b8d"}, - {file = "pyats.results-23.9-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:15a01bd390561d5e33b45a49f41596705e95100496bcb225b34d08d504b0851b"}, - {file = "pyats.results-23.9-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:b23ef4eb489a04f1fc809e5317432b64f13bcbb1daba23de10ad224d8c4b19d5"}, - {file = "pyats.results-23.9-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:f78a9bcf7e643ff5d4b000e128f2bea42a71107855566ba4953f0f8062622e37"}, - {file = "pyats.results-23.9-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:36fc01dcb4b446d6b45fc4fa3179fcf6e01b626a4c7ba876ff538b47cf002a14"}, - {file = "pyats.results-23.9-cp311-cp311-macosx_11_0_x86_64.whl", hash = "sha256:f7c94ca919733c8ea39fdecd42e928fadd540258e2c257ba0bb6acc3847f2915"}, - {file = "pyats.results-23.9-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:5a7e2b5c944b373d9ce0e9a79b1983171a42263eb4f669f412034638a50357ab"}, - {file = "pyats.results-23.9-cp311-cp311-manylinux2014_x86_64.whl", hash = "sha256:a09a54d1f62357f1d34c4103579359a9b1dda087aba1e274784104e9f18d2261"}, - {file = "pyats.results-23.9-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4fe2964c53e984ec6fd6f7a98309c20d740967f27f9dc777b101fe36d12e07c7"}, - {file = "pyats.results-23.9-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:9bdf8dadc792d7f5134abd35e579ef97ee1e0e58f119348850757737e8990f25"}, - {file = "pyats.results-23.9-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:f4b5019c8328da8e5ebee5030556c0d8aa9ab4cbabb8a865c7382d83e77dd235"}, - {file = "pyats.results-23.9-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:d2302ea5c6ad9ca897c39f9bb31fb3cedaefad9bf795aa29d76cd32a287d6af3"}, - {file = "pyats.results-23.9-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c436ff7e22b246e1e8587847ba462c9aa497e4f40f01f7266ba43d83e25e74e5"}, - {file = "pyats.results-23.9-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:51bd2d107c197653b879c0cde2e1db24de6aab926cc381315f5348c996c73927"}, - {file = "pyats.results-23.9-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:90362455854bcf5abebf1086888df09ddcb68ce9419e696fe76a85ab3e5dcd3c"}, - {file = "pyats.results-23.9-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:afb41ae59d808a78008bcd8513abc06bcaaf1f2e91090c294f20c8fb14f97661"}, - {file = "pyats.results-23.9-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:463b7a43f1c5bbea68f033e8d37e78ca9a06b9e2a43da7675d91a5a86295d7b6"}, + {file = "pyats.results-24.6-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:90ce90ffe42359b8192cbc24bfde90895fcdcc9655306c2e59f66a1503b61d92"}, + {file = "pyats.results-24.6-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:c7e23f06baf070880105e69ee37a128f4f81e96772cf93a17497b690e62deeb1"}, + {file = "pyats.results-24.6-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:eb050cc14a7f7be6ea07ad9f292ed07c12125540bdeb757fbf62576bfb97a81f"}, + {file = "pyats.results-24.6-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:fb59039cc5a54f3bc063467e46eb395cf777690c6ee2d110cb27c332fe3a6b80"}, + {file = "pyats.results-24.6-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:511d80526cce469626324a75618701f2c8b1f5919f3223418bac88adcaed8760"}, + {file = "pyats.results-24.6-cp311-cp311-manylinux2014_x86_64.whl", hash = "sha256:64d3ea4bf2d32f96af664f35720f3cc2af78c32d6c5842de8202308df8d5208a"}, + {file = "pyats.results-24.6-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:7f0af025d12a231dc5ee7276329684872d3dba4b93d9a97fadefe8e3dcea4248"}, + {file = "pyats.results-24.6-cp312-cp312-manylinux2014_aarch64.whl", hash = "sha256:22cc3ffb85703a90c6b6b5f5e8f141b93f39efbac84f0327e7b4471e12b24cbd"}, + {file = "pyats.results-24.6-cp312-cp312-manylinux2014_x86_64.whl", hash = "sha256:b5655a7cb3a9f9b4267a4ca56fdb014787f7606ea22ea7b308a8e4a9139d8568"}, + {file = "pyats.results-24.6-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:a0ad5c56c6ac3f2e9d90a6f93978ff2ec23a9aa94cda852702e2e2d6c177a90e"}, + {file = "pyats.results-24.6-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:21ed63c7c8c05644b4b3c3b0932a3beac0f2f7c12480790667d7d98e9df07210"}, + {file = "pyats.results-24.6-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:e18e445c2577971dc883a9d9b0801be2d1af7dd589cb31313db8e1f4a842957d"}, + {file = "pyats.results-24.6-cp39-cp39-macosx_11_0_universal2.whl", hash = "sha256:e056f59a7a9184508e4c0c085a6ca0e3abdea5798c273e006baf618cb65b56df"}, + {file = "pyats.results-24.6-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:0b9cf15616340fe056b7f64f1536c3c8218d6bce7dcecedba8c390bd52cc27ad"}, + {file = "pyats.results-24.6-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:297230b6f88b76ae9bf651cf7eed56d986bd21dda0a8baa7faa3c47bb86d80fa"}, + {file = "pyats.results-24.6-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:f6079ccea0d7a44c402c6547f6c8f169816c1df96fe9482abb7c21e5b57e63e1"}, ] [package.extras] @@ -2136,69 +2263,65 @@ dev = ["Sphinx", "sphinx-rtd-theme"] [[package]] name = "pyats-tcl" -version = "23.9" +version = "24.6" description = "pyATS Tcl: Tcl Integration and Objects" -category = "dev" optional = false -python-versions = ">=3.5" +python-versions = ">=3.8" files = [ - {file = "pyats.tcl-23.9-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:886da200e818eb6c439c1283f979da057735219af8b97f99df403899553c9310"}, - {file = "pyats.tcl-23.9-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:9104e64f2cb9013d86c02abd675d73c220ea1490434f49d38bdde29016a43ced"}, - {file = "pyats.tcl-23.9-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:7c1ce89c424979522a35c86cb7be44638038f73d21eba433778d13fb8881be89"}, - {file = "pyats.tcl-23.9-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:068d59d8d8c5f3e2f648734d1e550832783045ab38ca610d2bb8e47deccf9ffd"}, - {file = "pyats.tcl-23.9-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:16179b8ba545064c5bf7eb7b4d27e3b1bd4d6c86eb548de2e71b319cc6185737"}, - {file = "pyats.tcl-23.9-cp311-cp311-macosx_11_0_x86_64.whl", hash = "sha256:60f00268fdb01c3d8272f2369b111ba7f4729abb6c4ba8f0e0a3394021aafd1d"}, - {file = "pyats.tcl-23.9-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:228e472c42d7c5720b843cbd468421bf32cdf7f6efa67973a7ff9d526bfe817a"}, - {file = "pyats.tcl-23.9-cp311-cp311-manylinux2014_x86_64.whl", hash = "sha256:ce8abf123818aba22bb3bec91b16bf8d1ffba5f1930b62408d46d800e4b4caae"}, - {file = "pyats.tcl-23.9-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:23dee15806f58eee4946da723d89a3ed70d032f8ece46ff4d1ff9531fe527e55"}, - {file = "pyats.tcl-23.9-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:84d21f678b2ab09e1efde268eca8550a931b2bfbc5b7c36b33e699aadfe0ac37"}, - {file = "pyats.tcl-23.9-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:deef7857fb37bbd4a227b8b0bf620e85e27fcf772c4679c87ff7cdef3eb4207b"}, - {file = "pyats.tcl-23.9-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:9a080408ee6a9a09b90c6c86af43f1ef0c609b1ea27bb22e6c37725eb3593984"}, - {file = "pyats.tcl-23.9-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4ad0c874c765d51d06f8965e6512f7ad512f11166dfe8b93f7e1a9017082d88f"}, - {file = "pyats.tcl-23.9-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:57af38d8ebd29d7e8c9a8073596ed8295ce7cbe4e092900baaa3caabfae1f514"}, - {file = "pyats.tcl-23.9-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:e1cc984589ce0a18dc103adf85f124fa6f34241aa8bf723be28eb6320aecc4bb"}, - {file = "pyats.tcl-23.9-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:81f8c6e2fcbb508bc2638c9e81c743f551c8922d332ea37493d631174def3902"}, - {file = "pyats.tcl-23.9-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:a5e35c252a4ce9c0fda56eb0e11fa5b276962ce75d1d4c5360285287fc9486e9"}, + {file = "pyats.tcl-24.6-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:6f139b909ea8049024fb065a08d3b479053a70fb97d5cc2fa2fb072a1d5b2e69"}, + {file = "pyats.tcl-24.6-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:70a23e46eb9bdc73dfa32c13a1e4f549c144b260eeae90188d09c8f9c87c3238"}, + {file = "pyats.tcl-24.6-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:66a1838264d4b10086f8866ad2a0d449105534870cba7d6ec2220bb23f1ab5ed"}, + {file = "pyats.tcl-24.6-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:fedf8eda08a775f08ec207e7747d7a801d90602a469b6045272cc2b862d9efa7"}, + {file = "pyats.tcl-24.6-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:ea0533c47d6323424819bf21369b7c046970068299b0814e48f52716e26234ef"}, + {file = "pyats.tcl-24.6-cp311-cp311-manylinux2014_x86_64.whl", hash = "sha256:d3a12243998e5fe934862cafa52df821aa95f8270455891f92072bb4111b351e"}, + {file = "pyats.tcl-24.6-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:a28591967d240a92b4b657c9fb236ddd16e54623ec48cd47ea10e662c8e904a2"}, + {file = "pyats.tcl-24.6-cp312-cp312-manylinux2014_aarch64.whl", hash = "sha256:adfe08c25da3d369c61f6d9cee0b284d9930436aee14071b3d825061a586fde4"}, + {file = "pyats.tcl-24.6-cp312-cp312-manylinux2014_x86_64.whl", hash = "sha256:6a40b94322273e6b606eb83a20ffe4b3f6935b69f95862a0fe355016c179426e"}, + {file = "pyats.tcl-24.6-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:ab296dfe9220ddb8b0f8bccd0fbff9854e69994b9314297c6bfa9930e975b7df"}, + {file = "pyats.tcl-24.6-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:e8def69c6200e32ca5196ac0a88be77f5f992f7943256d0975fff1074937c4ff"}, + {file = "pyats.tcl-24.6-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:eb5b43cea36027952dcf8b218978ff80b748cecc17f66cd4bbbac6ed16bc91b2"}, + {file = "pyats.tcl-24.6-cp39-cp39-macosx_11_0_universal2.whl", hash = "sha256:112d690127779d701d4c3e9ba473b4fd15daf521f54ee2479247ffc50a1e0b7f"}, + {file = "pyats.tcl-24.6-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:e0e7e307ab92fad6ab5b38d2e05b618dc1eb13a565a78350e88200b9a26b0dc6"}, + {file = "pyats.tcl-24.6-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:f410de5694e48d57b6c1d5f2baf31ddc11ea7247f79c98a026a5ee5b8a95d0ab"}, + {file = "pyats.tcl-24.6-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:b7a0d5231816de14e0f539fc8f8e270bf6c5a0d9ddd8d57207681dde87747c2b"}, ] [package.dependencies] -"pyats.datastructures" = ">=23.9.0,<23.10.0" -"pyats.log" = ">=23.9.0,<23.10.0" +"pyats.datastructures" = ">=24.6.0,<24.7.0" +"pyats.log" = ">=24.6.0,<24.7.0" [package.extras] dev = ["Sphinx", "sphinx-rtd-theme"] [[package]] name = "pyats-topology" -version = "23.9" +version = "24.6" description = "pyATS Topology: Topology Objects and Testbed YAMLs" -category = "dev" optional = false -python-versions = ">=3.5" +python-versions = ">=3.8" files = [ - {file = "pyats.topology-23.9-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:1ec39cfe3e5d8573b15244d2926b6c7442edcd2edee861700294d32bdef3b36f"}, - {file = "pyats.topology-23.9-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:ad5cba37b3500fbf3f3289470161912e0053ad6c8b5bc7e3d11f54c19b4edd91"}, - {file = "pyats.topology-23.9-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:455ec088ab0ea0542bf11b56b3f0507b732d99bc5dedbf6aa3b3d4ff777fa91c"}, - {file = "pyats.topology-23.9-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:09ec1447b778836ff35417cfad54105a2a74d6aee321b249526618c113df2b3d"}, - {file = "pyats.topology-23.9-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ee28ef48136e923bb52949817af23b7f85d09508d40bd0b3a47779c9230c2071"}, - {file = "pyats.topology-23.9-cp311-cp311-macosx_11_0_x86_64.whl", hash = "sha256:b4d718d349bbcea2e932eee2191b9c93f5378757fc54c65ec7610c1e7250faf1"}, - {file = "pyats.topology-23.9-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:ebd2f264ed6bb98b92a682a3e4f6f4c0805b75a6cd51904f4728a66192103e0f"}, - {file = "pyats.topology-23.9-cp311-cp311-manylinux2014_x86_64.whl", hash = "sha256:0fa84b18fe4f0517578f07b07ec9cedbcb922acf119c912b108f15041d84fd48"}, - {file = "pyats.topology-23.9-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:34a61c235deddacd09d1d9f6322b334505a966ffc2685e6a6f9636b12a17afb1"}, - {file = "pyats.topology-23.9-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:2b928ff6befb45cbfd75f36be7934a219a0b5f64d6c70db9cbd123e7741285a5"}, - {file = "pyats.topology-23.9-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:ddfabc8a14d1272989faa730d6fd20836217d344c2cdd6884a188401dcad4023"}, - {file = "pyats.topology-23.9-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:d22a622b20737e96689e5e314ef4f1da46cfe4b68ccfdfe23190877aae723cbb"}, - {file = "pyats.topology-23.9-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c41cd7fdaa884f1cd19eb0d6aca00c17f96c32f498cd048c380f7a6ab35c58bc"}, - {file = "pyats.topology-23.9-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:4567742f47b6f767100af7917ab69b4299cfe2f99d572c097b41625ae052260c"}, - {file = "pyats.topology-23.9-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:215e1bc3a9a24931978fd5c1c671ba214ab5238f319586099af861cb934ad474"}, - {file = "pyats.topology-23.9-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:98dc0bd7a20318ba219b0e3ebccd917a6efc181ce92b81b37ce7c9c0b9e26cfb"}, - {file = "pyats.topology-23.9-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:a0b9a3dc13b7bca968c373f99fc9763a4193988ad8889895ea24106023a53ba1"}, -] - -[package.dependencies] -"pyats.connections" = ">=23.9.0,<23.10.0" -"pyats.datastructures" = ">=23.9.0,<23.10.0" -"pyats.utils" = ">=23.9.0,<23.10.0" + {file = "pyats.topology-24.6-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:0216938d132255384ebf1d1f796f16e247383a107c2901d784d7cc82ba8af1d0"}, + {file = "pyats.topology-24.6-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:22c672d66e2bd2a1bfbb82bd67e853ae5e7cbe7f6db555d16a779ba1e4df3c2c"}, + {file = "pyats.topology-24.6-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:ae0fb6596a1d8623bc00ecca2f34307fef61bf57ea35f8cd36335b82c1a61ddf"}, + {file = "pyats.topology-24.6-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:f36898374dfaca24ba4c1345c2035b32d31610f09466c57c99bdf6da4c06362e"}, + {file = "pyats.topology-24.6-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:57de54b7b0514662f5a74d48203c75b47df7233f326d6bfb9f6de900ed2d6694"}, + {file = "pyats.topology-24.6-cp311-cp311-manylinux2014_x86_64.whl", hash = "sha256:9067f39c0a95116f8c8817ebc5febd50e245695abf8345bdc8fa785cd2365883"}, + {file = "pyats.topology-24.6-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:619a3d5a2b7576ab1975f27b0d9c31223689cc04881d1dda85b802d34deb1fd9"}, + {file = "pyats.topology-24.6-cp312-cp312-manylinux2014_aarch64.whl", hash = "sha256:f44f867456667ffb7f6ac42642e388a335e961abe17cfd5e26f4cb3dee097f01"}, + {file = "pyats.topology-24.6-cp312-cp312-manylinux2014_x86_64.whl", hash = "sha256:072e663dc162e85cd7cfa3ca5b78a0da90127f955b35e6e9a3d4ca6d9d86fd10"}, + {file = "pyats.topology-24.6-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:aa8bc1f0578852cdb54fc99cbf4573282058b47b1f5f0ab45418bceb5a891db4"}, + {file = "pyats.topology-24.6-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:1c2c97796bee3697b0a031f27c5be95fb28f3d5ab230533968f6623461154410"}, + {file = "pyats.topology-24.6-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:e3edda530bd31f1ff90747a162318f6966d2698624611ad0d9a505eacde08c81"}, + {file = "pyats.topology-24.6-cp39-cp39-macosx_11_0_universal2.whl", hash = "sha256:e492f4786d34b43769263c035a09b05de955994f00fec26bf9195ad09b5e91d7"}, + {file = "pyats.topology-24.6-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:60243775cf8a306ccb49e6ea7fb90c823cb62cac8b44e8485e41caa09e176522"}, + {file = "pyats.topology-24.6-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:42eeed933175e7d300f973aa4dcb74d11a097957d56a2a303c6229f219a0e9da"}, + {file = "pyats.topology-24.6-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:c06e001621a2446b4d5ed610a881ef6d0acebad710e23124e845568d8c35b4f9"}, +] + +[package.dependencies] +"pyats.connections" = ">=24.6.0,<24.7.0" +"pyats.datastructures" = ">=24.6.0,<24.7.0" +"pyats.utils" = ">=24.6.0,<24.7.0" pyyaml = "*" yamllint = "*" @@ -2207,111 +2330,105 @@ dev = ["Sphinx", "sphinx-rtd-theme"] [[package]] name = "pyats-utils" -version = "23.9" +version = "24.6" description = "pyATS Utils: Utilities Module" -category = "dev" optional = false -python-versions = ">=3.5" +python-versions = ">=3.8" files = [ - {file = "pyats.utils-23.9-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:29105675ebc1a5f562eb1cc984562f4b70e35f96fd32fcc19df7ca657181b48a"}, - {file = "pyats.utils-23.9-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:d4f58f1de9095853beaa0e3c19cdf59acd332abaec662c4dcd353640d32a8b22"}, - {file = "pyats.utils-23.9-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:a8863f855261a3ea085cc0c53404f6d55646ed8b24468e31c59b838137bacd06"}, - {file = "pyats.utils-23.9-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:bf787896c5cb43a06c5a05e1e3aa9f7469f394ecee17b938a6f3842f966490db"}, - {file = "pyats.utils-23.9-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6cbba76c3bd229b730b249edee534e818a0e9dfcdb426b31c44c75431008831d"}, - {file = "pyats.utils-23.9-cp311-cp311-macosx_11_0_x86_64.whl", hash = "sha256:45ec0f183db11a5a9720911f45c47001f2376f3e02bafdc071d82a0cde7f1928"}, - {file = "pyats.utils-23.9-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:ede78cec7203c7db91f13d2cdfdefb0799f0d737ce2b4bfebd9c7c36f03ccd9c"}, - {file = "pyats.utils-23.9-cp311-cp311-manylinux2014_x86_64.whl", hash = "sha256:5e2c75d64bb20309122d19f7edf9dfb2bd0f4fe6c560e6c739b8f8749534c01b"}, - {file = "pyats.utils-23.9-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:5c4ba0c3e8218201a37c8928bd1f7371a97a2786f21eedd4e27238aba5cdcdb5"}, - {file = "pyats.utils-23.9-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:63e29c6e023a31198896c4262baea01f88d623400e2268da5252fc5d8a782e3c"}, - {file = "pyats.utils-23.9-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:9e79cca66f81b36730589f9a80d7952d3334ac07a5d266dd76fe8a39fe22a2c2"}, - {file = "pyats.utils-23.9-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:9c2064d2d3cf4a26821fcd7348f06410951f70df9c7754d08d19b72cb94b8848"}, - {file = "pyats.utils-23.9-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:064e099c94abf45d3bcd426864a59bad11fa2449f21e0dfa068e9ba35e8ed7af"}, - {file = "pyats.utils-23.9-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:527432c80f0631dd4ddd9fa7ec15a0933be1274d43ff2f1a25f7bcf5190ae547"}, - {file = "pyats.utils-23.9-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:67274d4f9cd8d908392b2901a7cc0e2925137685d6cb4535fd1ec4b034182e64"}, - {file = "pyats.utils-23.9-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:6c919503c86223848c43bf64985aceccdb9e968625f54ec18a751f6ded2628ea"}, - {file = "pyats.utils-23.9-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:99a303919272fa886fd90391af9b3d4130cc616035ce2073063fd9ae5c3cc757"}, + {file = "pyats.utils-24.6-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:2efa376a613eafc9819d43e2eec93c34305baee0b567ef3e8b912913edc64e12"}, + {file = "pyats.utils-24.6-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:d360d45f25cc43debc862348b07d445290f589e8a5be01cfc6c6a30e6e1e3fd4"}, + {file = "pyats.utils-24.6-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:f0a5f946150197d5e3803261fad5cb81282d3f63d3f3e3221410e57344202296"}, + {file = "pyats.utils-24.6-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:35562cd4cac177c4ae905bbd5e93b4bc14d57c0b20ed9f4d1582caab77a72f01"}, + {file = "pyats.utils-24.6-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:805d2575dc91f5b597973e71ffa01d5c379bee046cef9c8589650f17305017a8"}, + {file = "pyats.utils-24.6-cp311-cp311-manylinux2014_x86_64.whl", hash = "sha256:61e5b5666ad9dd4f0347bce408c834f9ad8284ede974f1a0a8e70461d6d5e2cb"}, + {file = "pyats.utils-24.6-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:aaf78973272386ef5908880aabc5810838a5a63ea7598c9f8e01ffc4fa1781b0"}, + {file = "pyats.utils-24.6-cp312-cp312-manylinux2014_aarch64.whl", hash = "sha256:2ce1f8eff9a578e68cbb6836b5a93d53228757d8952fd591c3387f0245fa3e42"}, + {file = "pyats.utils-24.6-cp312-cp312-manylinux2014_x86_64.whl", hash = "sha256:0efa8e681a59de08928bb624630578292caf055fff05acf75b47f9937d217ada"}, + {file = "pyats.utils-24.6-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:36d7cb00ce92f69fe76b10cc7d48c05d03e79e9e1828d82c28a93d7bd901a4d4"}, + {file = "pyats.utils-24.6-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:eaaca9fbdc5117345c3d8d10013cf5f21df6ae7a22a6fccd2be352c462ba31f7"}, + {file = "pyats.utils-24.6-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:f458d4c3eba902ab2c08dc2d129d51946651a742c96f25754fc1e404bed6bee6"}, + {file = "pyats.utils-24.6-cp39-cp39-macosx_11_0_universal2.whl", hash = "sha256:5b4c7d1e9113ffa73fbc3f6320a23478649bc68e345e02ee71d60bece927315e"}, + {file = "pyats.utils-24.6-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:674b0cad190acc605bbc34f080f75edd6e46761d31436fdb8996681c6484b603"}, + {file = "pyats.utils-24.6-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:b8eff9a2415f71f6ee501ae4b92cb50e380662cf06fc7fd17307868fec150a41"}, + {file = "pyats.utils-24.6-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:bf39fbd4a6f9011ec22bc15cddc134d20799587271702af30df43a7d1504fd75"}, ] [package.dependencies] cryptography = "*" distro = "*" -"pyats.datastructures" = ">=23.9.0,<23.10.0" -"pyats.topology" = ">=23.9.0,<23.10.0" +"pyats.datastructures" = ">=24.6.0,<24.7.0" +"pyats.topology" = ">=24.6.0,<24.7.0" [package.extras] dev = ["Sphinx", "requests-mock", "sphinx-rtd-theme"] [[package]] name = "pycodestyle" -version = "2.11.1" +version = "2.12.0" description = "Python style guide checker" -category = "dev" optional = false python-versions = ">=3.8" files = [ - {file = "pycodestyle-2.11.1-py2.py3-none-any.whl", hash = "sha256:44fe31000b2d866f2e41841b18528a505fbd7fef9017b04eff4e2648a0fadc67"}, - {file = "pycodestyle-2.11.1.tar.gz", hash = "sha256:41ba0e7afc9752dfb53ced5489e89f8186be00e599e712660695b7a75ff2663f"}, + {file = "pycodestyle-2.12.0-py2.py3-none-any.whl", hash = "sha256:949a39f6b86c3e1515ba1787c2022131d165a8ad271b11370a8819aa070269e4"}, + {file = "pycodestyle-2.12.0.tar.gz", hash = "sha256:442f950141b4f43df752dd303511ffded3a04c2b6fb7f65980574f0c31e6e79c"}, ] [[package]] name = "pycparser" -version = "2.21" +version = "2.22" description = "C parser in Python" -category = "main" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +python-versions = ">=3.8" files = [ - {file = "pycparser-2.21-py2.py3-none-any.whl", hash = "sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9"}, - {file = "pycparser-2.21.tar.gz", hash = "sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206"}, + {file = "pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc"}, + {file = "pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6"}, ] [[package]] name = "pycryptodomex" -version = "3.19.0" +version = "3.20.0" description = "Cryptographic library for Python" -category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" files = [ - {file = "pycryptodomex-3.19.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:ff64fd720def623bf64d8776f8d0deada1cc1bf1ec3c1f9d6f5bb5bd098d034f"}, - {file = "pycryptodomex-3.19.0-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:61056a1fd3254f6f863de94c233b30dd33bc02f8c935b2000269705f1eeeffa4"}, - {file = "pycryptodomex-3.19.0-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:258c4233a3fe5a6341780306a36c6fb072ef38ce676a6d41eec3e591347919e8"}, - {file = "pycryptodomex-3.19.0-cp27-cp27m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6e45bb4635b3c4e0a00ca9df75ef6295838c85c2ac44ad882410cb631ed1eeaa"}, - {file = "pycryptodomex-3.19.0-cp27-cp27m-musllinux_1_1_aarch64.whl", hash = "sha256:a12144d785518f6491ad334c75ccdc6ad52ea49230b4237f319dbb7cef26f464"}, - {file = "pycryptodomex-3.19.0-cp27-cp27m-win32.whl", hash = "sha256:1789d89f61f70a4cd5483d4dfa8df7032efab1118f8b9894faae03c967707865"}, - {file = "pycryptodomex-3.19.0-cp27-cp27m-win_amd64.whl", hash = "sha256:eb2fc0ec241bf5e5ef56c8fbec4a2634d631e4c4f616a59b567947a0f35ad83c"}, - {file = "pycryptodomex-3.19.0-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:c9a68a2f7bd091ccea54ad3be3e9d65eded813e6d79fdf4cc3604e26cdd6384f"}, - {file = "pycryptodomex-3.19.0-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:8df69e41f7e7015a90b94d1096ec3d8e0182e73449487306709ec27379fff761"}, - {file = "pycryptodomex-3.19.0-cp27-cp27mu-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:917033016ecc23c8933205585a0ab73e20020fdf671b7cd1be788a5c4039840b"}, - {file = "pycryptodomex-3.19.0-cp27-cp27mu-musllinux_1_1_aarch64.whl", hash = "sha256:e8e5ecbd4da4157889fce8ba49da74764dd86c891410bfd6b24969fa46edda51"}, - {file = "pycryptodomex-3.19.0-cp35-abi3-macosx_10_9_universal2.whl", hash = "sha256:a77b79852175064c822b047fee7cf5a1f434f06ad075cc9986aa1c19a0c53eb0"}, - {file = "pycryptodomex-3.19.0-cp35-abi3-macosx_10_9_x86_64.whl", hash = "sha256:5b883e1439ab63af976656446fb4839d566bb096f15fc3c06b5a99cde4927188"}, - {file = "pycryptodomex-3.19.0-cp35-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a3866d68e2fc345162b1b9b83ef80686acfe5cec0d134337f3b03950a0a8bf56"}, - {file = "pycryptodomex-3.19.0-cp35-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c74eb1f73f788facece7979ce91594dc177e1a9b5d5e3e64697dd58299e5cb4d"}, - {file = "pycryptodomex-3.19.0-cp35-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7cb51096a6a8d400724104db8a7e4f2206041a1f23e58924aa3d8d96bcb48338"}, - {file = "pycryptodomex-3.19.0-cp35-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:a588a1cb7781da9d5e1c84affd98c32aff9c89771eac8eaa659d2760666f7139"}, - {file = "pycryptodomex-3.19.0-cp35-abi3-musllinux_1_1_i686.whl", hash = "sha256:d4dd3b381ff5a5907a3eb98f5f6d32c64d319a840278ceea1dcfcc65063856f3"}, - {file = "pycryptodomex-3.19.0-cp35-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:263de9a96d2fcbc9f5bd3a279f14ea0d5f072adb68ebd324987576ec25da084d"}, - {file = "pycryptodomex-3.19.0-cp35-abi3-win32.whl", hash = "sha256:67c8eb79ab33d0fbcb56842992298ddb56eb6505a72369c20f60bc1d2b6fb002"}, - {file = "pycryptodomex-3.19.0-cp35-abi3-win_amd64.whl", hash = "sha256:09c9401dc06fb3d94cb1ec23b4ea067a25d1f4c6b7b118ff5631d0b5daaab3cc"}, - {file = "pycryptodomex-3.19.0-pp27-pypy_73-manylinux2010_x86_64.whl", hash = "sha256:edbe083c299835de7e02c8aa0885cb904a75087d35e7bab75ebe5ed336e8c3e2"}, - {file = "pycryptodomex-3.19.0-pp27-pypy_73-win32.whl", hash = "sha256:136b284e9246b4ccf4f752d435c80f2c44fc2321c198505de1d43a95a3453b3c"}, - {file = "pycryptodomex-3.19.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:5d73e9fa3fe830e7b6b42afc49d8329b07a049a47d12e0ef9225f2fd220f19b2"}, - {file = "pycryptodomex-3.19.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b2f1982c5bc311f0aab8c293524b861b485d76f7c9ab2c3ac9a25b6f7655975"}, - {file = "pycryptodomex-3.19.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bfb040b5dda1dff1e197d2ef71927bd6b8bfcb9793bc4dfe0bb6df1e691eaacb"}, - {file = "pycryptodomex-3.19.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:800a2b05cfb83654df80266692f7092eeefe2a314fa7901dcefab255934faeec"}, - {file = "pycryptodomex-3.19.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:c01678aee8ac0c1a461cbc38ad496f953f9efcb1fa19f5637cbeba7544792a53"}, - {file = "pycryptodomex-3.19.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2126bc54beccbede6eade00e647106b4f4c21e5201d2b0a73e9e816a01c50905"}, - {file = "pycryptodomex-3.19.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b801216c48c0886742abf286a9a6b117e248ca144d8ceec1f931ce2dd0c9cb40"}, - {file = "pycryptodomex-3.19.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:50cb18d4dd87571006fd2447ccec85e6cec0136632a550aa29226ba075c80644"}, - {file = "pycryptodomex-3.19.0.tar.gz", hash = "sha256:af83a554b3f077564229865c45af0791be008ac6469ef0098152139e6bd4b5b6"}, + {file = "pycryptodomex-3.20.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:645bd4ca6f543685d643dadf6a856cc382b654cc923460e3a10a49c1b3832aeb"}, + {file = "pycryptodomex-3.20.0-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:ff5c9a67f8a4fba4aed887216e32cbc48f2a6fb2673bb10a99e43be463e15913"}, + {file = "pycryptodomex-3.20.0-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:8ee606964553c1a0bc74057dd8782a37d1c2bc0f01b83193b6f8bb14523b877b"}, + {file = "pycryptodomex-3.20.0-cp27-cp27m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7805830e0c56d88f4d491fa5ac640dfc894c5ec570d1ece6ed1546e9df2e98d6"}, + {file = "pycryptodomex-3.20.0-cp27-cp27m-musllinux_1_1_aarch64.whl", hash = "sha256:bc3ee1b4d97081260d92ae813a83de4d2653206967c4a0a017580f8b9548ddbc"}, + {file = "pycryptodomex-3.20.0-cp27-cp27m-win32.whl", hash = "sha256:8af1a451ff9e123d0d8bd5d5e60f8e3315c3a64f3cdd6bc853e26090e195cdc8"}, + {file = "pycryptodomex-3.20.0-cp27-cp27m-win_amd64.whl", hash = "sha256:cbe71b6712429650e3883dc81286edb94c328ffcd24849accac0a4dbcc76958a"}, + {file = "pycryptodomex-3.20.0-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:76bd15bb65c14900d98835fcd10f59e5e0435077431d3a394b60b15864fddd64"}, + {file = "pycryptodomex-3.20.0-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:653b29b0819605fe0898829c8ad6400a6ccde096146730c2da54eede9b7b8baa"}, + {file = "pycryptodomex-3.20.0-cp27-cp27mu-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:62a5ec91388984909bb5398ea49ee61b68ecb579123694bffa172c3b0a107079"}, + {file = "pycryptodomex-3.20.0-cp27-cp27mu-musllinux_1_1_aarch64.whl", hash = "sha256:108e5f1c1cd70ffce0b68739c75734437c919d2eaec8e85bffc2c8b4d2794305"}, + {file = "pycryptodomex-3.20.0-cp35-abi3-macosx_10_9_universal2.whl", hash = "sha256:59af01efb011b0e8b686ba7758d59cf4a8263f9ad35911bfe3f416cee4f5c08c"}, + {file = "pycryptodomex-3.20.0-cp35-abi3-macosx_10_9_x86_64.whl", hash = "sha256:82ee7696ed8eb9a82c7037f32ba9b7c59e51dda6f105b39f043b6ef293989cb3"}, + {file = "pycryptodomex-3.20.0-cp35-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:91852d4480a4537d169c29a9d104dda44094c78f1f5b67bca76c29a91042b623"}, + {file = "pycryptodomex-3.20.0-cp35-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bca649483d5ed251d06daf25957f802e44e6bb6df2e8f218ae71968ff8f8edc4"}, + {file = "pycryptodomex-3.20.0-cp35-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6e186342cfcc3aafaad565cbd496060e5a614b441cacc3995ef0091115c1f6c5"}, + {file = "pycryptodomex-3.20.0-cp35-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:25cd61e846aaab76d5791d006497134602a9e451e954833018161befc3b5b9ed"}, + {file = "pycryptodomex-3.20.0-cp35-abi3-musllinux_1_1_i686.whl", hash = "sha256:9c682436c359b5ada67e882fec34689726a09c461efd75b6ea77b2403d5665b7"}, + {file = "pycryptodomex-3.20.0-cp35-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:7a7a8f33a1f1fb762ede6cc9cbab8f2a9ba13b196bfaf7bc6f0b39d2ba315a43"}, + {file = "pycryptodomex-3.20.0-cp35-abi3-win32.whl", hash = "sha256:c39778fd0548d78917b61f03c1fa8bfda6cfcf98c767decf360945fe6f97461e"}, + {file = "pycryptodomex-3.20.0-cp35-abi3-win_amd64.whl", hash = "sha256:2a47bcc478741b71273b917232f521fd5704ab4b25d301669879e7273d3586cc"}, + {file = "pycryptodomex-3.20.0-pp27-pypy_73-manylinux2010_x86_64.whl", hash = "sha256:1be97461c439a6af4fe1cf8bf6ca5936d3db252737d2f379cc6b2e394e12a458"}, + {file = "pycryptodomex-3.20.0-pp27-pypy_73-win32.whl", hash = "sha256:19764605feea0df966445d46533729b645033f134baeb3ea26ad518c9fdf212c"}, + {file = "pycryptodomex-3.20.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:f2e497413560e03421484189a6b65e33fe800d3bd75590e6d78d4dfdb7accf3b"}, + {file = "pycryptodomex-3.20.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e48217c7901edd95f9f097feaa0388da215ed14ce2ece803d3f300b4e694abea"}, + {file = "pycryptodomex-3.20.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d00fe8596e1cc46b44bf3907354e9377aa030ec4cd04afbbf6e899fc1e2a7781"}, + {file = "pycryptodomex-3.20.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:88afd7a3af7ddddd42c2deda43d53d3dfc016c11327d0915f90ca34ebda91499"}, + {file = "pycryptodomex-3.20.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:d3584623e68a5064a04748fb6d76117a21a7cb5eaba20608a41c7d0c61721794"}, + {file = "pycryptodomex-3.20.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0daad007b685db36d977f9de73f61f8da2a7104e20aca3effd30752fd56f73e1"}, + {file = "pycryptodomex-3.20.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5dcac11031a71348faaed1f403a0debd56bf5404232284cf8c761ff918886ebc"}, + {file = "pycryptodomex-3.20.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:69138068268127cd605e03438312d8f271135a33140e2742b417d027a0539427"}, + {file = "pycryptodomex-3.20.0.tar.gz", hash = "sha256:7a710b79baddd65b806402e14766c721aee8fb83381769c27920f26476276c1e"}, ] [[package]] name = "pydocstyle" version = "6.3.0" description = "Python docstring style checker" -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -2327,25 +2444,23 @@ toml = ["tomli (>=1.2.3)"] [[package]] name = "pyflakes" -version = "2.4.0" +version = "3.2.0" description = "passive checker of Python programs" -category = "dev" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +python-versions = ">=3.8" files = [ - {file = "pyflakes-2.4.0-py2.py3-none-any.whl", hash = "sha256:3bb3a3f256f4b7968c9c788781e4ff07dce46bdf12339dcda61053375426ee2e"}, - {file = "pyflakes-2.4.0.tar.gz", hash = "sha256:05a85c2872edf37a4ed30b0cce2f6093e1d0581f8c19d7393122da7e25b2b24c"}, + {file = "pyflakes-3.2.0-py2.py3-none-any.whl", hash = "sha256:84b5be138a2dfbb40689ca07e2152deb896a65c3a3e24c251c5c62489568074a"}, + {file = "pyflakes-3.2.0.tar.gz", hash = "sha256:1c61603ff154621fb2a9172037d84dca3500def8c8b630657d1701f026f8af3f"}, ] [[package]] name = "pyftpdlib" -version = "1.5.9" +version = "1.5.10" description = "Very fast asynchronous FTP server library" -category = "dev" optional = false python-versions = "*" files = [ - {file = "pyftpdlib-1.5.9.tar.gz", hash = "sha256:323d4c42f1406aedb4df18faf680f64f32c080ff66f6c26090ba592f5bfc4a0f"}, + {file = "pyftpdlib-1.5.10.tar.gz", hash = "sha256:8dbdeb1215bcba2fb748dae31ffdb1ab008540c28d13b3704e178f368a087128"}, ] [package.extras] @@ -2353,36 +2468,34 @@ ssl = ["PyOpenSSL"] [[package]] name = "pygments" -version = "2.16.1" +version = "2.18.0" description = "Pygments is a syntax highlighting package written in Python." -category = "dev" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "Pygments-2.16.1-py3-none-any.whl", hash = "sha256:13fc09fa63bc8d8671a6d247e1eb303c4b343eaee81d861f3404db2935653692"}, - {file = "Pygments-2.16.1.tar.gz", hash = "sha256:1daff0494820c69bc8941e407aa20f577374ee88364ee10a98fdbe0aece96e29"}, + {file = "pygments-2.18.0-py3-none-any.whl", hash = "sha256:b8e6aca0523f3ab76fee51799c488e38782ac06eafcf95e7ba832985c8e7b13a"}, + {file = "pygments-2.18.0.tar.gz", hash = "sha256:786ff802f32e91311bff3889f6e9a86e81505fe99f2735bb6d60ae0c5004f199"}, ] [package.extras] -plugins = ["importlib-metadata"] +windows-terminal = ["colorama (>=0.4.6)"] [[package]] name = "pylama" -version = "8.3.8" +version = "8.4.1" description = "Code audit tool for python" -category = "dev" optional = false python-versions = ">=3.7" files = [ - {file = "pylama-8.3.8-py3-none-any.whl", hash = "sha256:aff89423f7de118713f638c7f937fa83a5873e3bdf06d413661d9cb8dc5f3a7b"}, - {file = "pylama-8.3.8.tar.gz", hash = "sha256:2dd852fe9312ea6012466cf17ff179668fc3d2716856fcfaaee8ce7876d83620"}, + {file = "pylama-8.4.1-py3-none-any.whl", hash = "sha256:5bbdbf5b620aba7206d688ed9fc917ecd3d73e15ec1a89647037a09fa3a86e60"}, + {file = "pylama-8.4.1.tar.gz", hash = "sha256:2d4f7aecfb5b7466216d48610c7d6bad1c3990c29cdd392ad08259b161e486f6"}, ] [package.dependencies] -mccabe = ">=0.6.1" -pycodestyle = ">=2.8.0" +mccabe = ">=0.7.0" +pycodestyle = ">=2.9.1" pydocstyle = ">=6.1.1" -pyflakes = ">=2.4.0" +pyflakes = ">=2.5.0" [package.extras] all = ["eradicate", "mypy", "pylint", "radon", "vulture"] @@ -2390,14 +2503,14 @@ eradicate = ["eradicate"] mypy = ["mypy"] pylint = ["pylint"] radon = ["radon"] -tests = ["eradicate (>=2.0.0)", "mypy", "pylama-quotes", "pylint (>=2.11.1)", "pytest", "pytest-mypy", "radon (>=5.1.0)", "types-setuptools", "vulture"] +tests = ["eradicate (>=2.0.0)", "mypy", "pylama-quotes", "pylint (>=2.11.1)", "pytest (>=7.1.2)", "pytest-mypy", "radon (>=5.1.0)", "toml", "types-setuptools", "types-toml", "vulture"] +toml = ["toml (>=0.10.2)"] vulture = ["vulture"] [[package]] name = "pynacl" version = "1.5.0" description = "Python binding to the Networking and Cryptography (NaCl) library" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -2424,7 +2537,6 @@ tests = ["hypothesis (>=3.27.0)", "pytest (>=3.2.1,!=3.3.0)"] name = "pyserial" version = "3.5" description = "Python Serial Port Extension" -category = "main" optional = false python-versions = "*" files = [ @@ -2439,7 +2551,6 @@ cp2110 = ["hidapi"] name = "pysmi" version = "0.3.4" description = "SNMP SMI/MIB Parser" -category = "dev" optional = false python-versions = "*" files = [ @@ -2452,17 +2563,17 @@ ply = "*" [[package]] name = "pysmi-lextudio" -version = "1.1.13" +version = "1.4.3" description = "A pure-Python implementation of SNMP/SMI MIB parsing and conversion library." -category = "dev" optional = false -python-versions = ">=3.7,<4.0" +python-versions = "<4.0,>=3.8" files = [ - {file = "pysmi_lextudio-1.1.13-py3-none-any.whl", hash = "sha256:d4518b2747b49fbcda191a29acebe4408bdf6f5011945152fe306e6fdef916bd"}, - {file = "pysmi_lextudio-1.1.13.tar.gz", hash = "sha256:749fc6c7e139bcdc821ed2430eb8b113cd51266241e97be7f6aa401c319bab69"}, + {file = "pysmi_lextudio-1.4.3-py3-none-any.whl", hash = "sha256:cb629c6386a30c976f83c29fc71e53b06d60f15094d0c0114cf8d095351b76e5"}, + {file = "pysmi_lextudio-1.4.3.tar.gz", hash = "sha256:7d255fb38669410835acf6c2e8ab41975a6d8e64593b119552e36ecba004054f"}, ] [package.dependencies] +Jinja2 = ">=3.1.3,<4.0.0" ply = ">=3.11,<4.0" requests = ">=2.26.0,<3.0.0" @@ -2470,7 +2581,6 @@ requests = ">=2.26.0,<3.0.0" name = "pysnmp" version = "4.4.12" description = "SNMP library for Python" -category = "dev" optional = false python-versions = "*" files = [ @@ -2487,7 +2597,6 @@ pysmi = "*" name = "pysnmp-lextudio" version = "5.0.29" description = "" -category = "dev" optional = false python-versions = ">=3.7,<4.0" files = [ @@ -2504,7 +2613,6 @@ pysnmpcrypto = ">=0.0.4,<0.0.5" name = "pysnmpcrypto" version = "0.0.4" description = "Strong cryptography support for PySNMP (SNMP library for Python)" -category = "dev" optional = false python-versions = "*" files = [ @@ -2517,34 +2625,30 @@ cryptography = {version = "*", markers = "python_version >= \"3.4\""} [[package]] name = "pytest" -version = "7.1.2" +version = "8.2.2" description = "pytest: simple powerful testing with Python" -category = "dev" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "pytest-7.1.2-py3-none-any.whl", hash = "sha256:13d0e3ccfc2b6e26be000cb6568c832ba67ba32e719443bfe725814d3c42433c"}, - {file = "pytest-7.1.2.tar.gz", hash = "sha256:a06a0425453864a270bc45e71f783330a7428defb4230fb5e6a731fde06ecd45"}, + {file = "pytest-8.2.2-py3-none-any.whl", hash = "sha256:c434598117762e2bd304e526244f67bf66bbd7b5d6cf22138be51ff661980343"}, + {file = "pytest-8.2.2.tar.gz", hash = "sha256:de4bb8104e201939ccdc688b27a89a7be2079b22e2bd2b07f806b6ba71117977"}, ] [package.dependencies] -atomicwrites = {version = ">=1.0", markers = "sys_platform == \"win32\""} -attrs = ">=19.2.0" colorama = {version = "*", markers = "sys_platform == \"win32\""} +exceptiongroup = {version = ">=1.0.0rc8", markers = "python_version < \"3.11\""} iniconfig = "*" packaging = "*" -pluggy = ">=0.12,<2.0" -py = ">=1.8.2" -tomli = ">=1.0.0" +pluggy = ">=1.5,<2.0" +tomli = {version = ">=1", markers = "python_version < \"3.11\""} [package.extras] -testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2.7.2)", "requests", "xmlschema"] +dev = ["argcomplete", "attrs (>=19.2)", "hypothesis (>=3.56)", "mock", "pygments (>=2.7.2)", "requests", "setuptools", "xmlschema"] [[package]] name = "python-engineio" version = "3.14.2" description = "Engine.IO server" -category = "dev" optional = false python-versions = "*" files = [ @@ -2563,7 +2667,6 @@ client = ["requests (>=2.21.0)", "websocket-client (>=0.54.0)"] name = "python-socketio" version = "4.6.1" description = "Socket.IO server" -category = "dev" optional = false python-versions = "*" files = [ @@ -2579,11 +2682,21 @@ six = ">=1.9.0" asyncio-client = ["aiohttp (>=3.4)", "websockets (>=7.0)"] client = ["requests (>=2.21.0)", "websocket-client (>=0.54.0)"] +[[package]] +name = "pywin32-ctypes" +version = "0.2.2" +description = "A (partial) reimplementation of pywin32 using ctypes/cffi" +optional = false +python-versions = ">=3.6" +files = [ + {file = "pywin32-ctypes-0.2.2.tar.gz", hash = "sha256:3426e063bdd5fd4df74a14fa3cf80a0b42845a87e1d1e81f6549f9daec593a60"}, + {file = "pywin32_ctypes-0.2.2-py3-none-any.whl", hash = "sha256:bf490a1a709baf35d688fe0ecf980ed4de11d2b3e37b51e5442587a75d9957e7"}, +] + [[package]] name = "pyyaml" version = "6.0.1" description = "YAML parser and emitter for Python" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -2592,6 +2705,7 @@ files = [ {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938"}, {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d"}, {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba336e390cd8e4d1739f42dfe9bb83a3cc2e80f567d8805e11b46f4a943f5515"}, + {file = "PyYAML-6.0.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:326c013efe8048858a6d312ddd31d56e468118ad4cdeda36c719bf5bb6192290"}, {file = "PyYAML-6.0.1-cp310-cp310-win32.whl", hash = "sha256:bd4af7373a854424dabd882decdc5579653d7868b8fb26dc7d0e99f823aa5924"}, {file = "PyYAML-6.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d"}, {file = "PyYAML-6.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007"}, @@ -2599,8 +2713,16 @@ files = [ {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d"}, {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc"}, {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673"}, + {file = "PyYAML-6.0.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e7d73685e87afe9f3b36c799222440d6cf362062f78be1013661b00c5c6f678b"}, {file = "PyYAML-6.0.1-cp311-cp311-win32.whl", hash = "sha256:1635fd110e8d85d55237ab316b5b011de701ea0f29d07611174a1b42f1444741"}, {file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"}, + {file = "PyYAML-6.0.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28"}, + {file = "PyYAML-6.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9"}, + {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a08c6f0fe150303c1c6b71ebcd7213c2858041a7e01975da3a99aed1e7a378ef"}, + {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0"}, + {file = "PyYAML-6.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4"}, + {file = "PyYAML-6.0.1-cp312-cp312-win32.whl", hash = "sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54"}, + {file = "PyYAML-6.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:0d3304d8c0adc42be59c5f8a4d9e3d7379e6955ad754aa9d6ab7a398b59dd1df"}, {file = "PyYAML-6.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50550eb667afee136e9a77d6dc71ae76a44df8b3e51e41b77f6de2932bfe0f47"}, {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1fe35611261b29bd1de0070f0b2f47cb6ff71fa6595c077e42bd0c419fa27b98"}, {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:704219a11b772aea0d8ecd7058d0082713c3562b4e271b849ad7dc4a5c90c13c"}, @@ -2617,6 +2739,7 @@ files = [ {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5"}, {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28c119d996beec18c05208a8bd78cbe4007878c6dd15091efb73a30e90539696"}, {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e07cbde391ba96ab58e532ff4803f79c4129397514e1413a7dc761ccd755735"}, + {file = "PyYAML-6.0.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:49a183be227561de579b4a36efbb21b3eab9651dd81b1858589f796549873dd6"}, {file = "PyYAML-6.0.1-cp38-cp38-win32.whl", hash = "sha256:184c5108a2aca3c5b3d3bf9395d50893a7ab82a38004c8f61c258d4428e80206"}, {file = "PyYAML-6.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:1e2722cc9fbb45d9b87631ac70924c11d3a401b2d7f410cc0e3bbf249f2dca62"}, {file = "PyYAML-6.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8"}, @@ -2624,6 +2747,7 @@ files = [ {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5773183b6446b2c99bb77e77595dd486303b4faab2b086e7b17bc6bef28865f6"}, {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b786eecbdf8499b9ca1d697215862083bd6d2a99965554781d0d8d1ad31e13a0"}, {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc1bf2925a1ecd43da378f4db9e4f799775d6367bdb94671027b73b393a7c42c"}, + {file = "PyYAML-6.0.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:04ac92ad1925b2cff1db0cfebffb6ffc43457495c9b3c39d3fcae417d7125dc5"}, {file = "PyYAML-6.0.1-cp39-cp39-win32.whl", hash = "sha256:faca3bdcf85b2fc05d06ff3fbc1f83e1391b3e724afa3feba7d13eeab355484c"}, {file = "PyYAML-6.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:510c9deebc5c0225e8c96813043e62b680ba2f9c50a08d3724c7f28a747d1486"}, {file = "PyYAML-6.0.1.tar.gz", hash = "sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43"}, @@ -2631,14 +2755,13 @@ files = [ [[package]] name = "readme-renderer" -version = "42.0" +version = "43.0" description = "readme_renderer is a library for rendering readme descriptions for Warehouse" -category = "dev" optional = false python-versions = ">=3.8" files = [ - {file = "readme_renderer-42.0-py3-none-any.whl", hash = "sha256:13d039515c1f24de668e2c93f2e877b9dbe6c6c32328b90a40a49d8b2b85f36d"}, - {file = "readme_renderer-42.0.tar.gz", hash = "sha256:2d55489f83be4992fe4454939d1a051c33edbab778e82761d060c9fc6b308cd1"}, + {file = "readme_renderer-43.0-py3-none-any.whl", hash = "sha256:19db308d86ecd60e5affa3b2a98f017af384678c63c88e5d4556a380e674f3f9"}, + {file = "readme_renderer-43.0.tar.gz", hash = "sha256:1818dd28140813509eeed8d62687f7cd4f7bad90d4db586001c5dc09d4fde311"}, ] [package.dependencies] @@ -2651,14 +2774,13 @@ md = ["cmarkgfm (>=0.8.0)"] [[package]] name = "requests" -version = "2.31.0" +version = "2.32.3" description = "Python HTTP for Humans." -category = "dev" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "requests-2.31.0-py3-none-any.whl", hash = "sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f"}, - {file = "requests-2.31.0.tar.gz", hash = "sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1"}, + {file = "requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6"}, + {file = "requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760"}, ] [package.dependencies] @@ -2675,7 +2797,6 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] name = "requests-toolbelt" version = "1.0.0" description = "A utility belt for advanced users of python-requests" -category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -2688,13 +2809,12 @@ requests = ">=2.0.1,<3.0.0" [[package]] name = "rest-connector" -version = "23.9" +version = "24.6" description = "pyATS REST connection package" -category = "dev" optional = false python-versions = "*" files = [ - {file = "rest.connector-23.9-py3-none-any.whl", hash = "sha256:b5304b2c6b70ac9815f24535ae252d9024c5ac243b50d7865f25579772bd6e05"}, + {file = "rest.connector-24.6-py3-none-any.whl", hash = "sha256:ef7aef50d1fee0e419a21ba182b1f7cb85878f5c2b43b936e9e4fcf82deef5bc"}, ] [package.dependencies] @@ -2705,16 +2825,48 @@ requests = ">=1.15.1" [package.extras] dev = ["Sphinx", "coverage", "requests-mock", "restview", "sphinx-rtd-theme"] +[[package]] +name = "rfc3986" +version = "2.0.0" +description = "Validating URI References per RFC 3986" +optional = false +python-versions = ">=3.7" +files = [ + {file = "rfc3986-2.0.0-py2.py3-none-any.whl", hash = "sha256:50b1502b60e289cb37883f3dfd34532b8873c7de9f49bb546641ce9cbd256ebd"}, + {file = "rfc3986-2.0.0.tar.gz", hash = "sha256:97aacf9dbd4bfd829baad6e6309fa6573aaf1be3f6fa735c8ab05e46cecb261c"}, +] + +[package.extras] +idna2008 = ["idna"] + +[[package]] +name = "rich" +version = "13.7.1" +description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal" +optional = false +python-versions = ">=3.7.0" +files = [ + {file = "rich-13.7.1-py3-none-any.whl", hash = "sha256:4edbae314f59eb482f54e9e30bf00d33350aaa94f4bfcd4e9e3110e64d0d7222"}, + {file = "rich-13.7.1.tar.gz", hash = "sha256:9be308cb1fe2f1f57d67ce99e95af38a1e2bc71ad9813b0e247cf7ffbcc3a432"}, +] + +[package.dependencies] +markdown-it-py = ">=2.2.0" +pygments = ">=2.13.0,<3.0.0" +typing-extensions = {version = ">=4.0.0,<5.0", markers = "python_version < \"3.9\""} + +[package.extras] +jupyter = ["ipywidgets (>=7.5.1,<9)"] + [[package]] name = "ruamel-yaml" -version = "0.18.2" +version = "0.18.6" description = "ruamel.yaml is a YAML parser/emitter that supports roundtrip preservation of comments, seq/map flow style, and map key order" -category = "dev" optional = false -python-versions = ">=3" +python-versions = ">=3.7" files = [ - {file = "ruamel.yaml-0.18.2-py3-none-any.whl", hash = "sha256:92076ac8a83dbf44ca661dbed3c935229c8cbc2f10b05959dd3bd5292d8353d3"}, - {file = "ruamel.yaml-0.18.2.tar.gz", hash = "sha256:9bce33f7a814cea4c29a9c62fe872d2363d6220b767891d956eacea8fa5e6fe8"}, + {file = "ruamel.yaml-0.18.6-py3-none-any.whl", hash = "sha256:57b53ba33def16c4f3d807c0ccbc00f8a6081827e81ba2491691b76882d0c636"}, + {file = "ruamel.yaml-0.18.6.tar.gz", hash = "sha256:8b27e6a217e786c6fbe5634d8f3f11bc63e0f80f6a5890f28863d9c45aac311b"}, ] [package.dependencies] @@ -2728,30 +2880,29 @@ jinja2 = ["ruamel.yaml.jinja2 (>=0.2)"] name = "ruamel-yaml-clib" version = "0.2.8" description = "C version of reader, parser and emitter for ruamel.yaml derived from libyaml" -category = "dev" optional = false python-versions = ">=3.6" files = [ {file = "ruamel.yaml.clib-0.2.8-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:b42169467c42b692c19cf539c38d4602069d8c1505e97b86387fcf7afb766e1d"}, {file = "ruamel.yaml.clib-0.2.8-cp310-cp310-macosx_13_0_arm64.whl", hash = "sha256:07238db9cbdf8fc1e9de2489a4f68474e70dffcb32232db7c08fa61ca0c7c462"}, - {file = "ruamel.yaml.clib-0.2.8-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:d92f81886165cb14d7b067ef37e142256f1c6a90a65cd156b063a43da1708cfd"}, {file = "ruamel.yaml.clib-0.2.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:fff3573c2db359f091e1589c3d7c5fc2f86f5bdb6f24252c2d8e539d4e45f412"}, + {file = "ruamel.yaml.clib-0.2.8-cp310-cp310-manylinux_2_24_aarch64.whl", hash = "sha256:aa2267c6a303eb483de8d02db2871afb5c5fc15618d894300b88958f729ad74f"}, {file = "ruamel.yaml.clib-0.2.8-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:840f0c7f194986a63d2c2465ca63af8ccbbc90ab1c6001b1978f05119b5e7334"}, {file = "ruamel.yaml.clib-0.2.8-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:024cfe1fc7c7f4e1aff4a81e718109e13409767e4f871443cbff3dba3578203d"}, {file = "ruamel.yaml.clib-0.2.8-cp310-cp310-win32.whl", hash = "sha256:c69212f63169ec1cfc9bb44723bf2917cbbd8f6191a00ef3410f5a7fe300722d"}, {file = "ruamel.yaml.clib-0.2.8-cp310-cp310-win_amd64.whl", hash = "sha256:cabddb8d8ead485e255fe80429f833172b4cadf99274db39abc080e068cbcc31"}, {file = "ruamel.yaml.clib-0.2.8-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:bef08cd86169d9eafb3ccb0a39edb11d8e25f3dae2b28f5c52fd997521133069"}, {file = "ruamel.yaml.clib-0.2.8-cp311-cp311-macosx_13_0_arm64.whl", hash = "sha256:b16420e621d26fdfa949a8b4b47ade8810c56002f5389970db4ddda51dbff248"}, - {file = "ruamel.yaml.clib-0.2.8-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:b5edda50e5e9e15e54a6a8a0070302b00c518a9d32accc2346ad6c984aacd279"}, {file = "ruamel.yaml.clib-0.2.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:25c515e350e5b739842fc3228d662413ef28f295791af5e5110b543cf0b57d9b"}, + {file = "ruamel.yaml.clib-0.2.8-cp311-cp311-manylinux_2_24_aarch64.whl", hash = "sha256:1707814f0d9791df063f8c19bb51b0d1278b8e9a2353abbb676c2f685dee6afe"}, {file = "ruamel.yaml.clib-0.2.8-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:46d378daaac94f454b3a0e3d8d78cafd78a026b1d71443f4966c696b48a6d899"}, {file = "ruamel.yaml.clib-0.2.8-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:09b055c05697b38ecacb7ac50bdab2240bfca1a0c4872b0fd309bb07dc9aa3a9"}, {file = "ruamel.yaml.clib-0.2.8-cp311-cp311-win32.whl", hash = "sha256:53a300ed9cea38cf5a2a9b069058137c2ca1ce658a874b79baceb8f892f915a7"}, {file = "ruamel.yaml.clib-0.2.8-cp311-cp311-win_amd64.whl", hash = "sha256:c2a72e9109ea74e511e29032f3b670835f8a59bbdc9ce692c5b4ed91ccf1eedb"}, {file = "ruamel.yaml.clib-0.2.8-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:ebc06178e8821efc9692ea7544aa5644217358490145629914d8020042c24aa1"}, {file = "ruamel.yaml.clib-0.2.8-cp312-cp312-macosx_13_0_arm64.whl", hash = "sha256:edaef1c1200c4b4cb914583150dcaa3bc30e592e907c01117c08b13a07255ec2"}, - {file = "ruamel.yaml.clib-0.2.8-cp312-cp312-manylinux2014_aarch64.whl", hash = "sha256:7048c338b6c86627afb27faecf418768acb6331fc24cfa56c93e8c9780f815fa"}, {file = "ruamel.yaml.clib-0.2.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d176b57452ab5b7028ac47e7b3cf644bcfdc8cacfecf7e71759f7f51a59e5c92"}, + {file = "ruamel.yaml.clib-0.2.8-cp312-cp312-manylinux_2_24_aarch64.whl", hash = "sha256:1dc67314e7e1086c9fdf2680b7b6c2be1c0d8e3a8279f2e993ca2a7545fecf62"}, {file = "ruamel.yaml.clib-0.2.8-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:3213ece08ea033eb159ac52ae052a4899b56ecc124bb80020d9bbceeb50258e9"}, {file = "ruamel.yaml.clib-0.2.8-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:aab7fd643f71d7946f2ee58cc88c9b7bfc97debd71dcc93e03e2d174628e7e2d"}, {file = "ruamel.yaml.clib-0.2.8-cp312-cp312-win32.whl", hash = "sha256:5c365d91c88390c8d0a8545df0b5857172824b1c604e867161e6b3d59a827eaa"}, @@ -2759,7 +2910,7 @@ files = [ {file = "ruamel.yaml.clib-0.2.8-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:a5aa27bad2bb83670b71683aae140a1f52b0857a2deff56ad3f6c13a017a26ed"}, {file = "ruamel.yaml.clib-0.2.8-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c58ecd827313af6864893e7af0a3bb85fd529f862b6adbefe14643947cfe2942"}, {file = "ruamel.yaml.clib-0.2.8-cp37-cp37m-macosx_12_0_arm64.whl", hash = "sha256:f481f16baec5290e45aebdc2a5168ebc6d35189ae6fea7a58787613a25f6e875"}, - {file = "ruamel.yaml.clib-0.2.8-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:3fcc54cb0c8b811ff66082de1680b4b14cf8a81dce0d4fbf665c2265a81e07a1"}, + {file = "ruamel.yaml.clib-0.2.8-cp37-cp37m-manylinux_2_24_aarch64.whl", hash = "sha256:77159f5d5b5c14f7c34073862a6b7d34944075d9f93e681638f6d753606c6ce6"}, {file = "ruamel.yaml.clib-0.2.8-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:7f67a1ee819dc4562d444bbafb135832b0b909f81cc90f7aa00260968c9ca1b3"}, {file = "ruamel.yaml.clib-0.2.8-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:4ecbf9c3e19f9562c7fdd462e8d18dd902a47ca046a2e64dba80699f0b6c09b7"}, {file = "ruamel.yaml.clib-0.2.8-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:87ea5ff66d8064301a154b3933ae406b0863402a799b16e4a1d24d9fbbcbe0d3"}, @@ -2767,7 +2918,7 @@ files = [ {file = "ruamel.yaml.clib-0.2.8-cp37-cp37m-win_amd64.whl", hash = "sha256:3f215c5daf6a9d7bbed4a0a4f760f3113b10e82ff4c5c44bec20a68c8014f675"}, {file = "ruamel.yaml.clib-0.2.8-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1b617618914cb00bf5c34d4357c37aa15183fa229b24767259657746c9077615"}, {file = "ruamel.yaml.clib-0.2.8-cp38-cp38-macosx_12_0_arm64.whl", hash = "sha256:a6a9ffd280b71ad062eae53ac1659ad86a17f59a0fdc7699fd9be40525153337"}, - {file = "ruamel.yaml.clib-0.2.8-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:665f58bfd29b167039f714c6998178d27ccd83984084c286110ef26b230f259f"}, + {file = "ruamel.yaml.clib-0.2.8-cp38-cp38-manylinux_2_24_aarch64.whl", hash = "sha256:305889baa4043a09e5b76f8e2a51d4ffba44259f6b4c72dec8ca56207d9c6fe1"}, {file = "ruamel.yaml.clib-0.2.8-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:700e4ebb569e59e16a976857c8798aee258dceac7c7d6b50cab63e080058df91"}, {file = "ruamel.yaml.clib-0.2.8-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:e2b4c44b60eadec492926a7270abb100ef9f72798e18743939bdbf037aab8c28"}, {file = "ruamel.yaml.clib-0.2.8-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:e79e5db08739731b0ce4850bed599235d601701d5694c36570a99a0c5ca41a9d"}, @@ -2775,7 +2926,7 @@ files = [ {file = "ruamel.yaml.clib-0.2.8-cp38-cp38-win_amd64.whl", hash = "sha256:56f4252222c067b4ce51ae12cbac231bce32aee1d33fbfc9d17e5b8d6966c312"}, {file = "ruamel.yaml.clib-0.2.8-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:03d1162b6d1df1caa3a4bd27aa51ce17c9afc2046c31b0ad60a0a96ec22f8001"}, {file = "ruamel.yaml.clib-0.2.8-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:bba64af9fa9cebe325a62fa398760f5c7206b215201b0ec825005f1b18b9bccf"}, - {file = "ruamel.yaml.clib-0.2.8-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:9eb5dee2772b0f704ca2e45b1713e4e5198c18f515b52743576d196348f374d3"}, + {file = "ruamel.yaml.clib-0.2.8-cp39-cp39-manylinux_2_24_aarch64.whl", hash = "sha256:a1a45e0bb052edf6a1d3a93baef85319733a888363938e1fc9924cb00c8df24c"}, {file = "ruamel.yaml.clib-0.2.8-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:da09ad1c359a728e112d60116f626cc9f29730ff3e0e7db72b9a2dbc2e4beed5"}, {file = "ruamel.yaml.clib-0.2.8-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:184565012b60405d93838167f425713180b949e9d8dd0bbc7b49f074407c5a8b"}, {file = "ruamel.yaml.clib-0.2.8-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a75879bacf2c987c003368cf14bed0ffe99e8e85acfa6c0bfffc21a090f16880"}, @@ -2786,41 +2937,52 @@ files = [ [[package]] name = "scp" -version = "0.14.5" +version = "0.15.0" description = "scp module for paramiko" -category = "main" optional = false python-versions = "*" files = [ - {file = "scp-0.14.5-py2.py3-none-any.whl", hash = "sha256:d224535dd8ed00294f52b0e0e18fde7a6fb7a3d06b97ede9e3f750fa7bf75c09"}, - {file = "scp-0.14.5.tar.gz", hash = "sha256:64f0015899b3d212cb8088e7d40ebaf0686889ff0e243d5c1242efe8b50f053e"}, + {file = "scp-0.15.0-py2.py3-none-any.whl", hash = "sha256:9e7f721e5ac563c33eb0831d0f949c6342f1c28c3bdc3b02f39d77b5ea20df7e"}, + {file = "scp-0.15.0.tar.gz", hash = "sha256:f1b22e9932123ccf17eebf19e0953c6e9148f589f93d91b872941a696305c83f"}, ] [package.dependencies] paramiko = "*" +[[package]] +name = "secretstorage" +version = "3.3.3" +description = "Python bindings to FreeDesktop.org Secret Service API" +optional = false +python-versions = ">=3.6" +files = [ + {file = "SecretStorage-3.3.3-py3-none-any.whl", hash = "sha256:f356e6628222568e3af06f2eba8df495efa13b3b63081dafd4f7d9a7b7bc9f99"}, + {file = "SecretStorage-3.3.3.tar.gz", hash = "sha256:2403533ef369eca6d2ba81718576c5e0f564d5cca1b58f73a8b23e7d4eeebd77"}, +] + +[package.dependencies] +cryptography = ">=2.0" +jeepney = ">=0.6" + [[package]] name = "setuptools" -version = "68.2.2" +version = "70.2.0" description = "Easily download, build, install, upgrade, and uninstall Python packages" -category = "dev" optional = false python-versions = ">=3.8" files = [ - {file = "setuptools-68.2.2-py3-none-any.whl", hash = "sha256:b454a35605876da60632df1a60f736524eb73cc47bbc9f3f1ef1b644de74fd2a"}, - {file = "setuptools-68.2.2.tar.gz", hash = "sha256:4ac1475276d2f1c48684874089fefcd83bd7162ddaafb81fac866ba0db282a87"}, + {file = "setuptools-70.2.0-py3-none-any.whl", hash = "sha256:b8b8060bb426838fbe942479c90296ce976249451118ef566a5a0b7d8b78fb05"}, + {file = "setuptools-70.2.0.tar.gz", hash = "sha256:bd63e505105011b25c3c11f753f7e3b8465ea739efddaccef8f0efac2137bac1"}, ] [package.extras] -docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-hoverxref (<2)", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier"] -testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pip (>=19.1)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-ruff", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] -testing-integration = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "packaging (>=23.1)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"] +doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "pyproject-hooks (!=1.1)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier"] +test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "importlib-metadata", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "jaraco.test", "mypy (==1.10.0)", "packaging (>=23.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-home (>=0.5)", "pytest-mypy", "pytest-perf", "pytest-ruff (>=0.3.2)", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] [[package]] name = "six" version = "1.16.0" description = "Python 2 and 3 compatibility utilities" -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" files = [ @@ -2832,7 +2994,6 @@ files = [ name = "smmap" version = "5.0.1" description = "A pure Python implementation of a sliding window memory map manager" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -2844,7 +3005,6 @@ files = [ name = "snowballstemmer" version = "2.2.0" description = "This package provides 29 stemmers for 28 languages generated from Snowball algorithms." -category = "dev" optional = false python-versions = "*" files = [ @@ -2856,7 +3016,6 @@ files = [ name = "textfsm" version = "1.1.3" description = "Python module for parsing semi-structured text into python tables." -category = "main" optional = false python-versions = "*" files = [ @@ -2872,7 +3031,6 @@ six = "*" name = "tftpy" version = "0.8.0" description = "Python TFTP library" -category = "dev" optional = false python-versions = ">=2.7" files = [ @@ -2883,7 +3041,6 @@ files = [ name = "tomli" version = "2.0.1" description = "A lil' TOML parser" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -2893,14 +3050,13 @@ files = [ [[package]] name = "tqdm" -version = "4.66.1" +version = "4.66.4" description = "Fast, Extensible Progress Meter" -category = "dev" optional = false python-versions = ">=3.7" files = [ - {file = "tqdm-4.66.1-py3-none-any.whl", hash = "sha256:d302b3c5b53d47bce91fea46679d9c3c6508cf6332229aa1e7d8653723793386"}, - {file = "tqdm-4.66.1.tar.gz", hash = "sha256:d88e651f9db8d8551a62556d3cff9e3034274ca5d66e93197cf2490e2dcb69c7"}, + {file = "tqdm-4.66.4-py3-none-any.whl", hash = "sha256:b75ca56b413b030bc3f00af51fd2c1a1a5eac6a0c1cca83cbb37a5c52abce644"}, + {file = "tqdm-4.66.4.tar.gz", hash = "sha256:e4d936c9de8727928f3be6079590e97d9abfe8d39a590be678eb5919ffc186bb"}, ] [package.dependencies] @@ -2916,7 +3072,6 @@ telegram = ["requests"] name = "ttp" version = "0.9.5" description = "Template Text Parser" -category = "dev" optional = false python-versions = ">=2.7,<4.0" files = [ @@ -2930,38 +3085,35 @@ full = ["cerberus (>=1.3.0,<1.4.0)", "deepdiff (>=5.8.0,<5.9.0)", "jinja2 (>=3.0 [[package]] name = "twine" -version = "1.15.0" +version = "5.1.1" description = "Collection of utilities for publishing packages on PyPI" -category = "dev" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +python-versions = ">=3.8" files = [ - {file = "twine-1.15.0-py2.py3-none-any.whl", hash = "sha256:630fadd6e342e725930be6c696537e3f9ccc54331742b16245dab292a17d0460"}, - {file = "twine-1.15.0.tar.gz", hash = "sha256:a3d22aab467b4682a22de4a422632e79d07eebd07ff2a7079effb13f8a693787"}, + {file = "twine-5.1.1-py3-none-any.whl", hash = "sha256:215dbe7b4b94c2c50a7315c0275d2258399280fbb7d04182c7e55e24b5f93997"}, + {file = "twine-5.1.1.tar.gz", hash = "sha256:9aa0825139c02b3434d913545c7b847a21c835e11597f5255842d457da2322db"}, ] [package.dependencies] -pkginfo = ">=1.4.2" -readme-renderer = ">=21.0" -requests = ">=2.5.0,<2.15 || >2.15,<2.16 || >2.16" +importlib-metadata = ">=3.6" +keyring = ">=15.1" +pkginfo = ">=1.8.1,<1.11" +readme-renderer = ">=35.0" +requests = ">=2.20" requests-toolbelt = ">=0.8.0,<0.9.0 || >0.9.0" -setuptools = ">=0.7.0" -tqdm = ">=4.14" - -[package.extras] -keyring = ["keyring"] -with-blake2 = ["pyblake2"] +rfc3986 = ">=1.4.0" +rich = ">=12.0.0" +urllib3 = ">=1.26.0" [[package]] name = "types-paramiko" -version = "3.0.0.2" +version = "3.4.0.20240423" description = "Typing stubs for paramiko" -category = "dev" optional = false -python-versions = "*" +python-versions = ">=3.8" files = [ - {file = "types-paramiko-3.0.0.2.tar.gz", hash = "sha256:9f582a3a96cd9df1ab0a21fb333a3c40f120ccf01aaab326daa0df3887376059"}, - {file = "types_paramiko-3.0.0.2-py3-none-any.whl", hash = "sha256:5328f60d0f83ef90d8196c8b24c6c6124aebf1fa9ab3ccfd72cd3b623512ae61"}, + {file = "types-paramiko-3.4.0.20240423.tar.gz", hash = "sha256:aaa98dda232c47886563d66743d3a8b66c432790c596bc3bdd3f17f91be2a8c1"}, + {file = "types_paramiko-3.4.0.20240423-py3-none-any.whl", hash = "sha256:c56e0d43399a1b909901b1e0375e0ff6ee62e16cd6e00695024abc2e9fe02035"}, ] [package.dependencies] @@ -2969,59 +3121,55 @@ cryptography = ">=37.0.0" [[package]] name = "types-pyyaml" -version = "6.0.12.4" +version = "6.0.12.20240311" description = "Typing stubs for PyYAML" -category = "dev" optional = false -python-versions = "*" +python-versions = ">=3.8" files = [ - {file = "types-PyYAML-6.0.12.4.tar.gz", hash = "sha256:ade6e328a5a3df816c47c912c2e1e946ae2bace90744aa73111ee6834b03a314"}, - {file = "types_PyYAML-6.0.12.4-py3-none-any.whl", hash = "sha256:de3bacfc4e0772d9b1baf007c37354f3c34c8952e90307d5155b6de0fc183a67"}, + {file = "types-PyYAML-6.0.12.20240311.tar.gz", hash = "sha256:a9e0f0f88dc835739b0c1ca51ee90d04ca2a897a71af79de9aec5f38cb0a5342"}, + {file = "types_PyYAML-6.0.12.20240311-py3-none-any.whl", hash = "sha256:b845b06a1c7e54b8e5b4c683043de0d9caf205e7434b3edc678ff2411979b8f6"}, ] [[package]] name = "typing-extensions" -version = "4.8.0" +version = "4.12.2" description = "Backported and Experimental Type Hints for Python 3.8+" -category = "dev" optional = false python-versions = ">=3.8" files = [ - {file = "typing_extensions-4.8.0-py3-none-any.whl", hash = "sha256:8f92fc8806f9a6b641eaa5318da32b44d401efaac0f6678c9bc448ba3605faa0"}, - {file = "typing_extensions-4.8.0.tar.gz", hash = "sha256:df8e4339e9cb77357558cbdbceca33c303714cf861d1eef15e1070055ae8b7ef"}, + {file = "typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d"}, + {file = "typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8"}, ] [[package]] name = "unicon" -version = "23.9" +version = "24.6" description = "Unicon Connection Library" -category = "dev" optional = false -python-versions = ">=3.5" +python-versions = ">=3.8" files = [ - {file = "unicon-23.9-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f096ec05a18305b57d1672ca48baff45610d45fbb4d518b651e254aaa2c30c7a"}, - {file = "unicon-23.9-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:2cf3e72aa63b5d16cf9196f5bdea531df185bd46bfa12d22be5c86dc81609b48"}, - {file = "unicon-23.9-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:711e94239e9b6e15bada025e1435d10b471f06f070d8e18fdfb4eb8cb248c17e"}, - {file = "unicon-23.9-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:d0c8baa416dd7604f64589e9f58f9635b7c687186be1af17cc5cef0a9f2bc362"}, - {file = "unicon-23.9-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2ff12c820470d921753ec2c200305e9955fe7c3b85a09581f72ab985bd53420c"}, - {file = "unicon-23.9-cp311-cp311-macosx_11_0_x86_64.whl", hash = "sha256:22e76df31855f9f5808701a5ca99df603a31d4f91ffb84a181ca324983b08ecf"}, - {file = "unicon-23.9-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:88d3bc27581510c51f0a77f22d4c05b7dd1709368f7f7b56e49fe3c3eee6c364"}, - {file = "unicon-23.9-cp311-cp311-manylinux2014_x86_64.whl", hash = "sha256:60ba4f42db8a35d4994d795a2a7cf7bd47dfb92ba40dfc2f588e8cdb1cbf70ca"}, - {file = "unicon-23.9-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:b01f1a4c4c1bd5e31e713bb78695c4065c10e955aef851e3d52613d6b8ab46d1"}, - {file = "unicon-23.9-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:e62c295cce9c9a1add08942fcbbf68d9d2b85c7f8a8a26a816f0a830fbdd601d"}, - {file = "unicon-23.9-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:d65ce77962f01c7ec4ace8f2049b0d43f4cf8fef76e826395cee8e04aec64057"}, - {file = "unicon-23.9-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:9c70245716daba36588dcffb8c4dd70de613f730da6c6826c8a8fc530d0ce740"}, - {file = "unicon-23.9-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0dd589abe7600b9c1525aecef186f825c099b9e94fad3eadd4037ed03f23903a"}, - {file = "unicon-23.9-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:d8de261b2f13a34fa00c493dc1d085efbe706a95a54cf84b0f96085a197f9577"}, - {file = "unicon-23.9-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:39445c2e770e0fb2e181935f1a7f17b2a5f40fc028d39fd22474b682eb577e37"}, - {file = "unicon-23.9-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:ae968d89d8dcb74c740316ff6efdabdd5bdd3736a4008494d1074e1b5f21508a"}, - {file = "unicon-23.9-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:231b4a67857beffef482208cc7045f0fa1ccf32bb1902c4296f2383e466bce1f"}, + {file = "unicon-24.6-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:12fd03ce82a9878c2de5037eef7240185272cbc2cf5f9505760982e9619e1eee"}, + {file = "unicon-24.6-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:03e07fc3d3cce96612b2b7dcf27af654608dbf5641271eb1939e0a2fbab84b45"}, + {file = "unicon-24.6-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:e24a95eded51f3a762cb110d5348de2c766905320df266c086f938d2331a4686"}, + {file = "unicon-24.6-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:e665afb7db64202cdfc7baefd2d310ce6dd673718e1bbe262dd04caa20f38bc5"}, + {file = "unicon-24.6-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:f3a4b56ed798473a6f4a5152c4353a0d699157c94ad39afdb154677e32b991aa"}, + {file = "unicon-24.6-cp311-cp311-manylinux2014_x86_64.whl", hash = "sha256:13bec6229c103bf36167e385a1604d17c6fd0a1806b240e27908932aa945d817"}, + {file = "unicon-24.6-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:574debb57b4275263eed2b4d7b322523e0805d61ee8988581df996f55820ef02"}, + {file = "unicon-24.6-cp312-cp312-manylinux2014_aarch64.whl", hash = "sha256:497080eeeb57a7241afbffd2494404c5439ca9bc9a26729856bd31f7f84028a3"}, + {file = "unicon-24.6-cp312-cp312-manylinux2014_x86_64.whl", hash = "sha256:9e4b996ad83c3d32b728a3d853fd429e5a7d64cc030827d72f621c187f1fab02"}, + {file = "unicon-24.6-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:5c68eefa90261b3afbd3ccc9e9734dd003ecedfee3f4fc45c4faf41bf8979069"}, + {file = "unicon-24.6-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:8effe50bea972f0c6298913eecff3b4ffb1aa14bd00783c7dedec25646e2b983"}, + {file = "unicon-24.6-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:edd34071905e5301df8a8015899c91b9087556b679302d9c6897b7535e459ca7"}, + {file = "unicon-24.6-cp39-cp39-macosx_11_0_universal2.whl", hash = "sha256:1c28a0278bdc82236005cfcd679c80d0fe0792d48c06982f71ef05cd2a1d0339"}, + {file = "unicon-24.6-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:1ad47fbf42498dd7fceb8f2f19e11c5b77bb1b6ecbb0352f5b66fd38537df98f"}, + {file = "unicon-24.6-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:39107b21146481873134823f29dc167b951602a42f4f54f62e0c15e1e8710923"}, + {file = "unicon-24.6-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:15199fed580939809a8c3cc9942f85aa5d18a1f65956d1a398b9e73d1247965d"}, ] [package.dependencies] dill = "*" pyyaml = "*" -"unicon.plugins" = ">=23.9.0,<23.10.0" +"unicon.plugins" = ">=24.6.0,<24.7.0" [package.extras] dev = ["Sphinx", "cisco-distutils", "coverage", "restview", "sphinx-rtd-theme", "sphinxcontrib-mockautodoc", "sphinxcontrib-napoleon"] @@ -3030,63 +3178,59 @@ robot = ["robotframework"] [[package]] name = "unicon-plugins" -version = "23.9" +version = "24.6" description = "Unicon Connection Library Plugins" -category = "dev" optional = false python-versions = "*" files = [ - {file = "unicon.plugins-23.9-py3-none-any.whl", hash = "sha256:60417e2c883b7c2b81fe62187c8129a7cd578b0ce77a77d204cc9a2694e296bc"}, + {file = "unicon.plugins-24.6-py3-none-any.whl", hash = "sha256:b8bad0f37b297bba9cb619147b8428ed545e24124bba452a85a8ec9baf5aaa1b"}, ] [package.dependencies] PrettyTable = "*" pyyaml = "*" -unicon = ">=23.9.0,<23.10.0" +unicon = ">=24.6.0,<24.7.0" [package.extras] dev = ["Sphinx", "coverage", "pip", "restview", "setuptools", "sphinx-rtd-theme", "sphinxcontrib-mockautodoc", "sphinxcontrib-napoleon", "wheel"] [[package]] name = "urllib3" -version = "2.0.7" +version = "2.2.2" description = "HTTP library with thread-safe connection pooling, file post, and more." -category = "dev" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "urllib3-2.0.7-py3-none-any.whl", hash = "sha256:fdb6d215c776278489906c2f8916e6e7d4f5a9b602ccbcfdf7f016fc8da0596e"}, - {file = "urllib3-2.0.7.tar.gz", hash = "sha256:c97dfde1f7bd43a71c8d2a58e369e9b2bf692d1334ea9f9cae55add7d0dd0f84"}, + {file = "urllib3-2.2.2-py3-none-any.whl", hash = "sha256:a448b2f64d686155468037e1ace9f2d2199776e17f0a46610480d311f73e3472"}, + {file = "urllib3-2.2.2.tar.gz", hash = "sha256:dd505485549a7a552833da5e6063639d0d177c04f23bc3864e41e5dc5f612168"}, ] [package.extras] brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"] -secure = ["certifi", "cryptography (>=1.9)", "idna (>=2.0.0)", "pyopenssl (>=17.1.0)", "urllib3-secure-extra"] +h2 = ["h2 (>=4,<5)"] socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] zstd = ["zstandard (>=0.18.0)"] [[package]] name = "wcwidth" -version = "0.2.8" +version = "0.2.13" description = "Measures the displayed width of unicode strings in a terminal" -category = "dev" optional = false python-versions = "*" files = [ - {file = "wcwidth-0.2.8-py2.py3-none-any.whl", hash = "sha256:77f719e01648ed600dfa5402c347481c0992263b81a027344f3e1ba25493a704"}, - {file = "wcwidth-0.2.8.tar.gz", hash = "sha256:8705c569999ffbb4f6a87c6d1b80f324bd6db952f5eb0b95bc07517f4c1813d4"}, + {file = "wcwidth-0.2.13-py2.py3-none-any.whl", hash = "sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859"}, + {file = "wcwidth-0.2.13.tar.gz", hash = "sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5"}, ] [[package]] name = "wheel" -version = "0.41.2" +version = "0.43.0" description = "A built-package format for Python" -category = "dev" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "wheel-0.41.2-py3-none-any.whl", hash = "sha256:75909db2664838d015e3d9139004ee16711748a52c8f336b52882266540215d8"}, - {file = "wheel-0.41.2.tar.gz", hash = "sha256:0c5ac5ff2afb79ac23ab82bab027a0be7b5dbcf2e54dc50efe4bf507de1f7985"}, + {file = "wheel-0.43.0-py3-none-any.whl", hash = "sha256:55c570405f142630c6b9f72fe09d9b67cf1477fcf543ae5b8dcb1f5b7377da81"}, + {file = "wheel-0.43.0.tar.gz", hash = "sha256:465ef92c69fa5c5da2d1cf8ac40559a8c940886afcef87dcf14b9470862f1d85"}, ] [package.extras] @@ -3096,7 +3240,6 @@ test = ["pytest (>=6.0.0)", "setuptools (>=65)"] name = "xmltodict" version = "0.13.0" description = "Makes working with XML feel like you are working with JSON" -category = "dev" optional = false python-versions = ">=3.4" files = [ @@ -3106,14 +3249,13 @@ files = [ [[package]] name = "yamllint" -version = "1.32.0" +version = "1.35.1" description = "A linter for YAML files." -category = "dev" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "yamllint-1.32.0-py3-none-any.whl", hash = "sha256:d97a66e48da820829d96077d76b8dfbe6c6140f106e558dae87e81ac4e6b30b7"}, - {file = "yamllint-1.32.0.tar.gz", hash = "sha256:d01dde008c65de5b235188ab3110bebc59d18e5c65fc8a58267cd211cd9df34a"}, + {file = "yamllint-1.35.1-py3-none-any.whl", hash = "sha256:2e16e504bb129ff515b37823b472750b36b6de07963bd74b307341ef5ad8bdc3"}, + {file = "yamllint-1.35.1.tar.gz", hash = "sha256:7a003809f88324fd2c877734f2d575ee7881dd9043360657cc8049c809eba6cd"}, ] [package.dependencies] @@ -3125,18 +3267,17 @@ dev = ["doc8", "flake8", "flake8-import-order", "rstcheck[sphinx]", "sphinx"] [[package]] name = "yang-connector" -version = "23.9" +version = "24.6" description = "YANG defined interface API protocol connector" -category = "dev" optional = false python-versions = "*" files = [ - {file = "yang.connector-23.9-py3-none-any.whl", hash = "sha256:08cd6a10490b64af0f81bc2ae12a3b49c604a670a84fce5747de116eb6292586"}, + {file = "yang.connector-24.6-py3-none-any.whl", hash = "sha256:c205c2c343931b1d6835b8e98a13c0cd0f9fef54f92ca633071e51369f97a7b6"}, ] [package.dependencies] grpcio = "*" -lxml = ">=3.3.0" +lxml = ">=3.3.0,<5.0.0" ncclient = ">=0.6.6" paramiko = ">=1.15.1" protobuf = "*" @@ -3146,86 +3287,101 @@ dev = ["Sphinx", "coverage", "restview", "sphinx-rtd-theme", "sphinxcontrib-napo [[package]] name = "yarl" -version = "1.9.2" +version = "1.9.4" description = "Yet another URL library" -category = "dev" optional = false python-versions = ">=3.7" files = [ - {file = "yarl-1.9.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:8c2ad583743d16ddbdf6bb14b5cd76bf43b0d0006e918809d5d4ddf7bde8dd82"}, - {file = "yarl-1.9.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:82aa6264b36c50acfb2424ad5ca537a2060ab6de158a5bd2a72a032cc75b9eb8"}, - {file = "yarl-1.9.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c0c77533b5ed4bcc38e943178ccae29b9bcf48ffd1063f5821192f23a1bd27b9"}, - {file = "yarl-1.9.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ee4afac41415d52d53a9833ebae7e32b344be72835bbb589018c9e938045a560"}, - {file = "yarl-1.9.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9bf345c3a4f5ba7f766430f97f9cc1320786f19584acc7086491f45524a551ac"}, - {file = "yarl-1.9.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2a96c19c52ff442a808c105901d0bdfd2e28575b3d5f82e2f5fd67e20dc5f4ea"}, - {file = "yarl-1.9.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:891c0e3ec5ec881541f6c5113d8df0315ce5440e244a716b95f2525b7b9f3608"}, - {file = "yarl-1.9.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c3a53ba34a636a256d767c086ceb111358876e1fb6b50dfc4d3f4951d40133d5"}, - {file = "yarl-1.9.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:566185e8ebc0898b11f8026447eacd02e46226716229cea8db37496c8cdd26e0"}, - {file = "yarl-1.9.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:2b0738fb871812722a0ac2154be1f049c6223b9f6f22eec352996b69775b36d4"}, - {file = "yarl-1.9.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:32f1d071b3f362c80f1a7d322bfd7b2d11e33d2adf395cc1dd4df36c9c243095"}, - {file = "yarl-1.9.2-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:e9fdc7ac0d42bc3ea78818557fab03af6181e076a2944f43c38684b4b6bed8e3"}, - {file = "yarl-1.9.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:56ff08ab5df8429901ebdc5d15941b59f6253393cb5da07b4170beefcf1b2528"}, - {file = "yarl-1.9.2-cp310-cp310-win32.whl", hash = "sha256:8ea48e0a2f931064469bdabca50c2f578b565fc446f302a79ba6cc0ee7f384d3"}, - {file = "yarl-1.9.2-cp310-cp310-win_amd64.whl", hash = "sha256:50f33040f3836e912ed16d212f6cc1efb3231a8a60526a407aeb66c1c1956dde"}, - {file = "yarl-1.9.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:646d663eb2232d7909e6601f1a9107e66f9791f290a1b3dc7057818fe44fc2b6"}, - {file = "yarl-1.9.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:aff634b15beff8902d1f918012fc2a42e0dbae6f469fce134c8a0dc51ca423bb"}, - {file = "yarl-1.9.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a83503934c6273806aed765035716216cc9ab4e0364f7f066227e1aaea90b8d0"}, - {file = "yarl-1.9.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b25322201585c69abc7b0e89e72790469f7dad90d26754717f3310bfe30331c2"}, - {file = "yarl-1.9.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:22a94666751778629f1ec4280b08eb11815783c63f52092a5953faf73be24191"}, - {file = "yarl-1.9.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8ec53a0ea2a80c5cd1ab397925f94bff59222aa3cf9c6da938ce05c9ec20428d"}, - {file = "yarl-1.9.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:159d81f22d7a43e6eabc36d7194cb53f2f15f498dbbfa8edc8a3239350f59fe7"}, - {file = "yarl-1.9.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:832b7e711027c114d79dffb92576acd1bd2decc467dec60e1cac96912602d0e6"}, - {file = "yarl-1.9.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:95d2ecefbcf4e744ea952d073c6922e72ee650ffc79028eb1e320e732898d7e8"}, - {file = "yarl-1.9.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:d4e2c6d555e77b37288eaf45b8f60f0737c9efa3452c6c44626a5455aeb250b9"}, - {file = "yarl-1.9.2-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:783185c75c12a017cc345015ea359cc801c3b29a2966c2655cd12b233bf5a2be"}, - {file = "yarl-1.9.2-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:b8cc1863402472f16c600e3e93d542b7e7542a540f95c30afd472e8e549fc3f7"}, - {file = "yarl-1.9.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:822b30a0f22e588b32d3120f6d41e4ed021806418b4c9f0bc3048b8c8cb3f92a"}, - {file = "yarl-1.9.2-cp311-cp311-win32.whl", hash = "sha256:a60347f234c2212a9f0361955007fcf4033a75bf600a33c88a0a8e91af77c0e8"}, - {file = "yarl-1.9.2-cp311-cp311-win_amd64.whl", hash = "sha256:be6b3fdec5c62f2a67cb3f8c6dbf56bbf3f61c0f046f84645cd1ca73532ea051"}, - {file = "yarl-1.9.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:38a3928ae37558bc1b559f67410df446d1fbfa87318b124bf5032c31e3447b74"}, - {file = "yarl-1.9.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ac9bb4c5ce3975aeac288cfcb5061ce60e0d14d92209e780c93954076c7c4367"}, - {file = "yarl-1.9.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3da8a678ca8b96c8606bbb8bfacd99a12ad5dd288bc6f7979baddd62f71c63ef"}, - {file = "yarl-1.9.2-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:13414591ff516e04fcdee8dc051c13fd3db13b673c7a4cb1350e6b2ad9639ad3"}, - {file = "yarl-1.9.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf74d08542c3a9ea97bb8f343d4fcbd4d8f91bba5ec9d5d7f792dbe727f88938"}, - {file = "yarl-1.9.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6e7221580dc1db478464cfeef9b03b95c5852cc22894e418562997df0d074ccc"}, - {file = "yarl-1.9.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:494053246b119b041960ddcd20fd76224149cfea8ed8777b687358727911dd33"}, - {file = "yarl-1.9.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:52a25809fcbecfc63ac9ba0c0fb586f90837f5425edfd1ec9f3372b119585e45"}, - {file = "yarl-1.9.2-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:e65610c5792870d45d7b68c677681376fcf9cc1c289f23e8e8b39c1485384185"}, - {file = "yarl-1.9.2-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:1b1bba902cba32cdec51fca038fd53f8beee88b77efc373968d1ed021024cc04"}, - {file = "yarl-1.9.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:662e6016409828ee910f5d9602a2729a8a57d74b163c89a837de3fea050c7582"}, - {file = "yarl-1.9.2-cp37-cp37m-win32.whl", hash = "sha256:f364d3480bffd3aa566e886587eaca7c8c04d74f6e8933f3f2c996b7f09bee1b"}, - {file = "yarl-1.9.2-cp37-cp37m-win_amd64.whl", hash = "sha256:6a5883464143ab3ae9ba68daae8e7c5c95b969462bbe42e2464d60e7e2698368"}, - {file = "yarl-1.9.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5610f80cf43b6202e2c33ba3ec2ee0a2884f8f423c8f4f62906731d876ef4fac"}, - {file = "yarl-1.9.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:b9a4e67ad7b646cd6f0938c7ebfd60e481b7410f574c560e455e938d2da8e0f4"}, - {file = "yarl-1.9.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:83fcc480d7549ccebe9415d96d9263e2d4226798c37ebd18c930fce43dfb9574"}, - {file = "yarl-1.9.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5fcd436ea16fee7d4207c045b1e340020e58a2597301cfbcfdbe5abd2356c2fb"}, - {file = "yarl-1.9.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:84e0b1599334b1e1478db01b756e55937d4614f8654311eb26012091be109d59"}, - {file = "yarl-1.9.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3458a24e4ea3fd8930e934c129b676c27452e4ebda80fbe47b56d8c6c7a63a9e"}, - {file = "yarl-1.9.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:838162460b3a08987546e881a2bfa573960bb559dfa739e7800ceeec92e64417"}, - {file = "yarl-1.9.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f4e2d08f07a3d7d3e12549052eb5ad3eab1c349c53ac51c209a0e5991bbada78"}, - {file = "yarl-1.9.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:de119f56f3c5f0e2fb4dee508531a32b069a5f2c6e827b272d1e0ff5ac040333"}, - {file = "yarl-1.9.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:149ddea5abf329752ea5051b61bd6c1d979e13fbf122d3a1f9f0c8be6cb6f63c"}, - {file = "yarl-1.9.2-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:674ca19cbee4a82c9f54e0d1eee28116e63bc6fd1e96c43031d11cbab8b2afd5"}, - {file = "yarl-1.9.2-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:9b3152f2f5677b997ae6c804b73da05a39daa6a9e85a512e0e6823d81cdad7cc"}, - {file = "yarl-1.9.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:5415d5a4b080dc9612b1b63cba008db84e908b95848369aa1da3686ae27b6d2b"}, - {file = "yarl-1.9.2-cp38-cp38-win32.whl", hash = "sha256:f7a3d8146575e08c29ed1cd287068e6d02f1c7bdff8970db96683b9591b86ee7"}, - {file = "yarl-1.9.2-cp38-cp38-win_amd64.whl", hash = "sha256:63c48f6cef34e6319a74c727376e95626f84ea091f92c0250a98e53e62c77c72"}, - {file = "yarl-1.9.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:75df5ef94c3fdc393c6b19d80e6ef1ecc9ae2f4263c09cacb178d871c02a5ba9"}, - {file = "yarl-1.9.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:c027a6e96ef77d401d8d5a5c8d6bc478e8042f1e448272e8d9752cb0aff8b5c8"}, - {file = "yarl-1.9.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f3b078dbe227f79be488ffcfc7a9edb3409d018e0952cf13f15fd6512847f3f7"}, - {file = "yarl-1.9.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:59723a029760079b7d991a401386390c4be5bfec1e7dd83e25a6a0881859e716"}, - {file = "yarl-1.9.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b03917871bf859a81ccb180c9a2e6c1e04d2f6a51d953e6a5cdd70c93d4e5a2a"}, - {file = "yarl-1.9.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c1012fa63eb6c032f3ce5d2171c267992ae0c00b9e164efe4d73db818465fac3"}, - {file = "yarl-1.9.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a74dcbfe780e62f4b5a062714576f16c2f3493a0394e555ab141bf0d746bb955"}, - {file = "yarl-1.9.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8c56986609b057b4839968ba901944af91b8e92f1725d1a2d77cbac6972b9ed1"}, - {file = "yarl-1.9.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:2c315df3293cd521033533d242d15eab26583360b58f7ee5d9565f15fee1bef4"}, - {file = "yarl-1.9.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:b7232f8dfbd225d57340e441d8caf8652a6acd06b389ea2d3222b8bc89cbfca6"}, - {file = "yarl-1.9.2-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:53338749febd28935d55b41bf0bcc79d634881195a39f6b2f767870b72514caf"}, - {file = "yarl-1.9.2-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:066c163aec9d3d073dc9ffe5dd3ad05069bcb03fcaab8d221290ba99f9f69ee3"}, - {file = "yarl-1.9.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8288d7cd28f8119b07dd49b7230d6b4562f9b61ee9a4ab02221060d21136be80"}, - {file = "yarl-1.9.2-cp39-cp39-win32.whl", hash = "sha256:b124e2a6d223b65ba8768d5706d103280914d61f5cae3afbc50fc3dfcc016623"}, - {file = "yarl-1.9.2-cp39-cp39-win_amd64.whl", hash = "sha256:61016e7d582bc46a5378ffdd02cd0314fb8ba52f40f9cf4d9a5e7dbef88dee18"}, - {file = "yarl-1.9.2.tar.gz", hash = "sha256:04ab9d4b9f587c06d801c2abfe9317b77cdf996c65a90d5e84ecc45010823571"}, + {file = "yarl-1.9.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a8c1df72eb746f4136fe9a2e72b0c9dc1da1cbd23b5372f94b5820ff8ae30e0e"}, + {file = "yarl-1.9.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a3a6ed1d525bfb91b3fc9b690c5a21bb52de28c018530ad85093cc488bee2dd2"}, + {file = "yarl-1.9.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c38c9ddb6103ceae4e4498f9c08fac9b590c5c71b0370f98714768e22ac6fa66"}, + {file = "yarl-1.9.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d9e09c9d74f4566e905a0b8fa668c58109f7624db96a2171f21747abc7524234"}, + {file = "yarl-1.9.4-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b8477c1ee4bd47c57d49621a062121c3023609f7a13b8a46953eb6c9716ca392"}, + {file = "yarl-1.9.4-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d5ff2c858f5f6a42c2a8e751100f237c5e869cbde669a724f2062d4c4ef93551"}, + {file = "yarl-1.9.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:357495293086c5b6d34ca9616a43d329317feab7917518bc97a08f9e55648455"}, + {file = "yarl-1.9.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:54525ae423d7b7a8ee81ba189f131054defdb122cde31ff17477951464c1691c"}, + {file = "yarl-1.9.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:801e9264d19643548651b9db361ce3287176671fb0117f96b5ac0ee1c3530d53"}, + {file = "yarl-1.9.4-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e516dc8baf7b380e6c1c26792610230f37147bb754d6426462ab115a02944385"}, + {file = "yarl-1.9.4-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:7d5aaac37d19b2904bb9dfe12cdb08c8443e7ba7d2852894ad448d4b8f442863"}, + {file = "yarl-1.9.4-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:54beabb809ffcacbd9d28ac57b0db46e42a6e341a030293fb3185c409e626b8b"}, + {file = "yarl-1.9.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:bac8d525a8dbc2a1507ec731d2867025d11ceadcb4dd421423a5d42c56818541"}, + {file = "yarl-1.9.4-cp310-cp310-win32.whl", hash = "sha256:7855426dfbddac81896b6e533ebefc0af2f132d4a47340cee6d22cac7190022d"}, + {file = "yarl-1.9.4-cp310-cp310-win_amd64.whl", hash = "sha256:848cd2a1df56ddbffeb375535fb62c9d1645dde33ca4d51341378b3f5954429b"}, + {file = "yarl-1.9.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:35a2b9396879ce32754bd457d31a51ff0a9d426fd9e0e3c33394bf4b9036b099"}, + {file = "yarl-1.9.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4c7d56b293cc071e82532f70adcbd8b61909eec973ae9d2d1f9b233f3d943f2c"}, + {file = "yarl-1.9.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d8a1c6c0be645c745a081c192e747c5de06e944a0d21245f4cf7c05e457c36e0"}, + {file = "yarl-1.9.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4b3c1ffe10069f655ea2d731808e76e0f452fc6c749bea04781daf18e6039525"}, + {file = "yarl-1.9.4-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:549d19c84c55d11687ddbd47eeb348a89df9cb30e1993f1b128f4685cd0ebbf8"}, + {file = "yarl-1.9.4-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a7409f968456111140c1c95301cadf071bd30a81cbd7ab829169fb9e3d72eae9"}, + {file = "yarl-1.9.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e23a6d84d9d1738dbc6e38167776107e63307dfc8ad108e580548d1f2c587f42"}, + {file = "yarl-1.9.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d8b889777de69897406c9fb0b76cdf2fd0f31267861ae7501d93003d55f54fbe"}, + {file = "yarl-1.9.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:03caa9507d3d3c83bca08650678e25364e1843b484f19986a527630ca376ecce"}, + {file = "yarl-1.9.4-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:4e9035df8d0880b2f1c7f5031f33f69e071dfe72ee9310cfc76f7b605958ceb9"}, + {file = "yarl-1.9.4-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:c0ec0ed476f77db9fb29bca17f0a8fcc7bc97ad4c6c1d8959c507decb22e8572"}, + {file = "yarl-1.9.4-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:ee04010f26d5102399bd17f8df8bc38dc7ccd7701dc77f4a68c5b8d733406958"}, + {file = "yarl-1.9.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:49a180c2e0743d5d6e0b4d1a9e5f633c62eca3f8a86ba5dd3c471060e352ca98"}, + {file = "yarl-1.9.4-cp311-cp311-win32.whl", hash = "sha256:81eb57278deb6098a5b62e88ad8281b2ba09f2f1147c4767522353eaa6260b31"}, + {file = "yarl-1.9.4-cp311-cp311-win_amd64.whl", hash = "sha256:d1d2532b340b692880261c15aee4dc94dd22ca5d61b9db9a8a361953d36410b1"}, + {file = "yarl-1.9.4-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0d2454f0aef65ea81037759be5ca9947539667eecebca092733b2eb43c965a81"}, + {file = "yarl-1.9.4-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:44d8ffbb9c06e5a7f529f38f53eda23e50d1ed33c6c869e01481d3fafa6b8142"}, + {file = "yarl-1.9.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:aaaea1e536f98754a6e5c56091baa1b6ce2f2700cc4a00b0d49eca8dea471074"}, + {file = "yarl-1.9.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3777ce5536d17989c91696db1d459574e9a9bd37660ea7ee4d3344579bb6f129"}, + {file = "yarl-1.9.4-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9fc5fc1eeb029757349ad26bbc5880557389a03fa6ada41703db5e068881e5f2"}, + {file = "yarl-1.9.4-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ea65804b5dc88dacd4a40279af0cdadcfe74b3e5b4c897aa0d81cf86927fee78"}, + {file = "yarl-1.9.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aa102d6d280a5455ad6a0f9e6d769989638718e938a6a0a2ff3f4a7ff8c62cc4"}, + {file = "yarl-1.9.4-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:09efe4615ada057ba2d30df871d2f668af661e971dfeedf0c159927d48bbeff0"}, + {file = "yarl-1.9.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:008d3e808d03ef28542372d01057fd09168419cdc8f848efe2804f894ae03e51"}, + {file = "yarl-1.9.4-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:6f5cb257bc2ec58f437da2b37a8cd48f666db96d47b8a3115c29f316313654ff"}, + {file = "yarl-1.9.4-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:992f18e0ea248ee03b5a6e8b3b4738850ae7dbb172cc41c966462801cbf62cf7"}, + {file = "yarl-1.9.4-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:0e9d124c191d5b881060a9e5060627694c3bdd1fe24c5eecc8d5d7d0eb6faabc"}, + {file = "yarl-1.9.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:3986b6f41ad22988e53d5778f91855dc0399b043fc8946d4f2e68af22ee9ff10"}, + {file = "yarl-1.9.4-cp312-cp312-win32.whl", hash = "sha256:4b21516d181cd77ebd06ce160ef8cc2a5e9ad35fb1c5930882baff5ac865eee7"}, + {file = "yarl-1.9.4-cp312-cp312-win_amd64.whl", hash = "sha256:a9bd00dc3bc395a662900f33f74feb3e757429e545d831eef5bb280252631984"}, + {file = "yarl-1.9.4-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:63b20738b5aac74e239622d2fe30df4fca4942a86e31bf47a81a0e94c14df94f"}, + {file = "yarl-1.9.4-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7d7f7de27b8944f1fee2c26a88b4dabc2409d2fea7a9ed3df79b67277644e17"}, + {file = "yarl-1.9.4-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c74018551e31269d56fab81a728f683667e7c28c04e807ba08f8c9e3bba32f14"}, + {file = "yarl-1.9.4-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ca06675212f94e7a610e85ca36948bb8fc023e458dd6c63ef71abfd482481aa5"}, + {file = "yarl-1.9.4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5aef935237d60a51a62b86249839b51345f47564208c6ee615ed2a40878dccdd"}, + {file = "yarl-1.9.4-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2b134fd795e2322b7684155b7855cc99409d10b2e408056db2b93b51a52accc7"}, + {file = "yarl-1.9.4-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:d25039a474c4c72a5ad4b52495056f843a7ff07b632c1b92ea9043a3d9950f6e"}, + {file = "yarl-1.9.4-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:f7d6b36dd2e029b6bcb8a13cf19664c7b8e19ab3a58e0fefbb5b8461447ed5ec"}, + {file = "yarl-1.9.4-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:957b4774373cf6f709359e5c8c4a0af9f6d7875db657adb0feaf8d6cb3c3964c"}, + {file = "yarl-1.9.4-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:d7eeb6d22331e2fd42fce928a81c697c9ee2d51400bd1a28803965883e13cead"}, + {file = "yarl-1.9.4-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:6a962e04b8f91f8c4e5917e518d17958e3bdee71fd1d8b88cdce74dd0ebbf434"}, + {file = "yarl-1.9.4-cp37-cp37m-win32.whl", hash = "sha256:f3bc6af6e2b8f92eced34ef6a96ffb248e863af20ef4fde9448cc8c9b858b749"}, + {file = "yarl-1.9.4-cp37-cp37m-win_amd64.whl", hash = "sha256:ad4d7a90a92e528aadf4965d685c17dacff3df282db1121136c382dc0b6014d2"}, + {file = "yarl-1.9.4-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:ec61d826d80fc293ed46c9dd26995921e3a82146feacd952ef0757236fc137be"}, + {file = "yarl-1.9.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:8be9e837ea9113676e5754b43b940b50cce76d9ed7d2461df1af39a8ee674d9f"}, + {file = "yarl-1.9.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:bef596fdaa8f26e3d66af846bbe77057237cb6e8efff8cd7cc8dff9a62278bbf"}, + {file = "yarl-1.9.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2d47552b6e52c3319fede1b60b3de120fe83bde9b7bddad11a69fb0af7db32f1"}, + {file = "yarl-1.9.4-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:84fc30f71689d7fc9168b92788abc977dc8cefa806909565fc2951d02f6b7d57"}, + {file = "yarl-1.9.4-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4aa9741085f635934f3a2583e16fcf62ba835719a8b2b28fb2917bb0537c1dfa"}, + {file = "yarl-1.9.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:206a55215e6d05dbc6c98ce598a59e6fbd0c493e2de4ea6cc2f4934d5a18d130"}, + {file = "yarl-1.9.4-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:07574b007ee20e5c375a8fe4a0789fad26db905f9813be0f9fef5a68080de559"}, + {file = "yarl-1.9.4-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:5a2e2433eb9344a163aced6a5f6c9222c0786e5a9e9cac2c89f0b28433f56e23"}, + {file = "yarl-1.9.4-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:6ad6d10ed9b67a382b45f29ea028f92d25bc0bc1daf6c5b801b90b5aa70fb9ec"}, + {file = "yarl-1.9.4-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:6fe79f998a4052d79e1c30eeb7d6c1c1056ad33300f682465e1b4e9b5a188b78"}, + {file = "yarl-1.9.4-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:a825ec844298c791fd28ed14ed1bffc56a98d15b8c58a20e0e08c1f5f2bea1be"}, + {file = "yarl-1.9.4-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8619d6915b3b0b34420cf9b2bb6d81ef59d984cb0fde7544e9ece32b4b3043c3"}, + {file = "yarl-1.9.4-cp38-cp38-win32.whl", hash = "sha256:686a0c2f85f83463272ddffd4deb5e591c98aac1897d65e92319f729c320eece"}, + {file = "yarl-1.9.4-cp38-cp38-win_amd64.whl", hash = "sha256:a00862fb23195b6b8322f7d781b0dc1d82cb3bcac346d1e38689370cc1cc398b"}, + {file = "yarl-1.9.4-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:604f31d97fa493083ea21bd9b92c419012531c4e17ea6da0f65cacdcf5d0bd27"}, + {file = "yarl-1.9.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:8a854227cf581330ffa2c4824d96e52ee621dd571078a252c25e3a3b3d94a1b1"}, + {file = "yarl-1.9.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ba6f52cbc7809cd8d74604cce9c14868306ae4aa0282016b641c661f981a6e91"}, + {file = "yarl-1.9.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a6327976c7c2f4ee6816eff196e25385ccc02cb81427952414a64811037bbc8b"}, + {file = "yarl-1.9.4-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8397a3817d7dcdd14bb266283cd1d6fc7264a48c186b986f32e86d86d35fbac5"}, + {file = "yarl-1.9.4-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e0381b4ce23ff92f8170080c97678040fc5b08da85e9e292292aba67fdac6c34"}, + {file = "yarl-1.9.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:23d32a2594cb5d565d358a92e151315d1b2268bc10f4610d098f96b147370136"}, + {file = "yarl-1.9.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ddb2a5c08a4eaaba605340fdee8fc08e406c56617566d9643ad8bf6852778fc7"}, + {file = "yarl-1.9.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:26a1dc6285e03f3cc9e839a2da83bcbf31dcb0d004c72d0730e755b33466c30e"}, + {file = "yarl-1.9.4-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:18580f672e44ce1238b82f7fb87d727c4a131f3a9d33a5e0e82b793362bf18b4"}, + {file = "yarl-1.9.4-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:29e0f83f37610f173eb7e7b5562dd71467993495e568e708d99e9d1944f561ec"}, + {file = "yarl-1.9.4-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:1f23e4fe1e8794f74b6027d7cf19dc25f8b63af1483d91d595d4a07eca1fb26c"}, + {file = "yarl-1.9.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:db8e58b9d79200c76956cefd14d5c90af54416ff5353c5bfd7cbe58818e26ef0"}, + {file = "yarl-1.9.4-cp39-cp39-win32.whl", hash = "sha256:c7224cab95645c7ab53791022ae77a4509472613e839dab722a72abe5a684575"}, + {file = "yarl-1.9.4-cp39-cp39-win_amd64.whl", hash = "sha256:824d6c50492add5da9374875ce72db7a0733b29c2394890aef23d533106e2b15"}, + {file = "yarl-1.9.4-py3-none-any.whl", hash = "sha256:928cecb0ef9d5a7946eb6ff58417ad2fe9375762382f1bf5c55e61645f2c43ad"}, + {file = "yarl-1.9.4.tar.gz", hash = "sha256:566db86717cf8080b99b58b083b773a908ae40f06681e87e589a976faf8246bf"}, ] [package.dependencies] @@ -3234,21 +3390,20 @@ multidict = ">=4.0" [[package]] name = "zipp" -version = "3.17.0" +version = "3.19.2" description = "Backport of pathlib-compatible object wrapper for zip files" -category = "dev" optional = false python-versions = ">=3.8" files = [ - {file = "zipp-3.17.0-py3-none-any.whl", hash = "sha256:0e923e726174922dce09c53c59ad483ff7bbb8e572e00c7f7c46b88556409f31"}, - {file = "zipp-3.17.0.tar.gz", hash = "sha256:84e64a1c28cf7e91ed2078bb8cc8c259cb19b76942096c8d7b84947690cabaf0"}, + {file = "zipp-3.19.2-py3-none-any.whl", hash = "sha256:f091755f667055f2d02b32c53771a7a6c8b47e1fdbc4b72a8b9072b3eef8015c"}, + {file = "zipp-3.19.2.tar.gz", hash = "sha256:bf1dcf6450f873a13e952a29504887c89e6de7506209e5b1bcc3460135d4de19"}, ] [package.extras] -docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-lint"] -testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ignore-flaky", "pytest-mypy (>=0.9.1)", "pytest-ruff"] +doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", "jaraco.test", "more-itertools", "pytest (>=6,!=8.1.*)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ignore-flaky", "pytest-mypy", "pytest-ruff (>=0.2.1)"] [metadata] lock-version = "2.0" python-versions = ">=3.8,<4.0" -content-hash = "b6c2c96e2034295b561c65bca79b6511a8b8fe796e8ce4e07bc6f75544f78170" +content-hash = "b2f6a481680f297df52f338c236787dbdb038bdf0b9e489891453503bc7efe50" diff --git a/pyproject.toml b/pyproject.toml index 5f14bd4db..40b2d52a2 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,10 +1,10 @@ [build-system] -requires = ["poetry==1.3.2"] +requires = ["poetry>=1.6.1"] build-backend = "poetry.masonry.api" [tool.poetry] name = "netmiko" -version = "4.3.0" +version = "4.4.0" description = "Multi-vendor library to simplify legacy CLI connections to network devices" authors = ["Kirk Byers "] license = "MIT" @@ -17,38 +17,60 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", ] [tool.poetry.dependencies] python = ">=3.8,<4.0" +setuptools = ">=65.0.0" paramiko = ">=2.9.5" scp = ">=0.13.6" pyyaml = ">=5.3" textfsm = ">=1.1.3" -ntc-templates = ">=2.0.0" +ntc-templates = ">=3.1.0" pyserial = ">=3.3" +cffi = ">=1.17.0rc1" [tool.poetry.group.dev.dependencies] -black = "22.3.0" -mypy = "1.0.0" +black = "24.4.2" +mypy = "1.10.1" mypy-extensions = "1.0.0" PyYAML = "6.0.1" -pytest = "7.1.2" +pytest = "8.2.2" # Issue with build failure on pyflakes 2.5.0 -pyflakes = "2.4.0" -pylama = "8.3.8" -twine = "1.15.0" +pyflakes = "3.2.0" +pylama = "8.4.1" +twine = "5.1.1" +# docutils/poetry release issue on 0.21.1 +docutils = [ + {version = "<=0.20", python = "3.8.*"}, + {version = ">=0.21.2", python = ">=3.9"} +] pysnmp = "4.4.12" pdoc3 = "0.10.0" -types-paramiko = "3.0.0.2" -types-PyYAML = "6.0.12.4" +types-paramiko = "3.4.0.20240423" +types-PyYAML = "6.0.12.20240311" + +[tool.poetry.group.parsers] +optional = true [tool.poetry.group.parsers.dependencies] -pyats = ">=23.1" -genie = ">=23.1" -ttp = ">=0.9.0" +pyats = ">=24.5" +genie = ">=24.5" +ttp = ">=0.9.5" [tool.poetry.scripts] "netmiko-grep" = "netmiko.cli_tools.netmiko_grep:main_ep" "netmiko-show" = "netmiko.cli_tools.netmiko_show:main_ep" "netmiko-cfg" = "netmiko.cli_tools.netmiko_cfg:main_ep" + +[tool.black] +exclude = ''' +/( + \.git + | \.venv + | build + | dist + | netmiko/_telnetlib +)/ +''' diff --git a/release_process.txt b/release_process.txt index a09178089..87708bc9b 100644 --- a/release_process.txt +++ b/release_process.txt @@ -18,12 +18,9 @@ $ pdoc3 --html --output-dir docs netmiko --force # Run ./_release.sh # Create a tag for the version -git tag -a v4.3.0 -m "Version 4.3.0 Release" -git push origin_ssh v4.2.0 +git tag -a v4.4.0 -m "Version 4.4.0 Release" +git push origin_ssh v4.4.0 # Make sure to run the performance tests for the new release and to update the graphs! -# Update license dependencies (then edit the file) -pip-licenses -o license >> license-dependencies.txt - # Regenerate device types for PLATFORMS.md document diff --git a/setup.cfg b/setup.cfg index a908b612b..16b3dfa42 100644 --- a/setup.cfg +++ b/setup.cfg @@ -7,7 +7,7 @@ license_file = LICENSE [pylama] linters = mccabe,pycodestyle,pyflakes ignore = D203,C901 -skip = build/*,.tox/*,netmiko/,examples/use_cases/*,.venv/* +skip = build/*,.tox/*,examples/use_cases/*,.venv/*,netmiko/_telnetlib/* [pylama:pycodestyle] max_line_length = 100 @@ -17,7 +17,8 @@ addopts = -rs [mypy] # The mypy configurations: http://bit.ly/2zEl9WI -python_version = 3.6 +python_version = 3.9 +exclude = (netmiko/_telnetlib) check_untyped_defs = True disallow_any_generics = True disallow_untyped_calls = True diff --git a/tests/unit/test_base_connection.py b/tests/unit/test_base_connection.py index 350586402..1e8b7d037 100755 --- a/tests/unit/test_base_connection.py +++ b/tests/unit/test_base_connection.py @@ -4,7 +4,7 @@ from os.path import dirname, join from threading import Lock -from netmiko import NetmikoTimeoutException +from netmiko import NetmikoTimeoutException, log from netmiko.base_connection import BaseConnection RESOURCE_FOLDER = join(dirname(dirname(__file__)), "etc") @@ -480,3 +480,13 @@ def test_strip_ansi_codes(): # code_next_line must be substituted with a return assert connection.strip_ansi_escape_codes("\x1bE") == "\n" + + +def test_remove_SecretsFilter_after_disconnection(): + connection = BaseConnection( + host="testhost", # Enter the hostname to pass initialization + auto_connect=False, # No need to connect for the test purposes + ) + connection.disconnect() + + assert not log.filters