gremlinpython 3.6.7__tar.gz → 3.6.8__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. {gremlinpython-3.6.7/gremlinpython.egg-info → gremlinpython-3.6.8}/PKG-INFO +5 -2
  2. {gremlinpython-3.6.7 → gremlinpython-3.6.8}/gremlin_python/__version__.py +2 -2
  3. {gremlinpython-3.6.7 → gremlinpython-3.6.8}/gremlin_python/driver/aiohttp/transport.py +5 -1
  4. {gremlinpython-3.6.7 → gremlinpython-3.6.8}/gremlin_python/driver/client.py +4 -2
  5. {gremlinpython-3.6.7 → gremlinpython-3.6.8}/gremlin_python/driver/connection.py +13 -3
  6. {gremlinpython-3.6.7 → gremlinpython-3.6.8}/gremlin_python/driver/driver_remote_connection.py +3 -1
  7. {gremlinpython-3.6.7 → gremlinpython-3.6.8}/gremlin_python/driver/useragent.py +1 -1
  8. {gremlinpython-3.6.7 → gremlinpython-3.6.8/gremlinpython.egg-info}/PKG-INFO +5 -2
  9. {gremlinpython-3.6.7 → gremlinpython-3.6.8}/gremlinpython.egg-info/requires.txt +1 -1
  10. {gremlinpython-3.6.7 → gremlinpython-3.6.8}/setup.cfg +0 -3
  11. {gremlinpython-3.6.7 → gremlinpython-3.6.8}/setup.py +7 -9
  12. {gremlinpython-3.6.7 → gremlinpython-3.6.8}/LICENSE +0 -0
  13. {gremlinpython-3.6.7 → gremlinpython-3.6.8}/MANIFEST.in +0 -0
  14. {gremlinpython-3.6.7 → gremlinpython-3.6.8}/NOTICE +0 -0
  15. {gremlinpython-3.6.7 → gremlinpython-3.6.8}/README.rst +0 -0
  16. {gremlinpython-3.6.7 → gremlinpython-3.6.8}/gremlin_python/__init__.py +0 -0
  17. {gremlinpython-3.6.7 → gremlinpython-3.6.8}/gremlin_python/driver/__init__.py +0 -0
  18. {gremlinpython-3.6.7 → gremlinpython-3.6.8}/gremlin_python/driver/aiohttp/__init__.py +0 -0
  19. {gremlinpython-3.6.7 → gremlinpython-3.6.8}/gremlin_python/driver/protocol.py +0 -0
  20. {gremlinpython-3.6.7 → gremlinpython-3.6.8}/gremlin_python/driver/remote_connection.py +0 -0
  21. {gremlinpython-3.6.7 → gremlinpython-3.6.8}/gremlin_python/driver/request.py +0 -0
  22. {gremlinpython-3.6.7 → gremlinpython-3.6.8}/gremlin_python/driver/resultset.py +0 -0
  23. {gremlinpython-3.6.7 → gremlinpython-3.6.8}/gremlin_python/driver/serializer.py +0 -0
  24. {gremlinpython-3.6.7 → gremlinpython-3.6.8}/gremlin_python/driver/transport.py +0 -0
  25. {gremlinpython-3.6.7 → gremlinpython-3.6.8}/gremlin_python/process/__init__.py +0 -0
  26. {gremlinpython-3.6.7 → gremlinpython-3.6.8}/gremlin_python/process/anonymous_traversal.py +0 -0
  27. {gremlinpython-3.6.7 → gremlinpython-3.6.8}/gremlin_python/process/graph_traversal.py +0 -0
  28. {gremlinpython-3.6.7 → gremlinpython-3.6.8}/gremlin_python/process/strategies.py +0 -0
  29. {gremlinpython-3.6.7 → gremlinpython-3.6.8}/gremlin_python/process/translator.py +0 -0
  30. {gremlinpython-3.6.7 → gremlinpython-3.6.8}/gremlin_python/process/traversal.py +0 -0
  31. {gremlinpython-3.6.7 → gremlinpython-3.6.8}/gremlin_python/statics.py +0 -0
  32. {gremlinpython-3.6.7 → gremlinpython-3.6.8}/gremlin_python/structure/__init__.py +0 -0
  33. {gremlinpython-3.6.7 → gremlinpython-3.6.8}/gremlin_python/structure/graph.py +0 -0
  34. {gremlinpython-3.6.7 → gremlinpython-3.6.8}/gremlin_python/structure/io/__init__.py +0 -0
  35. {gremlinpython-3.6.7 → gremlinpython-3.6.8}/gremlin_python/structure/io/graphbinaryV1.py +0 -0
  36. {gremlinpython-3.6.7 → gremlinpython-3.6.8}/gremlin_python/structure/io/graphsonV2d0.py +0 -0
  37. {gremlinpython-3.6.7 → gremlinpython-3.6.8}/gremlin_python/structure/io/graphsonV3d0.py +0 -0
  38. {gremlinpython-3.6.7 → gremlinpython-3.6.8}/gremlin_python/structure/io/util.py +0 -0
  39. {gremlinpython-3.6.7 → gremlinpython-3.6.8}/gremlinpython.egg-info/SOURCES.txt +0 -0
  40. {gremlinpython-3.6.7 → gremlinpython-3.6.8}/gremlinpython.egg-info/dependency_links.txt +0 -0
  41. {gremlinpython-3.6.7 → gremlinpython-3.6.8}/gremlinpython.egg-info/top_level.txt +0 -0
@@ -1,14 +1,17 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: gremlinpython
3
- Version: 3.6.7
3
+ Version: 3.6.8
4
4
  Summary: Gremlin-Python for Apache TinkerPop
5
- Home-page: http://tinkerpop.apache.org
5
+ Home-page: https://tinkerpop.apache.org
6
+ Maintainer: Apache TinkerPop
7
+ Maintainer-email: dev@tinkerpop.apache.org
6
8
  License: Apache 2
7
9
  Platform: UNKNOWN
8
10
  Classifier: Intended Audience :: Developers
9
11
  Classifier: License :: OSI Approved :: Apache Software License
10
12
  Classifier: Natural Language :: English
11
13
  Classifier: Programming Language :: Python :: 3
14
+ Requires-Python: >=3.9
12
15
  Description-Content-Type: text/x-rst
13
16
  Provides-Extra: kerberos
14
17
  Provides-Extra: ujson
@@ -16,5 +16,5 @@ KIND, either express or implied. See the License for the
16
16
  specific language governing permissions and limitations
17
17
  under the License.
18
18
  '''
19
- version = '3.6.7'
20
- timestamp = 1713192014
19
+ version = '3.6.8'
20
+ timestamp = 1730222094
@@ -29,7 +29,8 @@ __author__ = 'Lyndon Bauto (lyndonb@bitquilltech.com)'
29
29
  class AiohttpTransport(AbstractBaseTransport):
30
30
  nest_asyncio_applied = False
31
31
 
32
- def __init__(self, call_from_event_loop=None, read_timeout=None, write_timeout=None, **kwargs):
32
+ def __init__(self, call_from_event_loop=None, read_timeout=None, write_timeout=None, enable_compression=False,
33
+ **kwargs):
33
34
  if call_from_event_loop is not None and call_from_event_loop and not AiohttpTransport.nest_asyncio_applied:
34
35
  """
35
36
  The AiohttpTransport implementation uses the asyncio event loop. Because of this, it cannot be called
@@ -50,10 +51,13 @@ class AiohttpTransport(AbstractBaseTransport):
50
51
  self._aiohttp_kwargs = kwargs
51
52
  self._write_timeout = write_timeout
52
53
  self._read_timeout = read_timeout
54
+ self._enable_compression = enable_compression
53
55
  if "max_content_length" in self._aiohttp_kwargs:
54
56
  self._aiohttp_kwargs["max_msg_size"] = self._aiohttp_kwargs.pop("max_content_length")
55
57
  if "ssl_options" in self._aiohttp_kwargs:
56
58
  self._aiohttp_kwargs["ssl"] = self._aiohttp_kwargs.pop("ssl_options")
59
+ if self._enable_compression and "compress" not in self._aiohttp_kwargs:
60
+ self._aiohttp_kwargs["compress"] = 15 # enable per-message deflate compression with 32k sliding window size
57
61
 
58
62
  def __del__(self):
59
63
  # Close will only actually close if things are left open, so this is safe to call.
@@ -44,7 +44,8 @@ class Client:
44
44
  transport_factory=None, pool_size=None, max_workers=None,
45
45
  message_serializer=None, username="", password="",
46
46
  kerberized_service="", headers=None, session=None,
47
- enable_user_agent_on_connect=True, **transport_kwargs):
47
+ enable_user_agent_on_connect=True, enable_compression=False,
48
+ **transport_kwargs):
48
49
  log.info("Creating Client with url '%s'", url)
49
50
 
50
51
  # check via url that we are using http protocol
@@ -55,6 +56,7 @@ class Client:
55
56
  self._headers = headers
56
57
  self._enable_user_agent_on_connect = enable_user_agent_on_connect
57
58
  self._traversal_source = traversal_source
59
+ self._enable_compression = enable_compression
58
60
  if not self._use_http and "max_content_length" not in transport_kwargs:
59
61
  transport_kwargs["max_content_length"] = 10 * 1024 * 1024
60
62
  if message_serializer is None:
@@ -77,7 +79,7 @@ class Client:
77
79
  if self._use_http:
78
80
  return AiohttpHTTPTransport(**transport_kwargs)
79
81
  else:
80
- return AiohttpTransport(**transport_kwargs)
82
+ return AiohttpTransport(enable_compression=enable_compression, **transport_kwargs)
81
83
  self._transport_factory = transport_factory
82
84
  if protocol_factory is None:
83
85
  def protocol_factory():
@@ -39,9 +39,7 @@ class Connection:
39
39
  self._inited = False
40
40
  self._enable_user_agent_on_connect = enable_user_agent_on_connect
41
41
  if self._enable_user_agent_on_connect:
42
- if self._headers is None:
43
- self._headers = dict()
44
- self._headers[useragent.userAgentHeader] = useragent.userAgent
42
+ self.__add_header(useragent.userAgentHeader, useragent.userAgent)
45
43
 
46
44
  def connect(self):
47
45
  if self._transport:
@@ -94,3 +92,15 @@ class Connection:
94
92
  break
95
93
  finally:
96
94
  self._pool.put_nowait(self)
95
+
96
+ def __add_header(self, key, value):
97
+ if self._headers is None:
98
+ self._headers = dict()
99
+ # Headers may be a list of pairs
100
+ if isinstance(self._headers, list):
101
+ for pair in self._headers:
102
+ if pair[0] == key:
103
+ self._headers.remove(pair)
104
+ self._headers.append((key, value))
105
+ else:
106
+ self._headers[key] = value
@@ -39,7 +39,7 @@ class DriverRemoteConnection(RemoteConnection):
39
39
  username="", password="", kerberized_service='',
40
40
  message_serializer=None, graphson_reader=None,
41
41
  graphson_writer=None, headers=None, session=None,
42
- enable_user_agent_on_connect=True, **transport_kwargs):
42
+ enable_user_agent_on_connect=True, enable_compression=False, **transport_kwargs):
43
43
  log.info("Creating DriverRemoteConnection with url '%s'", str(url))
44
44
  self.__url = url
45
45
  self.__traversal_source = traversal_source
@@ -56,6 +56,7 @@ class DriverRemoteConnection(RemoteConnection):
56
56
  self.__headers = headers
57
57
  self.__session = session
58
58
  self.__enable_user_agent_on_connect = enable_user_agent_on_connect
59
+ self.__enable_compression = enable_compression
59
60
  self.__transport_kwargs = transport_kwargs
60
61
 
61
62
  # keeps a list of sessions that have been spawned from this DriverRemoteConnection
@@ -78,6 +79,7 @@ class DriverRemoteConnection(RemoteConnection):
78
79
  headers=headers,
79
80
  session=session,
80
81
  enable_user_agent_on_connect=enable_user_agent_on_connect,
82
+ enable_compression=enable_compression,
81
83
  **transport_kwargs)
82
84
  self._url = self._client._url
83
85
  self._traversal_source = self._client._traversal_source
@@ -18,7 +18,7 @@
18
18
  #
19
19
  import platform
20
20
 
21
- gremlin_version = "3.6.7" # DO NOT MODIFY - Configured automatically by Maven Replacer Plugin
21
+ gremlin_version = "3.6.8" # DO NOT MODIFY - Configured automatically by Maven Replacer Plugin
22
22
 
23
23
  def _generate_user_agent():
24
24
  application_name = "NotAvailable"
@@ -1,14 +1,17 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: gremlinpython
3
- Version: 3.6.7
3
+ Version: 3.6.8
4
4
  Summary: Gremlin-Python for Apache TinkerPop
5
- Home-page: http://tinkerpop.apache.org
5
+ Home-page: https://tinkerpop.apache.org
6
+ Maintainer: Apache TinkerPop
7
+ Maintainer-email: dev@tinkerpop.apache.org
6
8
  License: Apache 2
7
9
  Platform: UNKNOWN
8
10
  Classifier: Intended Audience :: Developers
9
11
  Classifier: License :: OSI Approved :: Apache Software License
10
12
  Classifier: Natural Language :: English
11
13
  Classifier: Programming Language :: Python :: 3
14
+ Requires-Python: >=3.9
12
15
  Description-Content-Type: text/x-rst
13
16
  Provides-Extra: kerberos
14
17
  Provides-Extra: ujson
@@ -1,8 +1,8 @@
1
1
  nest_asyncio
2
2
  aiohttp<4.0.0,>=3.8.0
3
3
  aenum<4.0.0,>=1.4.5
4
- six<2.0.0,>=1.10.0
5
4
  isodate<1.0.0,>=0.6.0
5
+ async-timeout<5.0.0,>=4.0.3
6
6
 
7
7
  [kerberos]
8
8
  kerberos<2.0.0,>=1.3.0
@@ -1,6 +1,3 @@
1
- [bdist_wheel]
2
- universal = 1
3
-
4
1
  [aliases]
5
2
  test = pytest
6
3
 
@@ -18,7 +18,6 @@ under the License.
18
18
  """
19
19
  import codecs
20
20
  import os
21
- import sys
22
21
  import time
23
22
  from setuptools import setup
24
23
 
@@ -48,13 +47,10 @@ install_requires = [
48
47
  'nest_asyncio',
49
48
  'aiohttp>=3.8.0,<4.0.0',
50
49
  'aenum>=1.4.5,<4.0.0',
51
- 'six>=1.10.0,<2.0.0',
52
- 'isodate>=0.6.0,<1.0.0'
50
+ 'isodate>=0.6.0,<1.0.0',
51
+ 'async-timeout>=4.0.3,<5.0.0'
53
52
  ]
54
53
 
55
- if sys.version_info < (3, 5):
56
- install_requires += ['pyparsing>=2.4.7,<3.0.0']
57
-
58
54
  setup(
59
55
  name='gremlinpython',
60
56
  version=version,
@@ -62,8 +58,10 @@ setup(
62
58
  'gremlin_python.driver.aiohttp', 'gremlin_python.process',
63
59
  'gremlin_python.structure', 'gremlin_python.structure.io'],
64
60
  license='Apache 2',
65
- url='http://tinkerpop.apache.org',
61
+ url='https://tinkerpop.apache.org',
66
62
  description='Gremlin-Python for Apache TinkerPop',
63
+ maintainer='Apache TinkerPop',
64
+ maintainer_email='dev@tinkerpop.apache.org',
67
65
  long_description=codecs.open("README.rst", "r", "UTF-8").read(),
68
66
  long_description_content_type='text/x-rst',
69
67
  test_suite="tests",
@@ -74,7 +72,6 @@ setup(
74
72
  ],
75
73
  tests_require=[
76
74
  'pytest>=4.6.4,<7.2.0',
77
- 'mock>=3.0.5,<5.0.0',
78
75
  'radish-bdd==0.13.4',
79
76
  'PyHamcrest>=1.9.0,<3.0.0'
80
77
  ],
@@ -88,5 +85,6 @@ setup(
88
85
  "License :: OSI Approved :: Apache Software License",
89
86
  "Natural Language :: English",
90
87
  "Programming Language :: Python :: 3"
91
- ]
88
+ ],
89
+ python_requires='>=3.9'
92
90
  )
File without changes
File without changes
File without changes
File without changes