gremlinpython 3.7.2__tar.gz → 3.7.3__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.
- {gremlinpython-3.7.2/gremlinpython.egg-info → gremlinpython-3.7.3}/PKG-INFO +5 -2
- {gremlinpython-3.7.2 → gremlinpython-3.7.3}/gremlin_python/__version__.py +2 -2
- {gremlinpython-3.7.2 → gremlinpython-3.7.3}/gremlin_python/driver/aiohttp/transport.py +5 -1
- {gremlinpython-3.7.2 → gremlinpython-3.7.3}/gremlin_python/driver/client.py +4 -2
- {gremlinpython-3.7.2 → gremlinpython-3.7.3}/gremlin_python/driver/connection.py +13 -3
- {gremlinpython-3.7.2 → gremlinpython-3.7.3}/gremlin_python/driver/driver_remote_connection.py +3 -1
- {gremlinpython-3.7.2 → gremlinpython-3.7.3}/gremlin_python/driver/useragent.py +1 -1
- {gremlinpython-3.7.2 → gremlinpython-3.7.3}/gremlin_python/structure/io/graphbinaryV1.py +12 -3
- {gremlinpython-3.7.2 → gremlinpython-3.7.3/gremlinpython.egg-info}/PKG-INFO +5 -2
- {gremlinpython-3.7.2 → gremlinpython-3.7.3}/gremlinpython.egg-info/requires.txt +1 -1
- {gremlinpython-3.7.2 → gremlinpython-3.7.3}/setup.cfg +0 -3
- {gremlinpython-3.7.2 → gremlinpython-3.7.3}/setup.py +7 -9
- {gremlinpython-3.7.2 → gremlinpython-3.7.3}/LICENSE +0 -0
- {gremlinpython-3.7.2 → gremlinpython-3.7.3}/MANIFEST.in +0 -0
- {gremlinpython-3.7.2 → gremlinpython-3.7.3}/NOTICE +0 -0
- {gremlinpython-3.7.2 → gremlinpython-3.7.3}/README.rst +0 -0
- {gremlinpython-3.7.2 → gremlinpython-3.7.3}/gremlin_python/__init__.py +0 -0
- {gremlinpython-3.7.2 → gremlinpython-3.7.3}/gremlin_python/driver/__init__.py +0 -0
- {gremlinpython-3.7.2 → gremlinpython-3.7.3}/gremlin_python/driver/aiohttp/__init__.py +0 -0
- {gremlinpython-3.7.2 → gremlinpython-3.7.3}/gremlin_python/driver/protocol.py +0 -0
- {gremlinpython-3.7.2 → gremlinpython-3.7.3}/gremlin_python/driver/remote_connection.py +0 -0
- {gremlinpython-3.7.2 → gremlinpython-3.7.3}/gremlin_python/driver/request.py +0 -0
- {gremlinpython-3.7.2 → gremlinpython-3.7.3}/gremlin_python/driver/resultset.py +0 -0
- {gremlinpython-3.7.2 → gremlinpython-3.7.3}/gremlin_python/driver/serializer.py +0 -0
- {gremlinpython-3.7.2 → gremlinpython-3.7.3}/gremlin_python/driver/transport.py +0 -0
- {gremlinpython-3.7.2 → gremlinpython-3.7.3}/gremlin_python/process/__init__.py +0 -0
- {gremlinpython-3.7.2 → gremlinpython-3.7.3}/gremlin_python/process/anonymous_traversal.py +0 -0
- {gremlinpython-3.7.2 → gremlinpython-3.7.3}/gremlin_python/process/graph_traversal.py +0 -0
- {gremlinpython-3.7.2 → gremlinpython-3.7.3}/gremlin_python/process/strategies.py +0 -0
- {gremlinpython-3.7.2 → gremlinpython-3.7.3}/gremlin_python/process/translator.py +0 -0
- {gremlinpython-3.7.2 → gremlinpython-3.7.3}/gremlin_python/process/traversal.py +0 -0
- {gremlinpython-3.7.2 → gremlinpython-3.7.3}/gremlin_python/statics.py +0 -0
- {gremlinpython-3.7.2 → gremlinpython-3.7.3}/gremlin_python/structure/__init__.py +0 -0
- {gremlinpython-3.7.2 → gremlinpython-3.7.3}/gremlin_python/structure/graph.py +0 -0
- {gremlinpython-3.7.2 → gremlinpython-3.7.3}/gremlin_python/structure/io/__init__.py +0 -0
- {gremlinpython-3.7.2 → gremlinpython-3.7.3}/gremlin_python/structure/io/graphsonV2d0.py +0 -0
- {gremlinpython-3.7.2 → gremlinpython-3.7.3}/gremlin_python/structure/io/graphsonV3d0.py +0 -0
- {gremlinpython-3.7.2 → gremlinpython-3.7.3}/gremlin_python/structure/io/util.py +0 -0
- {gremlinpython-3.7.2 → gremlinpython-3.7.3}/gremlinpython.egg-info/SOURCES.txt +0 -0
- {gremlinpython-3.7.2 → gremlinpython-3.7.3}/gremlinpython.egg-info/dependency_links.txt +0 -0
- {gremlinpython-3.7.2 → gremlinpython-3.7.3}/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.7.
|
|
3
|
+
Version: 3.7.3
|
|
4
4
|
Summary: Gremlin-Python for Apache TinkerPop
|
|
5
|
-
Home-page:
|
|
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
|
|
@@ -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,
|
|
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,
|
|
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
|
-
|
|
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
|
{gremlinpython-3.7.2 → gremlinpython-3.7.3}/gremlin_python/driver/driver_remote_connection.py
RENAMED
|
@@ -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.7.
|
|
21
|
+
gremlin_version = "3.7.3" # DO NOT MODIFY - Configured automatically by Maven Replacer Plugin
|
|
22
22
|
|
|
23
23
|
def _generate_user_agent():
|
|
24
24
|
application_name = "NotAvailable"
|
|
@@ -603,7 +603,9 @@ class EdgeIO(_GraphBinaryTypeIO):
|
|
|
603
603
|
inv = Vertex(r.read_object(b), r.to_object(b, DataType.string, False))
|
|
604
604
|
outv = Vertex(r.read_object(b), r.to_object(b, DataType.string, False))
|
|
605
605
|
b.read(2)
|
|
606
|
-
|
|
606
|
+
props = r.read_object(b)
|
|
607
|
+
# null properties are returned as empty lists
|
|
608
|
+
properties = [] if props is None else props
|
|
607
609
|
edge = Edge(edgeid, outv, edgelbl, inv, properties)
|
|
608
610
|
return edge
|
|
609
611
|
|
|
@@ -682,7 +684,12 @@ class VertexIO(_GraphBinaryTypeIO):
|
|
|
682
684
|
|
|
683
685
|
@classmethod
|
|
684
686
|
def _read_vertex(cls, b, r):
|
|
685
|
-
|
|
687
|
+
vertex_id = r.read_object(b)
|
|
688
|
+
vertex_label = r.to_object(b, DataType.string, False)
|
|
689
|
+
props = r.read_object(b)
|
|
690
|
+
# null properties are returned as empty lists
|
|
691
|
+
properties = [] if props is None else props
|
|
692
|
+
vertex = Vertex(vertex_id, vertex_label, properties)
|
|
686
693
|
return vertex
|
|
687
694
|
|
|
688
695
|
|
|
@@ -709,7 +716,9 @@ class VertexPropertyIO(_GraphBinaryTypeIO):
|
|
|
709
716
|
def _read_vertexproperty(cls, b, r):
|
|
710
717
|
vp = VertexProperty(r.read_object(b), r.to_object(b, DataType.string, False), r.read_object(b), None)
|
|
711
718
|
b.read(2)
|
|
712
|
-
|
|
719
|
+
properties = r.read_object(b)
|
|
720
|
+
# null properties are returned as empty lists
|
|
721
|
+
vp.properties = [] if properties is None else properties
|
|
713
722
|
return vp
|
|
714
723
|
|
|
715
724
|
|
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: gremlinpython
|
|
3
|
-
Version: 3.7.
|
|
3
|
+
Version: 3.7.3
|
|
4
4
|
Summary: Gremlin-Python for Apache TinkerPop
|
|
5
|
-
Home-page:
|
|
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
|
|
@@ -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
|
-
'
|
|
52
|
-
'
|
|
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='
|
|
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
|
'PyYAML>=5.3'
|
|
@@ -89,5 +86,6 @@ setup(
|
|
|
89
86
|
"License :: OSI Approved :: Apache Software License",
|
|
90
87
|
"Natural Language :: English",
|
|
91
88
|
"Programming Language :: Python :: 3"
|
|
92
|
-
]
|
|
89
|
+
],
|
|
90
|
+
python_requires='>=3.9'
|
|
93
91
|
)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|