gremlinpython 3.7.2__tar.gz → 3.7.4__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.4/NOTICE +5 -0
- {gremlinpython-3.7.2/gremlinpython.egg-info → gremlinpython-3.7.4}/PKG-INFO +5 -2
- {gremlinpython-3.7.2 → gremlinpython-3.7.4}/gremlin_python/__version__.py +2 -2
- {gremlinpython-3.7.2 → gremlinpython-3.7.4}/gremlin_python/driver/aiohttp/transport.py +7 -1
- {gremlinpython-3.7.2 → gremlinpython-3.7.4}/gremlin_python/driver/client.py +4 -2
- {gremlinpython-3.7.2 → gremlinpython-3.7.4}/gremlin_python/driver/connection.py +13 -3
- {gremlinpython-3.7.2 → gremlinpython-3.7.4}/gremlin_python/driver/driver_remote_connection.py +3 -1
- {gremlinpython-3.7.2 → gremlinpython-3.7.4}/gremlin_python/driver/useragent.py +1 -1
- {gremlinpython-3.7.2 → gremlinpython-3.7.4}/gremlin_python/process/graph_traversal.py +39 -6
- {gremlinpython-3.7.2 → gremlinpython-3.7.4}/gremlin_python/structure/io/graphbinaryV1.py +12 -3
- {gremlinpython-3.7.2 → gremlinpython-3.7.4/gremlinpython.egg-info}/PKG-INFO +5 -2
- {gremlinpython-3.7.2 → gremlinpython-3.7.4}/gremlinpython.egg-info/requires.txt +1 -1
- {gremlinpython-3.7.2 → gremlinpython-3.7.4}/setup.cfg +0 -3
- {gremlinpython-3.7.2 → gremlinpython-3.7.4}/setup.py +7 -9
- gremlinpython-3.7.2/NOTICE +0 -5
- {gremlinpython-3.7.2 → gremlinpython-3.7.4}/LICENSE +0 -0
- {gremlinpython-3.7.2 → gremlinpython-3.7.4}/MANIFEST.in +0 -0
- {gremlinpython-3.7.2 → gremlinpython-3.7.4}/README.rst +0 -0
- {gremlinpython-3.7.2 → gremlinpython-3.7.4}/gremlin_python/__init__.py +0 -0
- {gremlinpython-3.7.2 → gremlinpython-3.7.4}/gremlin_python/driver/__init__.py +0 -0
- {gremlinpython-3.7.2 → gremlinpython-3.7.4}/gremlin_python/driver/aiohttp/__init__.py +0 -0
- {gremlinpython-3.7.2 → gremlinpython-3.7.4}/gremlin_python/driver/protocol.py +0 -0
- {gremlinpython-3.7.2 → gremlinpython-3.7.4}/gremlin_python/driver/remote_connection.py +0 -0
- {gremlinpython-3.7.2 → gremlinpython-3.7.4}/gremlin_python/driver/request.py +0 -0
- {gremlinpython-3.7.2 → gremlinpython-3.7.4}/gremlin_python/driver/resultset.py +0 -0
- {gremlinpython-3.7.2 → gremlinpython-3.7.4}/gremlin_python/driver/serializer.py +0 -0
- {gremlinpython-3.7.2 → gremlinpython-3.7.4}/gremlin_python/driver/transport.py +0 -0
- {gremlinpython-3.7.2 → gremlinpython-3.7.4}/gremlin_python/process/__init__.py +0 -0
- {gremlinpython-3.7.2 → gremlinpython-3.7.4}/gremlin_python/process/anonymous_traversal.py +0 -0
- {gremlinpython-3.7.2 → gremlinpython-3.7.4}/gremlin_python/process/strategies.py +0 -0
- {gremlinpython-3.7.2 → gremlinpython-3.7.4}/gremlin_python/process/translator.py +0 -0
- {gremlinpython-3.7.2 → gremlinpython-3.7.4}/gremlin_python/process/traversal.py +0 -0
- {gremlinpython-3.7.2 → gremlinpython-3.7.4}/gremlin_python/statics.py +0 -0
- {gremlinpython-3.7.2 → gremlinpython-3.7.4}/gremlin_python/structure/__init__.py +0 -0
- {gremlinpython-3.7.2 → gremlinpython-3.7.4}/gremlin_python/structure/graph.py +0 -0
- {gremlinpython-3.7.2 → gremlinpython-3.7.4}/gremlin_python/structure/io/__init__.py +0 -0
- {gremlinpython-3.7.2 → gremlinpython-3.7.4}/gremlin_python/structure/io/graphsonV2d0.py +0 -0
- {gremlinpython-3.7.2 → gremlinpython-3.7.4}/gremlin_python/structure/io/graphsonV3d0.py +0 -0
- {gremlinpython-3.7.2 → gremlinpython-3.7.4}/gremlin_python/structure/io/util.py +0 -0
- {gremlinpython-3.7.2 → gremlinpython-3.7.4}/gremlinpython.egg-info/SOURCES.txt +0 -0
- {gremlinpython-3.7.2 → gremlinpython-3.7.4}/gremlinpython.egg-info/dependency_links.txt +0 -0
- {gremlinpython-3.7.2 → gremlinpython-3.7.4}/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.4
|
|
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,15 @@ 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")
|
|
57
|
+
if "max_msg_size" not in self._aiohttp_kwargs:
|
|
58
|
+
self._aiohttp_kwargs["max_msg_size"] = 10 * 1024 * 1024
|
|
55
59
|
if "ssl_options" in self._aiohttp_kwargs:
|
|
56
60
|
self._aiohttp_kwargs["ssl"] = self._aiohttp_kwargs.pop("ssl_options")
|
|
61
|
+
if self._enable_compression and "compress" not in self._aiohttp_kwargs:
|
|
62
|
+
self._aiohttp_kwargs["compress"] = 15 # enable per-message deflate compression with 32k sliding window size
|
|
57
63
|
|
|
58
64
|
def __del__(self):
|
|
59
65
|
# 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.4}/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.4" # DO NOT MODIFY - Configured automatically by Maven Replacer Plugin
|
|
22
22
|
|
|
23
23
|
def _generate_user_agent():
|
|
24
24
|
application_name = "NotAvailable"
|
|
@@ -542,9 +542,16 @@ class GraphTraversal(Traversal):
|
|
|
542
542
|
"gremlin_python.process.GraphTraversalSource.hasKey will be replaced by "
|
|
543
543
|
"gremlin_python.process.GraphTraversalSource.has_key.",
|
|
544
544
|
DeprecationWarning)
|
|
545
|
-
return self.
|
|
545
|
+
return self.has_key(*args)
|
|
546
546
|
|
|
547
547
|
def has_key_(self, *args):
|
|
548
|
+
warnings.warn(
|
|
549
|
+
"gremlin_python.process.GraphTraversalSource.has_key_ will be replaced by "
|
|
550
|
+
"gremlin_python.process.GraphTraversalSource.has_key.",
|
|
551
|
+
DeprecationWarning)
|
|
552
|
+
return self.has_key(*args)
|
|
553
|
+
|
|
554
|
+
def has_key(self, *args):
|
|
548
555
|
self.bytecode.add_step("hasKey", *args)
|
|
549
556
|
return self
|
|
550
557
|
|
|
@@ -1301,11 +1308,19 @@ class __(object, metaclass=MagicType):
|
|
|
1301
1308
|
"gremlin_python.process.__.hasKey will be replaced by "
|
|
1302
1309
|
"gremlin_python.process.__.has_key.",
|
|
1303
1310
|
DeprecationWarning)
|
|
1304
|
-
return cls.
|
|
1311
|
+
return cls.has_key(*args)
|
|
1305
1312
|
|
|
1306
1313
|
@classmethod
|
|
1307
1314
|
def has_key_(cls, *args):
|
|
1308
|
-
|
|
1315
|
+
warnings.warn(
|
|
1316
|
+
"gremlin_python.process.__.has_key_ will be replaced by "
|
|
1317
|
+
"gremlin_python.process.__.has_key.",
|
|
1318
|
+
DeprecationWarning)
|
|
1319
|
+
return cls.has_key(*args)
|
|
1320
|
+
|
|
1321
|
+
@classmethod
|
|
1322
|
+
def has_key (cls, *args):
|
|
1323
|
+
return cls.graph_traversal(None, None, Bytecode()).has_key(*args)
|
|
1309
1324
|
|
|
1310
1325
|
@classmethod
|
|
1311
1326
|
def hasLabel(cls, *args):
|
|
@@ -1467,6 +1482,10 @@ class __(object, metaclass=MagicType):
|
|
|
1467
1482
|
def min_(cls, *args):
|
|
1468
1483
|
return cls.graph_traversal(None, None, Bytecode()).min_(*args)
|
|
1469
1484
|
|
|
1485
|
+
@classmethod
|
|
1486
|
+
def none(cls, *args):
|
|
1487
|
+
return cls.graph_traversal(None, None, Bytecode()).none(*args)
|
|
1488
|
+
|
|
1470
1489
|
@classmethod
|
|
1471
1490
|
def not_(cls, *args):
|
|
1472
1491
|
return cls.graph_traversal(None, None, Bytecode()).not_(*args)
|
|
@@ -1943,6 +1962,10 @@ def dedup(*args):
|
|
|
1943
1962
|
return __.dedup(*args)
|
|
1944
1963
|
|
|
1945
1964
|
|
|
1965
|
+
def disjunct(*args):
|
|
1966
|
+
return __.disjunct(*args)
|
|
1967
|
+
|
|
1968
|
+
|
|
1946
1969
|
def drop(*args):
|
|
1947
1970
|
return __.drop(*args)
|
|
1948
1971
|
|
|
@@ -2012,12 +2035,14 @@ def has_id(*args):
|
|
|
2012
2035
|
|
|
2013
2036
|
|
|
2014
2037
|
def hasKey(*args):
|
|
2015
|
-
return __.
|
|
2038
|
+
return __.has_key(*args)
|
|
2016
2039
|
|
|
2017
2040
|
|
|
2018
2041
|
def has_key_(*args):
|
|
2019
|
-
return __.
|
|
2042
|
+
return __.has_key(*args)
|
|
2020
2043
|
|
|
2044
|
+
def has_key(*args):
|
|
2045
|
+
return __.has_key(*args)
|
|
2021
2046
|
|
|
2022
2047
|
def hasLabel(*args):
|
|
2023
2048
|
return __.has_label(*args)
|
|
@@ -2147,6 +2172,10 @@ def min_(*args):
|
|
|
2147
2172
|
return __.min_(*args)
|
|
2148
2173
|
|
|
2149
2174
|
|
|
2175
|
+
def none(*args):
|
|
2176
|
+
return __.none(*args)
|
|
2177
|
+
|
|
2178
|
+
|
|
2150
2179
|
def not_(*args):
|
|
2151
2180
|
return __.not_(*args)
|
|
2152
2181
|
|
|
@@ -2435,6 +2464,8 @@ statics.add_static('date_diff', date_diff)
|
|
|
2435
2464
|
|
|
2436
2465
|
statics.add_static('dedup', dedup)
|
|
2437
2466
|
|
|
2467
|
+
statics.add_static('disjunct', disjunct)
|
|
2468
|
+
|
|
2438
2469
|
statics.add_static('drop', drop)
|
|
2439
2470
|
|
|
2440
2471
|
statics.add_static('element', element)
|
|
@@ -2471,7 +2502,7 @@ statics.add_static('has_id', has_id)
|
|
|
2471
2502
|
|
|
2472
2503
|
statics.add_static('hasKey', hasKey)
|
|
2473
2504
|
|
|
2474
|
-
statics.add_static('has_key',
|
|
2505
|
+
statics.add_static('has_key', has_key)
|
|
2475
2506
|
|
|
2476
2507
|
statics.add_static('hasLabel', hasLabel)
|
|
2477
2508
|
|
|
@@ -2535,6 +2566,8 @@ statics.add_static('merge_v', merge_v)
|
|
|
2535
2566
|
|
|
2536
2567
|
statics.add_static('min_', min_)
|
|
2537
2568
|
|
|
2569
|
+
statics.add_static('none', none)
|
|
2570
|
+
|
|
2538
2571
|
statics.add_static('not_', not_)
|
|
2539
2572
|
|
|
2540
2573
|
statics.add_static('optional', optional)
|
|
@@ -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.4
|
|
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
|
)
|
gremlinpython-3.7.2/NOTICE
DELETED
|
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
|