[ 
https://issues.apache.org/jira/browse/TINKERPOP-3116?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17892258#comment-17892258
 ] 

ASF GitHub Bot commented on TINKERPOP-3116:
-------------------------------------------

Cole-Greer commented on PR #2844:
URL: https://github.com/apache/tinkerpop/pull/2844#issuecomment-2433110999

   Hi @JonZeolla, thanks for opening this PR, it makes sense that we should 
directly declare this dependency. I just checked the dependency tree from 
gremlinpython 3.6.7 in my environment, and I'm seeing that async_timeout is 
transitively included with a looser version restriction than what you are 
explicitly adding `>=4.0.0a3,<5.0`. Would you be ok with loosening the version 
range in this PR such that we aren't increasing any restrictions on users with 
this change?
   
   ```
   gremlinpython==3.6.7
   ├── aenum [required: >=1.4.5,<4.0.0, installed: 3.1.15]
   ├── aiohttp [required: >=3.8.0,<4.0.0, installed: 3.8.6]
   │   ├── aiosignal [required: >=1.1.2, installed: 1.3.1]
   │   │   └── frozenlist [required: >=1.1.0, installed: 1.4.0]
   │   ├── async-timeout [required: >=4.0.0a3,<5.0, installed: 4.0.3]
   │   ├── attrs [required: >=17.3.0, installed: 23.1.0]
   │   ├── charset-normalizer [required: >=2.0,<4.0, installed: 3.3.0]
   │   ├── frozenlist [required: >=1.1.1, installed: 1.4.0]
   │   ├── multidict [required: >=4.5,<7.0, installed: 6.0.4]
   │   └── yarl [required: >=1.0,<2.0, installed: 1.9.2]
   │       ├── idna [required: >=2.0, installed: 3.4]
   │       └── multidict [required: >=4.0, installed: 6.0.4]
   ```




> async_timeout not declared in gremlinpython dependencies
> --------------------------------------------------------
>
>                 Key: TINKERPOP-3116
>                 URL: https://issues.apache.org/jira/browse/TINKERPOP-3116
>             Project: TinkerPop
>          Issue Type: Bug
>          Components: python
>    Affects Versions: 3.7.2
>            Reporter: Jon Zeolla
>            Priority: Minor
>
> `async-timeout` is missing from [the install 
> requirements|https://github.com/apache/tinkerpop/blob/49829884a5617ed1a86211e69826c16e549b0600/gremlin-python/src/main/python/setup.py#L47-L52].
>  This appears to have been untouched for quite a while; possibly some 
> upstream dependency no longer uses `async-timeout`?
> `async-timeout` _is_ installed [in the 
> example|https://github.com/apache/tinkerpop/blob/49829884a5617ed1a86211e69826c16e549b0600/gremlin-python/src/main/python/examples/requirements.txt#L21]
>  and after I do a fresh install of `gremlinpython` I saw the following:
> ```bash
> ➜ python3
> Python 3.12.6 (main, Sep  9 2024, 21:36:32) [Clang 18.1.8 ] on darwin
> Type "help", "copyright", "credits" or "license" for more information.
> >>> from gremlin_python.process.anonymous_traversal import traversal
> >>> from gremlin_python.driver.driver_remote_connection import 
> >>> DriverRemoteConnection
> >>> g = 
> >>> traversal().with_remote(DriverRemoteConnection('ws://localhost:8182/gremlin','g'))
> Traceback (most recent call last):
>   File 
> "/Users/example/tinkerpop/.venv/lib/python3.12/site-packages/gremlin_python/driver/client.py",
>  line 70, in __init__
>     from gremlin_python.driver.aiohttp.transport import (
>   File 
> "/Users/example/tinkerpop/.venv/lib/python3.12/site-packages/gremlin_python/driver/aiohttp/transport.py",
>  line 21, in <module>
>     import async_timeout
> ModuleNotFoundError: No module named 'async_timeout'
> During handling of the above exception, another exception occurred:
> Traceback (most recent call last):
>   File "<stdin>", line 1, in <module>
>   File 
> "/Users/example/tinkerpop/.venv/lib/python3.12/site-packages/gremlin_python/driver/driver_remote_connection.py",
>  line 69, in __init__
>     self._client = client.Client(url, traversal_source,
>                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>   File 
> "/Users/example/tinkerpop/.venv/lib/python3.12/site-packages/gremlin_python/driver/client.py",
>  line 73, in __init__
>     raise Exception("Please install AIOHTTP or pass "
> ```
> After installing `async-timeout` I now get:
> ```bash
> ➜ python3
> Python 3.12.6 (main, Sep  9 2024, 21:36:32) [Clang 18.1.8 ] on darwin
> Type "help", "copyright", "credits" or "license" for more information.
> >>> from gremlin_python.process.anonymous_traversal import traversal
> >>> from gremlin_python.driver.driver_remote_connection import 
> >>> DriverRemoteConnection
> >>>
> >>> g = 
> >>> traversal().with_remote(DriverRemoteConnection('ws://localhost:8182/gremlin',
> >>>  'g'))
> ```
> h2. My environment
> macOS 15.0.1, M2
> Python 3.12.6
> gremlin_python 3.7.2



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to