Skip to content

Move setup to pyproject toml#16

Merged
fundakol merged 1 commit intomasterfrom
move-setup-to-pyproject-toml
Nov 20, 2025
Merged

Move setup to pyproject toml#16
fundakol merged 1 commit intomasterfrom
move-setup-to-pyproject-toml

Conversation

@fundakol
Copy link
Owner

No description provided.

@fundakol fundakol force-pushed the move-setup-to-pyproject-toml branch 11 times, most recently from 30282fc to c801a1a Compare November 20, 2025 20:01
@codecov
Copy link

codecov bot commented Nov 20, 2025

❌ 14 Tests Failed:

Tests completed Failed Passed Skipped
14 14 0 0
View the top 3 failed test(s) by shortest run time
tests/test_selenium_datatable_2.py::test_attribute_error_exception
Stack Traces | 0s run time
url = 'http://localhost:5002'

    @pytest.fixture(scope='session')
    def driver(url):
        chrome_options = Options()
        chrome_options.add_argument('--headless')
>       driver = webdriver.Chrome(options=chrome_options)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/conftest.py:17: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/chrome/webdriver.py:76: in __init__
    RemoteWebDriver.__init__(
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/remote/webdriver.py:157: in __init__
    self.start_session(capabilities, browser_profile)
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/remote/webdriver.py:252: in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/remote/webdriver.py:319: in execute
    response = self.command_executor.execute(driver_command, params)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/remote/remote_connection.py:374: in execute
    return self._request(command_info[0], url, body=data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/remote/remote_connection.py:397: in _request
    resp = self._conn.request(method, url, body=body, headers=headers)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14....../site-packages/urllib3/_request_methods.py:143: in request
    return self.request_encode_body(
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14....../site-packages/urllib3/_request_methods.py:278: in request_encode_body
    return self.urlopen(method, url, **extra_kw)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.............../site-packages/urllib3/poolmanager.py:448: in urlopen
    conn = self.connection_from_host(u.host, port=u.port, scheme=u.scheme)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.............../site-packages/urllib3/poolmanager.py:319: in connection_from_host
    return self.connection_from_context(request_context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.............../site-packages/urllib3/poolmanager.py:344: in connection_from_context
    return self.connection_from_pool_key(pool_key, request_context=request_context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.............../site-packages/urllib3/poolmanager.py:367: in connection_from_pool_key
    pool = self._new_pool(scheme, host, port, request_context=request_context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.............../site-packages/urllib3/poolmanager.py:281: in _new_pool
    return pool_cls(host, port, **request_context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../site-packages/urllib3/connectionpool.py:193: in __init__
    timeout = Timeout.from_float(timeout)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../urllib3/util/timeout.py:186: in from_float
    return Timeout(read=timeout, connect=timeout)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../urllib3/util/timeout.py:115: in __init__
    self._connect = self._validate_timeout(connect, "connect")
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cls = <class 'urllib3.util.timeout.Timeout'>
value = <object object at 0x7f9cdfb81a30>, name = 'connect'

    @classmethod
    def _validate_timeout(cls, value: _TYPE_TIMEOUT, name: str) -> _TYPE_TIMEOUT:
        """Check that a timeout attribute is valid.
    
        :param value: The timeout value to validate
        :param name: The name of the timeout attribute to validate. This is
            used to specify in error messages.
        :return: The validated and casted version of the given value.
        :raises ValueError: If it is a numeric value less than or equal to
            zero, or the type is not an integer, float, or None.
        """
        if value is None or value is _DEFAULT_TIMEOUT:
            return value
    
        if isinstance(value, bool):
            raise ValueError(
                "Timeout cannot be a boolean value. It must "
                "be an int, float or None."
            )
        try:
            float(value)
        except (TypeError, ValueError):
>           raise ValueError(
                "Timeout value %s was %s, but it must be an "
                "int, float or None." % (name, value)
            ) from None
E           ValueError: Timeout value connect was <object object at 0x7f9cdfb81a30>, but it must be an int, float or None.

.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../urllib3/util/timeout.py:152: ValueError
tests/test_selenium_datatable_2.py::test_comprehension_list
Stack Traces | 0s run time
url = 'http://localhost:5002'

    @pytest.fixture(scope='session')
    def driver(url):
        chrome_options = Options()
        chrome_options.add_argument('--headless')
>       driver = webdriver.Chrome(options=chrome_options)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/conftest.py:17: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/chrome/webdriver.py:76: in __init__
    RemoteWebDriver.__init__(
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/remote/webdriver.py:157: in __init__
    self.start_session(capabilities, browser_profile)
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/remote/webdriver.py:252: in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/remote/webdriver.py:319: in execute
    response = self.command_executor.execute(driver_command, params)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/remote/remote_connection.py:374: in execute
    return self._request(command_info[0], url, body=data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/remote/remote_connection.py:397: in _request
    resp = self._conn.request(method, url, body=body, headers=headers)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14....../site-packages/urllib3/_request_methods.py:143: in request
    return self.request_encode_body(
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14....../site-packages/urllib3/_request_methods.py:278: in request_encode_body
    return self.urlopen(method, url, **extra_kw)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.............../site-packages/urllib3/poolmanager.py:448: in urlopen
    conn = self.connection_from_host(u.host, port=u.port, scheme=u.scheme)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.............../site-packages/urllib3/poolmanager.py:319: in connection_from_host
    return self.connection_from_context(request_context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.............../site-packages/urllib3/poolmanager.py:344: in connection_from_context
    return self.connection_from_pool_key(pool_key, request_context=request_context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.............../site-packages/urllib3/poolmanager.py:367: in connection_from_pool_key
    pool = self._new_pool(scheme, host, port, request_context=request_context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.............../site-packages/urllib3/poolmanager.py:281: in _new_pool
    return pool_cls(host, port, **request_context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../site-packages/urllib3/connectionpool.py:193: in __init__
    timeout = Timeout.from_float(timeout)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../urllib3/util/timeout.py:186: in from_float
    return Timeout(read=timeout, connect=timeout)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../urllib3/util/timeout.py:115: in __init__
    self._connect = self._validate_timeout(connect, "connect")
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cls = <class 'urllib3.util.timeout.Timeout'>
value = <object object at 0x7f9cdfb81a30>, name = 'connect'

    @classmethod
    def _validate_timeout(cls, value: _TYPE_TIMEOUT, name: str) -> _TYPE_TIMEOUT:
        """Check that a timeout attribute is valid.
    
        :param value: The timeout value to validate
        :param name: The name of the timeout attribute to validate. This is
            used to specify in error messages.
        :return: The validated and casted version of the given value.
        :raises ValueError: If it is a numeric value less than or equal to
            zero, or the type is not an integer, float, or None.
        """
        if value is None or value is _DEFAULT_TIMEOUT:
            return value
    
        if isinstance(value, bool):
            raise ValueError(
                "Timeout cannot be a boolean value. It must "
                "be an int, float or None."
            )
        try:
            float(value)
        except (TypeError, ValueError):
>           raise ValueError(
                "Timeout value %s was %s, but it must be an "
                "int, float or None." % (name, value)
            ) from None
E           ValueError: Timeout value connect was <object object at 0x7f9cdfb81a30>, but it must be an int, float or None.

.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../urllib3/util/timeout.py:152: ValueError
tests/test_selenium_datatable_2.py::test_get_item_by_property_name_not_match
Stack Traces | 0s run time
url = 'http://localhost:5002'

    @pytest.fixture(scope='session')
    def driver(url):
        chrome_options = Options()
        chrome_options.add_argument('--headless')
>       driver = webdriver.Chrome(options=chrome_options)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/conftest.py:17: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/chrome/webdriver.py:76: in __init__
    RemoteWebDriver.__init__(
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/remote/webdriver.py:157: in __init__
    self.start_session(capabilities, browser_profile)
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/remote/webdriver.py:252: in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/remote/webdriver.py:319: in execute
    response = self.command_executor.execute(driver_command, params)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/remote/remote_connection.py:374: in execute
    return self._request(command_info[0], url, body=data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/remote/remote_connection.py:397: in _request
    resp = self._conn.request(method, url, body=body, headers=headers)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14....../site-packages/urllib3/_request_methods.py:143: in request
    return self.request_encode_body(
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14....../site-packages/urllib3/_request_methods.py:278: in request_encode_body
    return self.urlopen(method, url, **extra_kw)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.............../site-packages/urllib3/poolmanager.py:448: in urlopen
    conn = self.connection_from_host(u.host, port=u.port, scheme=u.scheme)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.............../site-packages/urllib3/poolmanager.py:319: in connection_from_host
    return self.connection_from_context(request_context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.............../site-packages/urllib3/poolmanager.py:344: in connection_from_context
    return self.connection_from_pool_key(pool_key, request_context=request_context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.............../site-packages/urllib3/poolmanager.py:367: in connection_from_pool_key
    pool = self._new_pool(scheme, host, port, request_context=request_context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.............../site-packages/urllib3/poolmanager.py:281: in _new_pool
    return pool_cls(host, port, **request_context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../site-packages/urllib3/connectionpool.py:193: in __init__
    timeout = Timeout.from_float(timeout)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../urllib3/util/timeout.py:186: in from_float
    return Timeout(read=timeout, connect=timeout)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../urllib3/util/timeout.py:115: in __init__
    self._connect = self._validate_timeout(connect, "connect")
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cls = <class 'urllib3.util.timeout.Timeout'>
value = <object object at 0x7f9cdfb81a30>, name = 'connect'

    @classmethod
    def _validate_timeout(cls, value: _TYPE_TIMEOUT, name: str) -> _TYPE_TIMEOUT:
        """Check that a timeout attribute is valid.
    
        :param value: The timeout value to validate
        :param name: The name of the timeout attribute to validate. This is
            used to specify in error messages.
        :return: The validated and casted version of the given value.
        :raises ValueError: If it is a numeric value less than or equal to
            zero, or the type is not an integer, float, or None.
        """
        if value is None or value is _DEFAULT_TIMEOUT:
            return value
    
        if isinstance(value, bool):
            raise ValueError(
                "Timeout cannot be a boolean value. It must "
                "be an int, float or None."
            )
        try:
            float(value)
        except (TypeError, ValueError):
>           raise ValueError(
                "Timeout value %s was %s, but it must be an "
                "int, float or None." % (name, value)
            ) from None
E           ValueError: Timeout value connect was <object object at 0x7f9cdfb81a30>, but it must be an int, float or None.

.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../urllib3/util/timeout.py:152: ValueError
tests/test_selenium_datatable_2.py::test_get_item_by_property_name_one_property
Stack Traces | 0s run time
url = 'http://localhost:5002'

    @pytest.fixture(scope='session')
    def driver(url):
        chrome_options = Options()
        chrome_options.add_argument('--headless')
>       driver = webdriver.Chrome(options=chrome_options)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/conftest.py:17: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/chrome/webdriver.py:76: in __init__
    RemoteWebDriver.__init__(
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/remote/webdriver.py:157: in __init__
    self.start_session(capabilities, browser_profile)
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/remote/webdriver.py:252: in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/remote/webdriver.py:319: in execute
    response = self.command_executor.execute(driver_command, params)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/remote/remote_connection.py:374: in execute
    return self._request(command_info[0], url, body=data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/remote/remote_connection.py:397: in _request
    resp = self._conn.request(method, url, body=body, headers=headers)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14....../site-packages/urllib3/_request_methods.py:143: in request
    return self.request_encode_body(
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14....../site-packages/urllib3/_request_methods.py:278: in request_encode_body
    return self.urlopen(method, url, **extra_kw)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.............../site-packages/urllib3/poolmanager.py:448: in urlopen
    conn = self.connection_from_host(u.host, port=u.port, scheme=u.scheme)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.............../site-packages/urllib3/poolmanager.py:319: in connection_from_host
    return self.connection_from_context(request_context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.............../site-packages/urllib3/poolmanager.py:344: in connection_from_context
    return self.connection_from_pool_key(pool_key, request_context=request_context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.............../site-packages/urllib3/poolmanager.py:367: in connection_from_pool_key
    pool = self._new_pool(scheme, host, port, request_context=request_context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.............../site-packages/urllib3/poolmanager.py:281: in _new_pool
    return pool_cls(host, port, **request_context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../site-packages/urllib3/connectionpool.py:193: in __init__
    timeout = Timeout.from_float(timeout)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../urllib3/util/timeout.py:186: in from_float
    return Timeout(read=timeout, connect=timeout)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../urllib3/util/timeout.py:115: in __init__
    self._connect = self._validate_timeout(connect, "connect")
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cls = <class 'urllib3.util.timeout.Timeout'>
value = <object object at 0x7f9cdfb81a30>, name = 'connect'

    @classmethod
    def _validate_timeout(cls, value: _TYPE_TIMEOUT, name: str) -> _TYPE_TIMEOUT:
        """Check that a timeout attribute is valid.
    
        :param value: The timeout value to validate
        :param name: The name of the timeout attribute to validate. This is
            used to specify in error messages.
        :return: The validated and casted version of the given value.
        :raises ValueError: If it is a numeric value less than or equal to
            zero, or the type is not an integer, float, or None.
        """
        if value is None or value is _DEFAULT_TIMEOUT:
            return value
    
        if isinstance(value, bool):
            raise ValueError(
                "Timeout cannot be a boolean value. It must "
                "be an int, float or None."
            )
        try:
            float(value)
        except (TypeError, ValueError):
>           raise ValueError(
                "Timeout value %s was %s, but it must be an "
                "int, float or None." % (name, value)
            ) from None
E           ValueError: Timeout value connect was <object object at 0x7f9cdfb81a30>, but it must be an int, float or None.

.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../urllib3/util/timeout.py:152: ValueError
tests/test_selenium_datatable_2.py::test_get_item_by_property_name_two_properties
Stack Traces | 0s run time
url = 'http://localhost:5002'

    @pytest.fixture(scope='session')
    def driver(url):
        chrome_options = Options()
        chrome_options.add_argument('--headless')
>       driver = webdriver.Chrome(options=chrome_options)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/conftest.py:17: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/chrome/webdriver.py:76: in __init__
    RemoteWebDriver.__init__(
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/remote/webdriver.py:157: in __init__
    self.start_session(capabilities, browser_profile)
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/remote/webdriver.py:252: in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/remote/webdriver.py:319: in execute
    response = self.command_executor.execute(driver_command, params)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/remote/remote_connection.py:374: in execute
    return self._request(command_info[0], url, body=data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/remote/remote_connection.py:397: in _request
    resp = self._conn.request(method, url, body=body, headers=headers)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14....../site-packages/urllib3/_request_methods.py:143: in request
    return self.request_encode_body(
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14....../site-packages/urllib3/_request_methods.py:278: in request_encode_body
    return self.urlopen(method, url, **extra_kw)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.............../site-packages/urllib3/poolmanager.py:448: in urlopen
    conn = self.connection_from_host(u.host, port=u.port, scheme=u.scheme)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.............../site-packages/urllib3/poolmanager.py:319: in connection_from_host
    return self.connection_from_context(request_context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.............../site-packages/urllib3/poolmanager.py:344: in connection_from_context
    return self.connection_from_pool_key(pool_key, request_context=request_context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.............../site-packages/urllib3/poolmanager.py:367: in connection_from_pool_key
    pool = self._new_pool(scheme, host, port, request_context=request_context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.............../site-packages/urllib3/poolmanager.py:281: in _new_pool
    return pool_cls(host, port, **request_context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../site-packages/urllib3/connectionpool.py:193: in __init__
    timeout = Timeout.from_float(timeout)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../urllib3/util/timeout.py:186: in from_float
    return Timeout(read=timeout, connect=timeout)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../urllib3/util/timeout.py:115: in __init__
    self._connect = self._validate_timeout(connect, "connect")
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cls = <class 'urllib3.util.timeout.Timeout'>
value = <object object at 0x7f9cdfb81a30>, name = 'connect'

    @classmethod
    def _validate_timeout(cls, value: _TYPE_TIMEOUT, name: str) -> _TYPE_TIMEOUT:
        """Check that a timeout attribute is valid.
    
        :param value: The timeout value to validate
        :param name: The name of the timeout attribute to validate. This is
            used to specify in error messages.
        :return: The validated and casted version of the given value.
        :raises ValueError: If it is a numeric value less than or equal to
            zero, or the type is not an integer, float, or None.
        """
        if value is None or value is _DEFAULT_TIMEOUT:
            return value
    
        if isinstance(value, bool):
            raise ValueError(
                "Timeout cannot be a boolean value. It must "
                "be an int, float or None."
            )
        try:
            float(value)
        except (TypeError, ValueError):
>           raise ValueError(
                "Timeout value %s was %s, but it must be an "
                "int, float or None." % (name, value)
            ) from None
E           ValueError: Timeout value connect was <object object at 0x7f9cdfb81a30>, but it must be an int, float or None.

.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../urllib3/util/timeout.py:152: ValueError
tests/test_selenium_datatable_2.py::test_get_item_from_first_row
Stack Traces | 0s run time
url = 'http://localhost:5002'

    @pytest.fixture(scope='session')
    def driver(url):
        chrome_options = Options()
        chrome_options.add_argument('--headless')
>       driver = webdriver.Chrome(options=chrome_options)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/conftest.py:17: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/chrome/webdriver.py:76: in __init__
    RemoteWebDriver.__init__(
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/remote/webdriver.py:157: in __init__
    self.start_session(capabilities, browser_profile)
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/remote/webdriver.py:252: in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/remote/webdriver.py:319: in execute
    response = self.command_executor.execute(driver_command, params)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/remote/remote_connection.py:374: in execute
    return self._request(command_info[0], url, body=data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/remote/remote_connection.py:397: in _request
    resp = self._conn.request(method, url, body=body, headers=headers)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14....../site-packages/urllib3/_request_methods.py:143: in request
    return self.request_encode_body(
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14....../site-packages/urllib3/_request_methods.py:278: in request_encode_body
    return self.urlopen(method, url, **extra_kw)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.............../site-packages/urllib3/poolmanager.py:448: in urlopen
    conn = self.connection_from_host(u.host, port=u.port, scheme=u.scheme)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.............../site-packages/urllib3/poolmanager.py:319: in connection_from_host
    return self.connection_from_context(request_context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.............../site-packages/urllib3/poolmanager.py:344: in connection_from_context
    return self.connection_from_pool_key(pool_key, request_context=request_context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.............../site-packages/urllib3/poolmanager.py:367: in connection_from_pool_key
    pool = self._new_pool(scheme, host, port, request_context=request_context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.............../site-packages/urllib3/poolmanager.py:281: in _new_pool
    return pool_cls(host, port, **request_context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../site-packages/urllib3/connectionpool.py:193: in __init__
    timeout = Timeout.from_float(timeout)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../urllib3/util/timeout.py:186: in from_float
    return Timeout(read=timeout, connect=timeout)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../urllib3/util/timeout.py:115: in __init__
    self._connect = self._validate_timeout(connect, "connect")
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cls = <class 'urllib3.util.timeout.Timeout'>
value = <object object at 0x7f9cdfb81a30>, name = 'connect'

    @classmethod
    def _validate_timeout(cls, value: _TYPE_TIMEOUT, name: str) -> _TYPE_TIMEOUT:
        """Check that a timeout attribute is valid.
    
        :param value: The timeout value to validate
        :param name: The name of the timeout attribute to validate. This is
            used to specify in error messages.
        :return: The validated and casted version of the given value.
        :raises ValueError: If it is a numeric value less than or equal to
            zero, or the type is not an integer, float, or None.
        """
        if value is None or value is _DEFAULT_TIMEOUT:
            return value
    
        if isinstance(value, bool):
            raise ValueError(
                "Timeout cannot be a boolean value. It must "
                "be an int, float or None."
            )
        try:
            float(value)
        except (TypeError, ValueError):
>           raise ValueError(
                "Timeout value %s was %s, but it must be an "
                "int, float or None." % (name, value)
            ) from None
E           ValueError: Timeout value connect was <object object at 0x7f9cdfb81a30>, but it must be an int, float or None.

.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../urllib3/util/timeout.py:152: ValueError
tests/test_selenium_datatable_2.py::test_get_item_from_second_row
Stack Traces | 0s run time
url = 'http://localhost:5002'

    @pytest.fixture(scope='session')
    def driver(url):
        chrome_options = Options()
        chrome_options.add_argument('--headless')
>       driver = webdriver.Chrome(options=chrome_options)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/conftest.py:17: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/chrome/webdriver.py:76: in __init__
    RemoteWebDriver.__init__(
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/remote/webdriver.py:157: in __init__
    self.start_session(capabilities, browser_profile)
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/remote/webdriver.py:252: in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/remote/webdriver.py:319: in execute
    response = self.command_executor.execute(driver_command, params)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/remote/remote_connection.py:374: in execute
    return self._request(command_info[0], url, body=data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/remote/remote_connection.py:397: in _request
    resp = self._conn.request(method, url, body=body, headers=headers)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14....../site-packages/urllib3/_request_methods.py:143: in request
    return self.request_encode_body(
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14....../site-packages/urllib3/_request_methods.py:278: in request_encode_body
    return self.urlopen(method, url, **extra_kw)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.............../site-packages/urllib3/poolmanager.py:448: in urlopen
    conn = self.connection_from_host(u.host, port=u.port, scheme=u.scheme)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.............../site-packages/urllib3/poolmanager.py:319: in connection_from_host
    return self.connection_from_context(request_context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.............../site-packages/urllib3/poolmanager.py:344: in connection_from_context
    return self.connection_from_pool_key(pool_key, request_context=request_context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.............../site-packages/urllib3/poolmanager.py:367: in connection_from_pool_key
    pool = self._new_pool(scheme, host, port, request_context=request_context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.............../site-packages/urllib3/poolmanager.py:281: in _new_pool
    return pool_cls(host, port, **request_context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../site-packages/urllib3/connectionpool.py:193: in __init__
    timeout = Timeout.from_float(timeout)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../urllib3/util/timeout.py:186: in from_float
    return Timeout(read=timeout, connect=timeout)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../urllib3/util/timeout.py:115: in __init__
    self._connect = self._validate_timeout(connect, "connect")
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cls = <class 'urllib3.util.timeout.Timeout'>
value = <object object at 0x7f9cdfb81a30>, name = 'connect'

    @classmethod
    def _validate_timeout(cls, value: _TYPE_TIMEOUT, name: str) -> _TYPE_TIMEOUT:
        """Check that a timeout attribute is valid.
    
        :param value: The timeout value to validate
        :param name: The name of the timeout attribute to validate. This is
            used to specify in error messages.
        :return: The validated and casted version of the given value.
        :raises ValueError: If it is a numeric value less than or equal to
            zero, or the type is not an integer, float, or None.
        """
        if value is None or value is _DEFAULT_TIMEOUT:
            return value
    
        if isinstance(value, bool):
            raise ValueError(
                "Timeout cannot be a boolean value. It must "
                "be an int, float or None."
            )
        try:
            float(value)
        except (TypeError, ValueError):
>           raise ValueError(
                "Timeout value %s was %s, but it must be an "
                "int, float or None." % (name, value)
            ) from None
E           ValueError: Timeout value connect was <object object at 0x7f9cdfb81a30>, but it must be an int, float or None.

.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../urllib3/util/timeout.py:152: ValueError
tests/test_selenium_datatable_2.py::test_item_with_none_column
Stack Traces | 0s run time
url = 'http://localhost:5002'

    @pytest.fixture(scope='session')
    def driver(url):
        chrome_options = Options()
        chrome_options.add_argument('--headless')
>       driver = webdriver.Chrome(options=chrome_options)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/conftest.py:17: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/chrome/webdriver.py:76: in __init__
    RemoteWebDriver.__init__(
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/remote/webdriver.py:157: in __init__
    self.start_session(capabilities, browser_profile)
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/remote/webdriver.py:252: in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/remote/webdriver.py:319: in execute
    response = self.command_executor.execute(driver_command, params)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/remote/remote_connection.py:374: in execute
    return self._request(command_info[0], url, body=data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/remote/remote_connection.py:397: in _request
    resp = self._conn.request(method, url, body=body, headers=headers)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14....../site-packages/urllib3/_request_methods.py:143: in request
    return self.request_encode_body(
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14....../site-packages/urllib3/_request_methods.py:278: in request_encode_body
    return self.urlopen(method, url, **extra_kw)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.............../site-packages/urllib3/poolmanager.py:448: in urlopen
    conn = self.connection_from_host(u.host, port=u.port, scheme=u.scheme)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.............../site-packages/urllib3/poolmanager.py:319: in connection_from_host
    return self.connection_from_context(request_context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.............../site-packages/urllib3/poolmanager.py:344: in connection_from_context
    return self.connection_from_pool_key(pool_key, request_context=request_context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.............../site-packages/urllib3/poolmanager.py:367: in connection_from_pool_key
    pool = self._new_pool(scheme, host, port, request_context=request_context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.............../site-packages/urllib3/poolmanager.py:281: in _new_pool
    return pool_cls(host, port, **request_context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../site-packages/urllib3/connectionpool.py:193: in __init__
    timeout = Timeout.from_float(timeout)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../urllib3/util/timeout.py:186: in from_float
    return Timeout(read=timeout, connect=timeout)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../urllib3/util/timeout.py:115: in __init__
    self._connect = self._validate_timeout(connect, "connect")
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cls = <class 'urllib3.util.timeout.Timeout'>
value = <object object at 0x7f9cdfb81a30>, name = 'connect'

    @classmethod
    def _validate_timeout(cls, value: _TYPE_TIMEOUT, name: str) -> _TYPE_TIMEOUT:
        """Check that a timeout attribute is valid.
    
        :param value: The timeout value to validate
        :param name: The name of the timeout attribute to validate. This is
            used to specify in error messages.
        :return: The validated and casted version of the given value.
        :raises ValueError: If it is a numeric value less than or equal to
            zero, or the type is not an integer, float, or None.
        """
        if value is None or value is _DEFAULT_TIMEOUT:
            return value
    
        if isinstance(value, bool):
            raise ValueError(
                "Timeout cannot be a boolean value. It must "
                "be an int, float or None."
            )
        try:
            float(value)
        except (TypeError, ValueError):
>           raise ValueError(
                "Timeout value %s was %s, but it must be an "
                "int, float or None." % (name, value)
            ) from None
E           ValueError: Timeout value connect was <object object at 0x7f9cdfb81a30>, but it must be an int, float or None.

.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../urllib3/util/timeout.py:152: ValueError
tests/test_selenium_datatable_2.py::test_no_such_element_exception
Stack Traces | 0s run time
url = 'http://localhost:5002'

    @pytest.fixture(scope='session')
    def driver(url):
        chrome_options = Options()
        chrome_options.add_argument('--headless')
>       driver = webdriver.Chrome(options=chrome_options)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/conftest.py:17: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/chrome/webdriver.py:76: in __init__
    RemoteWebDriver.__init__(
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/remote/webdriver.py:157: in __init__
    self.start_session(capabilities, browser_profile)
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/remote/webdriver.py:252: in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/remote/webdriver.py:319: in execute
    response = self.command_executor.execute(driver_command, params)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/remote/remote_connection.py:374: in execute
    return self._request(command_info[0], url, body=data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/remote/remote_connection.py:397: in _request
    resp = self._conn.request(method, url, body=body, headers=headers)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14....../site-packages/urllib3/_request_methods.py:143: in request
    return self.request_encode_body(
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14....../site-packages/urllib3/_request_methods.py:278: in request_encode_body
    return self.urlopen(method, url, **extra_kw)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.............../site-packages/urllib3/poolmanager.py:448: in urlopen
    conn = self.connection_from_host(u.host, port=u.port, scheme=u.scheme)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.............../site-packages/urllib3/poolmanager.py:319: in connection_from_host
    return self.connection_from_context(request_context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.............../site-packages/urllib3/poolmanager.py:344: in connection_from_context
    return self.connection_from_pool_key(pool_key, request_context=request_context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.............../site-packages/urllib3/poolmanager.py:367: in connection_from_pool_key
    pool = self._new_pool(scheme, host, port, request_context=request_context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.............../site-packages/urllib3/poolmanager.py:281: in _new_pool
    return pool_cls(host, port, **request_context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../site-packages/urllib3/connectionpool.py:193: in __init__
    timeout = Timeout.from_float(timeout)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../urllib3/util/timeout.py:186: in from_float
    return Timeout(read=timeout, connect=timeout)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../urllib3/util/timeout.py:115: in __init__
    self._connect = self._validate_timeout(connect, "connect")
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cls = <class 'urllib3.util.timeout.Timeout'>
value = <object object at 0x7f9cdfb81a30>, name = 'connect'

    @classmethod
    def _validate_timeout(cls, value: _TYPE_TIMEOUT, name: str) -> _TYPE_TIMEOUT:
        """Check that a timeout attribute is valid.
    
        :param value: The timeout value to validate
        :param name: The name of the timeout attribute to validate. This is
            used to specify in error messages.
        :return: The validated and casted version of the given value.
        :raises ValueError: If it is a numeric value less than or equal to
            zero, or the type is not an integer, float, or None.
        """
        if value is None or value is _DEFAULT_TIMEOUT:
            return value
    
        if isinstance(value, bool):
            raise ValueError(
                "Timeout cannot be a boolean value. It must "
                "be an int, float or None."
            )
        try:
            float(value)
        except (TypeError, ValueError):
>           raise ValueError(
                "Timeout value %s was %s, but it must be an "
                "int, float or None." % (name, value)
            ) from None
E           ValueError: Timeout value connect was <object object at 0x7f9cdfb81a30>, but it must be an int, float or None.

.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../urllib3/util/timeout.py:152: ValueError
tests/test_selenium_datatable_2.py::test_num_of_rows
Stack Traces | 0s run time
url = 'http://localhost:5002'

    @pytest.fixture(scope='session')
    def driver(url):
        chrome_options = Options()
        chrome_options.add_argument('--headless')
>       driver = webdriver.Chrome(options=chrome_options)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/conftest.py:17: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/chrome/webdriver.py:76: in __init__
    RemoteWebDriver.__init__(
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/remote/webdriver.py:157: in __init__
    self.start_session(capabilities, browser_profile)
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/remote/webdriver.py:252: in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/remote/webdriver.py:319: in execute
    response = self.command_executor.execute(driver_command, params)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/remote/remote_connection.py:374: in execute
    return self._request(command_info[0], url, body=data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/remote/remote_connection.py:397: in _request
    resp = self._conn.request(method, url, body=body, headers=headers)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14....../site-packages/urllib3/_request_methods.py:143: in request
    return self.request_encode_body(
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14....../site-packages/urllib3/_request_methods.py:278: in request_encode_body
    return self.urlopen(method, url, **extra_kw)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.............../site-packages/urllib3/poolmanager.py:448: in urlopen
    conn = self.connection_from_host(u.host, port=u.port, scheme=u.scheme)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.............../site-packages/urllib3/poolmanager.py:319: in connection_from_host
    return self.connection_from_context(request_context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.............../site-packages/urllib3/poolmanager.py:344: in connection_from_context
    return self.connection_from_pool_key(pool_key, request_context=request_context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.............../site-packages/urllib3/poolmanager.py:367: in connection_from_pool_key
    pool = self._new_pool(scheme, host, port, request_context=request_context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.............../site-packages/urllib3/poolmanager.py:281: in _new_pool
    return pool_cls(host, port, **request_context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../site-packages/urllib3/connectionpool.py:193: in __init__
    timeout = Timeout.from_float(timeout)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../urllib3/util/timeout.py:186: in from_float
    return Timeout(read=timeout, connect=timeout)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../urllib3/util/timeout.py:115: in __init__
    self._connect = self._validate_timeout(connect, "connect")
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cls = <class 'urllib3.util.timeout.Timeout'>
value = <object object at 0x7f9cdfb81a30>, name = 'connect'

    @classmethod
    def _validate_timeout(cls, value: _TYPE_TIMEOUT, name: str) -> _TYPE_TIMEOUT:
        """Check that a timeout attribute is valid.
    
        :param value: The timeout value to validate
        :param name: The name of the timeout attribute to validate. This is
            used to specify in error messages.
        :return: The validated and casted version of the given value.
        :raises ValueError: If it is a numeric value less than or equal to
            zero, or the type is not an integer, float, or None.
        """
        if value is None or value is _DEFAULT_TIMEOUT:
            return value
    
        if isinstance(value, bool):
            raise ValueError(
                "Timeout cannot be a boolean value. It must "
                "be an int, float or None."
            )
        try:
            float(value)
        except (TypeError, ValueError):
>           raise ValueError(
                "Timeout value %s was %s, but it must be an "
                "int, float or None." % (name, value)
            ) from None
E           ValueError: Timeout value connect was <object object at 0x7f9cdfb81a30>, but it must be an int, float or None.

.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../urllib3/util/timeout.py:152: ValueError
tests/test_selenium_datatable_2.py::test_num_of_rows_in_empty_table
Stack Traces | 0s run time
url = 'http://localhost:5002'

    @pytest.fixture(scope='session')
    def driver(url):
        chrome_options = Options()
        chrome_options.add_argument('--headless')
>       driver = webdriver.Chrome(options=chrome_options)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/conftest.py:17: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/chrome/webdriver.py:76: in __init__
    RemoteWebDriver.__init__(
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/remote/webdriver.py:157: in __init__
    self.start_session(capabilities, browser_profile)
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/remote/webdriver.py:252: in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/remote/webdriver.py:319: in execute
    response = self.command_executor.execute(driver_command, params)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/remote/remote_connection.py:374: in execute
    return self._request(command_info[0], url, body=data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/remote/remote_connection.py:397: in _request
    resp = self._conn.request(method, url, body=body, headers=headers)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14....../site-packages/urllib3/_request_methods.py:143: in request
    return self.request_encode_body(
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14....../site-packages/urllib3/_request_methods.py:278: in request_encode_body
    return self.urlopen(method, url, **extra_kw)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.............../site-packages/urllib3/poolmanager.py:448: in urlopen
    conn = self.connection_from_host(u.host, port=u.port, scheme=u.scheme)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.............../site-packages/urllib3/poolmanager.py:319: in connection_from_host
    return self.connection_from_context(request_context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.............../site-packages/urllib3/poolmanager.py:344: in connection_from_context
    return self.connection_from_pool_key(pool_key, request_context=request_context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.............../site-packages/urllib3/poolmanager.py:367: in connection_from_pool_key
    pool = self._new_pool(scheme, host, port, request_context=request_context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.............../site-packages/urllib3/poolmanager.py:281: in _new_pool
    return pool_cls(host, port, **request_context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../site-packages/urllib3/connectionpool.py:193: in __init__
    timeout = Timeout.from_float(timeout)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../urllib3/util/timeout.py:186: in from_float
    return Timeout(read=timeout, connect=timeout)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../urllib3/util/timeout.py:115: in __init__
    self._connect = self._validate_timeout(connect, "connect")
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cls = <class 'urllib3.util.timeout.Timeout'>
value = <object object at 0x7f9cdfb81a30>, name = 'connect'

    @classmethod
    def _validate_timeout(cls, value: _TYPE_TIMEOUT, name: str) -> _TYPE_TIMEOUT:
        """Check that a timeout attribute is valid.
    
        :param value: The timeout value to validate
        :param name: The name of the timeout attribute to validate. This is
            used to specify in error messages.
        :return: The validated and casted version of the given value.
        :raises ValueError: If it is a numeric value less than or equal to
            zero, or the type is not an integer, float, or None.
        """
        if value is None or value is _DEFAULT_TIMEOUT:
            return value
    
        if isinstance(value, bool):
            raise ValueError(
                "Timeout cannot be a boolean value. It must "
                "be an int, float or None."
            )
        try:
            float(value)
        except (TypeError, ValueError):
>           raise ValueError(
                "Timeout value %s was %s, but it must be an "
                "int, float or None." % (name, value)
            ) from None
E           ValueError: Timeout value connect was <object object at 0x7f9cdfb81a30>, but it must be an int, float or None.

.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../urllib3/util/timeout.py:152: ValueError
tests/test_selenium_datatable_2.py::test_sequence
Stack Traces | 0s run time
url = 'http://localhost:5002'

    @pytest.fixture(scope='session')
    def driver(url):
        chrome_options = Options()
        chrome_options.add_argument('--headless')
>       driver = webdriver.Chrome(options=chrome_options)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/conftest.py:17: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/chrome/webdriver.py:76: in __init__
    RemoteWebDriver.__init__(
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/remote/webdriver.py:157: in __init__
    self.start_session(capabilities, browser_profile)
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/remote/webdriver.py:252: in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/remote/webdriver.py:319: in execute
    response = self.command_executor.execute(driver_command, params)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/remote/remote_connection.py:374: in execute
    return self._request(command_info[0], url, body=data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/remote/remote_connection.py:397: in _request
    resp = self._conn.request(method, url, body=body, headers=headers)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14....../site-packages/urllib3/_request_methods.py:143: in request
    return self.request_encode_body(
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14....../site-packages/urllib3/_request_methods.py:278: in request_encode_body
    return self.urlopen(method, url, **extra_kw)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.............../site-packages/urllib3/poolmanager.py:448: in urlopen
    conn = self.connection_from_host(u.host, port=u.port, scheme=u.scheme)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.............../site-packages/urllib3/poolmanager.py:319: in connection_from_host
    return self.connection_from_context(request_context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.............../site-packages/urllib3/poolmanager.py:344: in connection_from_context
    return self.connection_from_pool_key(pool_key, request_context=request_context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.............../site-packages/urllib3/poolmanager.py:367: in connection_from_pool_key
    pool = self._new_pool(scheme, host, port, request_context=request_context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.............../site-packages/urllib3/poolmanager.py:281: in _new_pool
    return pool_cls(host, port, **request_context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../site-packages/urllib3/connectionpool.py:193: in __init__
    timeout = Timeout.from_float(timeout)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../urllib3/util/timeout.py:186: in from_float
    return Timeout(read=timeout, connect=timeout)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../urllib3/util/timeout.py:115: in __init__
    self._connect = self._validate_timeout(connect, "connect")
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cls = <class 'urllib3.util.timeout.Timeout'>
value = <object object at 0x7f9cdfb81a30>, name = 'connect'

    @classmethod
    def _validate_timeout(cls, value: _TYPE_TIMEOUT, name: str) -> _TYPE_TIMEOUT:
        """Check that a timeout attribute is valid.
    
        :param value: The timeout value to validate
        :param name: The name of the timeout attribute to validate. This is
            used to specify in error messages.
        :return: The validated and casted version of the given value.
        :raises ValueError: If it is a numeric value less than or equal to
            zero, or the type is not an integer, float, or None.
        """
        if value is None or value is _DEFAULT_TIMEOUT:
            return value
    
        if isinstance(value, bool):
            raise ValueError(
                "Timeout cannot be a boolean value. It must "
                "be an int, float or None."
            )
        try:
            float(value)
        except (TypeError, ValueError):
>           raise ValueError(
                "Timeout value %s was %s, but it must be an "
                "int, float or None." % (name, value)
            ) from None
E           ValueError: Timeout value connect was <object object at 0x7f9cdfb81a30>, but it must be an int, float or None.

.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../urllib3/util/timeout.py:152: ValueError
tests/test_selenium_datatable_2.py::test_comprehension_list_slice
Stack Traces | 0.378s run time
url = 'http://localhost:5002'

    @pytest.fixture(scope='session')
    def driver(url):
        chrome_options = Options()
        chrome_options.add_argument('--headless')
>       driver = webdriver.Chrome(options=chrome_options)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/conftest.py:17: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/chrome/webdriver.py:76: in __init__
    RemoteWebDriver.__init__(
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/remote/webdriver.py:157: in __init__
    self.start_session(capabilities, browser_profile)
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/remote/webdriver.py:252: in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/remote/webdriver.py:319: in execute
    response = self.command_executor.execute(driver_command, params)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/remote/remote_connection.py:374: in execute
    return self._request(command_info[0], url, body=data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/remote/remote_connection.py:397: in _request
    resp = self._conn.request(method, url, body=body, headers=headers)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14....../site-packages/urllib3/_request_methods.py:143: in request
    return self.request_encode_body(
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14....../site-packages/urllib3/_request_methods.py:278: in request_encode_body
    return self.urlopen(method, url, **extra_kw)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.............../site-packages/urllib3/poolmanager.py:448: in urlopen
    conn = self.connection_from_host(u.host, port=u.port, scheme=u.scheme)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.............../site-packages/urllib3/poolmanager.py:319: in connection_from_host
    return self.connection_from_context(request_context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.............../site-packages/urllib3/poolmanager.py:344: in connection_from_context
    return self.connection_from_pool_key(pool_key, request_context=request_context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.............../site-packages/urllib3/poolmanager.py:367: in connection_from_pool_key
    pool = self._new_pool(scheme, host, port, request_context=request_context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.............../site-packages/urllib3/poolmanager.py:281: in _new_pool
    return pool_cls(host, port, **request_context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../site-packages/urllib3/connectionpool.py:193: in __init__
    timeout = Timeout.from_float(timeout)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../urllib3/util/timeout.py:186: in from_float
    return Timeout(read=timeout, connect=timeout)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../urllib3/util/timeout.py:115: in __init__
    self._connect = self._validate_timeout(connect, "connect")
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cls = <class 'urllib3.util.timeout.Timeout'>
value = <object object at 0x7f9cdfb81a30>, name = 'connect'

    @classmethod
    def _validate_timeout(cls, value: _TYPE_TIMEOUT, name: str) -> _TYPE_TIMEOUT:
        """Check that a timeout attribute is valid.
    
        :param value: The timeout value to validate
        :param name: The name of the timeout attribute to validate. This is
            used to specify in error messages.
        :return: The validated and casted version of the given value.
        :raises ValueError: If it is a numeric value less than or equal to
            zero, or the type is not an integer, float, or None.
        """
        if value is None or value is _DEFAULT_TIMEOUT:
            return value
    
        if isinstance(value, bool):
            raise ValueError(
                "Timeout cannot be a boolean value. It must "
                "be an int, float or None."
            )
        try:
            float(value)
        except (TypeError, ValueError):
>           raise ValueError(
                "Timeout value %s was %s, but it must be an "
                "int, float or None." % (name, value)
            ) from None
E           ValueError: Timeout value connect was <object object at 0x7f9cdfb81a30>, but it must be an int, float or None.

.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../urllib3/util/timeout.py:152: ValueError
tests/test_selenium_datatable_2.py::test_get_headers
Stack Traces | 1.04s run time
url = 'http://localhost:5002'

    @pytest.fixture(scope='session')
    def driver(url):
        chrome_options = Options()
        chrome_options.add_argument('--headless')
>       driver = webdriver.Chrome(options=chrome_options)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/conftest.py:17: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/chrome/webdriver.py:76: in __init__
    RemoteWebDriver.__init__(
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/remote/webdriver.py:157: in __init__
    self.start_session(capabilities, browser_profile)
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/remote/webdriver.py:252: in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/remote/webdriver.py:319: in execute
    response = self.command_executor.execute(driver_command, params)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/remote/remote_connection.py:374: in execute
    return self._request(command_info[0], url, body=data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../webdriver/remote/remote_connection.py:397: in _request
    resp = self._conn.request(method, url, body=body, headers=headers)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14....../site-packages/urllib3/_request_methods.py:143: in request
    return self.request_encode_body(
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14....../site-packages/urllib3/_request_methods.py:278: in request_encode_body
    return self.urlopen(method, url, **extra_kw)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.............../site-packages/urllib3/poolmanager.py:448: in urlopen
    conn = self.connection_from_host(u.host, port=u.port, scheme=u.scheme)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.............../site-packages/urllib3/poolmanager.py:319: in connection_from_host
    return self.connection_from_context(request_context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.............../site-packages/urllib3/poolmanager.py:344: in connection_from_context
    return self.connection_from_pool_key(pool_key, request_context=request_context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.............../site-packages/urllib3/poolmanager.py:367: in connection_from_pool_key
    pool = self._new_pool(scheme, host, port, request_context=request_context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.............../site-packages/urllib3/poolmanager.py:281: in _new_pool
    return pool_cls(host, port, **request_context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../site-packages/urllib3/connectionpool.py:193: in __init__
    timeout = Timeout.from_float(timeout)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../urllib3/util/timeout.py:186: in from_float
    return Timeout(read=timeout, connect=timeout)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../urllib3/util/timeout.py:115: in __init__
    self._connect = self._validate_timeout(connect, "connect")
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cls = <class 'urllib3.util.timeout.Timeout'>
value = <object object at 0x7f9cdfb81a30>, name = 'connect'

    @classmethod
    def _validate_timeout(cls, value: _TYPE_TIMEOUT, name: str) -> _TYPE_TIMEOUT:
        """Check that a timeout attribute is valid.
    
        :param value: The timeout value to validate
        :param name: The name of the timeout attribute to validate. This is
            used to specify in error messages.
        :return: The validated and casted version of the given value.
        :raises ValueError: If it is a numeric value less than or equal to
            zero, or the type is not an integer, float, or None.
        """
        if value is None or value is _DEFAULT_TIMEOUT:
            return value
    
        if isinstance(value, bool):
            raise ValueError(
                "Timeout cannot be a boolean value. It must "
                "be an int, float or None."
            )
        try:
            float(value)
        except (TypeError, ValueError):
>           raise ValueError(
                "Timeout value %s was %s, but it must be an "
                "int, float or None." % (name, value)
            ) from None
E           ValueError: Timeout value connect was <object object at 0x7f9cdfb81a30>, but it must be an int, float or None.

.../hostedtoolcache/Python/3.14.0.................................................../x64/lib/python3.14.../urllib3/util/timeout.py:152: ValueError

To view more test analytics, go to the Test Analytics Dashboard
📋 Got 3 mins? Take this short survey to help us improve Test Analytics.

@fundakol fundakol force-pushed the move-setup-to-pyproject-toml branch 11 times, most recently from 65e285b to c521259 Compare November 20, 2025 21:25
Added uv.lock.
Refactored CI to use uv.
@fundakol fundakol force-pushed the move-setup-to-pyproject-toml branch from c521259 to 6952c21 Compare November 20, 2025 21:29
@fundakol fundakol merged commit 1fd24b8 into master Nov 20, 2025
8 checks passed
@fundakol fundakol deleted the move-setup-to-pyproject-toml branch November 20, 2025 21:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant