qlever 0.5.11__py3-none-any.whl → 0.5.15__py3-none-any.whl
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.
Potentially problematic release.
This version of qlever might be problematic. Click here for more details.
- qlever/Qleverfiles/Qleverfile.dblp +1 -1
- qlever/Qleverfiles/Qleverfile.pubchem +102 -26
- qlever/Qleverfiles/Qleverfile.uniprot +48 -16
- qlever/Qleverfiles/Qleverfile.wikidata +1 -3
- qlever/commands/add_text_index.py +2 -1
- qlever/commands/cache_stats.py +1 -1
- qlever/commands/clear_cache.py +4 -2
- qlever/commands/example_queries.py +120 -50
- qlever/commands/get_data.py +1 -1
- qlever/commands/index.py +148 -77
- qlever/commands/index_stats.py +90 -59
- qlever/commands/log.py +12 -2
- qlever/commands/query.py +66 -27
- qlever/commands/setup_config.py +1 -1
- qlever/commands/start.py +9 -3
- qlever/commands/status.py +2 -1
- qlever/commands/stop.py +4 -6
- qlever/commands/system_info.py +1 -1
- qlever/commands/ui.py +3 -1
- qlever/commands/warmup.py +1 -1
- qlever/qlever_main.py +16 -9
- {qlever-0.5.11.dist-info → qlever-0.5.15.dist-info}/METADATA +1 -1
- {qlever-0.5.11.dist-info → qlever-0.5.15.dist-info}/RECORD +27 -27
- {qlever-0.5.11.dist-info → qlever-0.5.15.dist-info}/LICENSE +0 -0
- {qlever-0.5.11.dist-info → qlever-0.5.15.dist-info}/WHEEL +0 -0
- {qlever-0.5.11.dist-info → qlever-0.5.15.dist-info}/entry_points.txt +0 -0
- {qlever-0.5.11.dist-info → qlever-0.5.15.dist-info}/top_level.txt +0 -0
qlever/commands/query.py
CHANGED
|
@@ -18,42 +18,82 @@ class QueryCommand(QleverCommand):
|
|
|
18
18
|
pass
|
|
19
19
|
|
|
20
20
|
def description(self) -> str:
|
|
21
|
-
return
|
|
21
|
+
return "Send a query to a SPARQL endpoint"
|
|
22
22
|
|
|
23
23
|
def should_have_qleverfile(self) -> bool:
|
|
24
24
|
return False
|
|
25
25
|
|
|
26
|
-
def relevant_qleverfile_arguments(self) -> dict[str: list[str]]:
|
|
27
|
-
return {"server": ["port"]}
|
|
26
|
+
def relevant_qleverfile_arguments(self) -> dict[str : list[str]]:
|
|
27
|
+
return {"server": ["port", "access_token"]}
|
|
28
28
|
|
|
29
29
|
def additional_arguments(self, subparser) -> None:
|
|
30
|
-
subparser.add_argument(
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
subparser.add_argument(
|
|
44
|
-
|
|
45
|
-
|
|
30
|
+
subparser.add_argument(
|
|
31
|
+
"query",
|
|
32
|
+
type=str,
|
|
33
|
+
nargs="?",
|
|
34
|
+
default="SELECT * WHERE { ?s ?p ?o } LIMIT 10",
|
|
35
|
+
help="SPARQL query to send",
|
|
36
|
+
)
|
|
37
|
+
subparser.add_argument(
|
|
38
|
+
"--pin-to-cache",
|
|
39
|
+
action="store_true",
|
|
40
|
+
default=False,
|
|
41
|
+
help="Pin the query to the cache",
|
|
42
|
+
)
|
|
43
|
+
subparser.add_argument(
|
|
44
|
+
"--sparql-endpoint", type=str, help="URL of the SPARQL endpoint"
|
|
45
|
+
)
|
|
46
|
+
subparser.add_argument(
|
|
47
|
+
"--accept",
|
|
48
|
+
type=str,
|
|
49
|
+
choices=[
|
|
50
|
+
"text/tab-separated-values",
|
|
51
|
+
"text/csv",
|
|
52
|
+
"application/sparql-results+json",
|
|
53
|
+
"application/sparql-results+xml",
|
|
54
|
+
"application/qlever-results+json",
|
|
55
|
+
],
|
|
56
|
+
default="text/tab-separated-values",
|
|
57
|
+
help="Accept header for the SPARQL query",
|
|
58
|
+
)
|
|
59
|
+
subparser.add_argument(
|
|
60
|
+
"--no-time",
|
|
61
|
+
action="store_true",
|
|
62
|
+
default=False,
|
|
63
|
+
help="Do not print the (end-to-end) time taken",
|
|
64
|
+
)
|
|
46
65
|
|
|
47
66
|
def execute(self, args) -> bool:
|
|
67
|
+
# When pinning to the cache, set `send=0` and request media type
|
|
68
|
+
# `application/qlever-results+json` so that we get the result size.
|
|
69
|
+
# Also, we need to provide the access token.
|
|
70
|
+
if args.pin_to_cache:
|
|
71
|
+
args.accept = "application/qlever-results+json"
|
|
72
|
+
curl_cmd_additions = (
|
|
73
|
+
f" --data pinresult=true --data send=0"
|
|
74
|
+
f" --data access-token="
|
|
75
|
+
f"{shlex.quote(args.access_token)}"
|
|
76
|
+
f" | jq .resultsize | numfmt --grouping"
|
|
77
|
+
f" | xargs -I {{}} printf"
|
|
78
|
+
f' "Result pinned to cache,'
|
|
79
|
+
f' number of rows: {{}}\\n"'
|
|
80
|
+
)
|
|
81
|
+
else:
|
|
82
|
+
curl_cmd_additions = ""
|
|
83
|
+
|
|
48
84
|
# Show what the command will do.
|
|
49
|
-
sparql_endpoint = (
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
85
|
+
sparql_endpoint = (
|
|
86
|
+
args.sparql_endpoint if args.sparql_endpoint else f"localhost:{args.port}"
|
|
87
|
+
)
|
|
88
|
+
curl_cmd = (
|
|
89
|
+
f"curl -s {sparql_endpoint}"
|
|
90
|
+
f' -H "Accept: {args.accept}"'
|
|
91
|
+
f" --data-urlencode query={shlex.quote(args.query)}"
|
|
92
|
+
f"{curl_cmd_additions}"
|
|
93
|
+
)
|
|
54
94
|
self.show(curl_cmd, only_show=args.show)
|
|
55
95
|
if args.show:
|
|
56
|
-
return
|
|
96
|
+
return True
|
|
57
97
|
|
|
58
98
|
# Launch query.
|
|
59
99
|
try:
|
|
@@ -62,8 +102,7 @@ class QueryCommand(QleverCommand):
|
|
|
62
102
|
time_msecs = round(1000 * (time.time() - start_time))
|
|
63
103
|
if not args.no_time and args.log_level != "NO_LOG":
|
|
64
104
|
log.info("")
|
|
65
|
-
log.info(f"Query processing time (end-to-end):"
|
|
66
|
-
f" {time_msecs:,d} ms")
|
|
105
|
+
log.info(f"Query processing time (end-to-end):" f" {time_msecs:,d} ms")
|
|
67
106
|
except Exception as e:
|
|
68
107
|
if args.log_level == "DEBUG":
|
|
69
108
|
traceback.print_exc()
|
qlever/commands/setup_config.py
CHANGED
|
@@ -60,7 +60,7 @@ class SetupConfigCommand(QleverCommand):
|
|
|
60
60
|
setup_config_cmd += "> Qleverfile"
|
|
61
61
|
self.show(setup_config_cmd, only_show=args.show)
|
|
62
62
|
if args.show:
|
|
63
|
-
return
|
|
63
|
+
return True
|
|
64
64
|
|
|
65
65
|
# If there is already a Qleverfile in the current directory, exit.
|
|
66
66
|
qleverfile_path = Path("Qleverfile")
|
qlever/commands/start.py
CHANGED
|
@@ -72,7 +72,9 @@ class StartCommand(QleverCommand):
|
|
|
72
72
|
if args.kill_existing_with_same_port:
|
|
73
73
|
args.cmdline_regex = f"^ServerMain.* -p {args.port}"
|
|
74
74
|
args.no_containers = True
|
|
75
|
-
StopCommand().execute(args)
|
|
75
|
+
if not StopCommand().execute(args):
|
|
76
|
+
log.error("Stopping the existing server failed")
|
|
77
|
+
return False
|
|
76
78
|
log.info("")
|
|
77
79
|
|
|
78
80
|
# Construct the command line based on the config file.
|
|
@@ -115,7 +117,7 @@ class StartCommand(QleverCommand):
|
|
|
115
117
|
# Show the command line.
|
|
116
118
|
self.show(start_cmd, only_show=args.show)
|
|
117
119
|
if args.show:
|
|
118
|
-
return
|
|
120
|
+
return True
|
|
119
121
|
|
|
120
122
|
# When running natively, check if the binary exists and works.
|
|
121
123
|
if args.system == "native":
|
|
@@ -192,6 +194,7 @@ class StartCommand(QleverCommand):
|
|
|
192
194
|
run_command(curl_cmd)
|
|
193
195
|
except Exception as e:
|
|
194
196
|
log.error(f"Setting the index description failed ({e})")
|
|
197
|
+
return False
|
|
195
198
|
if args.text_description:
|
|
196
199
|
text_desc = args.text_description
|
|
197
200
|
curl_cmd = (f"curl -Gs http://localhost:{port}/api"
|
|
@@ -202,6 +205,7 @@ class StartCommand(QleverCommand):
|
|
|
202
205
|
run_command(curl_cmd)
|
|
203
206
|
except Exception as e:
|
|
204
207
|
log.error(f"Setting the text description failed ({e})")
|
|
208
|
+
return False
|
|
205
209
|
|
|
206
210
|
# Kill the tail process. NOTE: `tail_proc.kill()` does not work.
|
|
207
211
|
tail_proc.terminate()
|
|
@@ -209,7 +213,9 @@ class StartCommand(QleverCommand):
|
|
|
209
213
|
# Execute the warmup command.
|
|
210
214
|
if args.warmup_cmd and not args.no_warmup:
|
|
211
215
|
log.info("")
|
|
212
|
-
WarmupCommand().execute(args)
|
|
216
|
+
if not WarmupCommand().execute(args):
|
|
217
|
+
log.error("Warmup failed")
|
|
218
|
+
return False
|
|
213
219
|
|
|
214
220
|
# Show cache stats.
|
|
215
221
|
log.info("")
|
qlever/commands/status.py
CHANGED
|
@@ -35,7 +35,7 @@ class StatusCommand(QleverCommand):
|
|
|
35
35
|
f"the command line matches {args.cmdline_regex}"
|
|
36
36
|
f" using Python's psutil library", only_show=args.show)
|
|
37
37
|
if args.show:
|
|
38
|
-
return
|
|
38
|
+
return True
|
|
39
39
|
|
|
40
40
|
# Show the results as a table.
|
|
41
41
|
num_processes_found = 0
|
|
@@ -47,3 +47,4 @@ class StatusCommand(QleverCommand):
|
|
|
47
47
|
num_processes_found += 1
|
|
48
48
|
if num_processes_found == 0:
|
|
49
49
|
print("No processes found")
|
|
50
|
+
return True
|
qlever/commands/stop.py
CHANGED
|
@@ -49,7 +49,7 @@ class StopCommand(QleverCommand):
|
|
|
49
49
|
f"\"{args.server_container}\"")
|
|
50
50
|
self.show(description, only_show=args.show)
|
|
51
51
|
if args.show:
|
|
52
|
-
return
|
|
52
|
+
return True
|
|
53
53
|
|
|
54
54
|
# First check if there is container running and if yes, stop and remove
|
|
55
55
|
# it (unless the user has specified `--no-containers`).
|
|
@@ -90,14 +90,12 @@ class StopCommand(QleverCommand):
|
|
|
90
90
|
return False
|
|
91
91
|
return True
|
|
92
92
|
|
|
93
|
-
#
|
|
93
|
+
# If no matching process found, show a message and the output of the
|
|
94
|
+
# status command.
|
|
94
95
|
message = "No matching process found" if args.no_containers else \
|
|
95
96
|
"No matching process or container found"
|
|
96
97
|
log.error(message)
|
|
97
|
-
|
|
98
|
-
# Show output of status command.
|
|
99
98
|
args.cmdline_regex = "^ServerMain.* -i [^ ]*"
|
|
100
99
|
log.info("")
|
|
101
100
|
StatusCommand().execute(args)
|
|
102
|
-
|
|
103
|
-
return False
|
|
101
|
+
return True
|
qlever/commands/system_info.py
CHANGED
|
@@ -58,7 +58,7 @@ class SystemInfoCommand(QleverCommand):
|
|
|
58
58
|
# Say what the command is doing.
|
|
59
59
|
self.show("Show system information and Qleverfile", only_show=args.show)
|
|
60
60
|
if args.show:
|
|
61
|
-
return
|
|
61
|
+
return True
|
|
62
62
|
|
|
63
63
|
# Show system information.
|
|
64
64
|
show_heading("System Information")
|
qlever/commands/ui.py
CHANGED
|
@@ -70,8 +70,10 @@ class UiCommand(QleverCommand):
|
|
|
70
70
|
"\n".join(["Stop running containers", pull_cmd, run_cmd, exec_cmd]),
|
|
71
71
|
only_show=args.show,
|
|
72
72
|
)
|
|
73
|
-
if qlever_is_running_in_container
|
|
73
|
+
if qlever_is_running_in_container:
|
|
74
74
|
return False
|
|
75
|
+
if args.show:
|
|
76
|
+
return True
|
|
75
77
|
|
|
76
78
|
# Stop running containers.
|
|
77
79
|
for container_system in Containerize.supported_systems():
|
qlever/commands/warmup.py
CHANGED
qlever/qlever_main.py
CHANGED
|
@@ -35,31 +35,38 @@ def main():
|
|
|
35
35
|
log.info("")
|
|
36
36
|
log.info(colored(f"Command: {args.command}", attrs=["bold"]))
|
|
37
37
|
log.info("")
|
|
38
|
-
command_object.execute(args)
|
|
38
|
+
commandWasSuccesful = command_object.execute(args)
|
|
39
39
|
log.info("")
|
|
40
|
+
if not commandWasSuccesful:
|
|
41
|
+
exit(1)
|
|
40
42
|
except KeyboardInterrupt:
|
|
41
43
|
log.info("")
|
|
42
44
|
log.info("Ctrl-C pressed, exiting ...")
|
|
43
45
|
log.info("")
|
|
44
|
-
exit(
|
|
46
|
+
exit(1)
|
|
45
47
|
except Exception as e:
|
|
46
48
|
# Check if it's a certain kind of `AttributeError` and give a hint in
|
|
47
49
|
# that case.
|
|
48
50
|
match_error = re.search(r"object has no attribute '(.+)'", str(e))
|
|
49
|
-
match_trace = re.search(
|
|
50
|
-
|
|
51
|
+
match_trace = re.search(
|
|
52
|
+
r"(qlever/commands/.+\.py)\", line (\d+)", traceback.format_exc()
|
|
53
|
+
)
|
|
51
54
|
if isinstance(e, AttributeError) and match_error and match_trace:
|
|
52
55
|
attribute = match_error.group(1)
|
|
53
56
|
trace_command = match_trace.group(1)
|
|
54
57
|
trace_line = match_trace.group(2)
|
|
55
58
|
log.error(f"{e} in `{trace_command}` at line {trace_line}")
|
|
56
59
|
log.info("")
|
|
57
|
-
log.info(
|
|
58
|
-
|
|
59
|
-
|
|
60
|
+
log.info(
|
|
61
|
+
f"Likely cause: you used `args.{attribute}`, but it was "
|
|
62
|
+
f"neither defined in `relevant_qleverfile_arguments` "
|
|
63
|
+
f"nor in `additional_arguments`"
|
|
64
|
+
)
|
|
60
65
|
log.info("")
|
|
61
|
-
log.info(
|
|
62
|
-
|
|
66
|
+
log.info(
|
|
67
|
+
f"If you did not implement `{trace_command}` yourself, "
|
|
68
|
+
f"please report this issue"
|
|
69
|
+
)
|
|
63
70
|
log.info("")
|
|
64
71
|
else:
|
|
65
72
|
log.error(f"An unexpected error occurred: {e}")
|
|
@@ -3,11 +3,11 @@ qlever/command.py,sha256=yOr0Uc8D8-AM7EjwDsVzbc3KNYjPH-FVOZhIHkqO588,2749
|
|
|
3
3
|
qlever/config.py,sha256=qYPy-MQ7BwGrvKSazQWhs0lnlOFqm-d47mpZhc3fptc,10254
|
|
4
4
|
qlever/containerize.py,sha256=bnHmjKIFEe-NcuAMRNnXAFjRVLcLnk9f5JspCCyhgt8,5210
|
|
5
5
|
qlever/log.py,sha256=2O_RvFymnu_dB10ErBTAOsI8bgjORfdD0tE3USH-siM,1315
|
|
6
|
-
qlever/qlever_main.py,sha256
|
|
6
|
+
qlever/qlever_main.py,sha256=-E4W8YdZ_teszGwXu6bQgBcH3y47TFJU8JLPIDwc_-g,2449
|
|
7
7
|
qlever/qlever_old.py,sha256=X-JxmepFKYeFgSLLp0TRDNqXSxDwIbc8_0Xstiems8c,62026
|
|
8
8
|
qlever/qleverfile.py,sha256=lygAjI5_wV_e-JoIGIqVTdd4yyvApzZiSlqSsmdlJpU,14529
|
|
9
9
|
qlever/util.py,sha256=qLxBRyHPT2VTj0xcOCFcP6HV-Lm-g-64QpvOc4V0_a8,8029
|
|
10
|
-
qlever/Qleverfiles/Qleverfile.dblp,sha256=
|
|
10
|
+
qlever/Qleverfiles/Qleverfile.dblp,sha256=RaTJrabloAdaHwSl5V7Ws9phWyM_oXPSeZpKodZXA6c,1256
|
|
11
11
|
qlever/Qleverfiles/Qleverfile.dblp-plus,sha256=TJHxp8I1P6JKJjbuAllEpB32-huuY1gH0FlenqPVJ5g,1334
|
|
12
12
|
qlever/Qleverfiles/Qleverfile.dbpedia,sha256=aaNZZayE-zVePGSwPzXemkX__Ns8-kP_E7DNNKZPnqg,1160
|
|
13
13
|
qlever/Qleverfiles/Qleverfile.default,sha256=Kj-J1Kkv8PWN7wuMdZU6DUUlEuBIcSNysJCE-R63we8,2407
|
|
@@ -20,33 +20,33 @@ qlever/Qleverfiles/Qleverfile.olympics,sha256=5w9BOFwEBhdSzPz-0LRxwhv-7Gj6xbF539
|
|
|
20
20
|
qlever/Qleverfiles/Qleverfile.orkg,sha256=Uizz-RhlSeExgfckWztewa4l_v3zMN8IR7NaGYKrqt4,937
|
|
21
21
|
qlever/Qleverfiles/Qleverfile.osm-country,sha256=Pb9o5H3b7wVlVRgdiPHWCvrnkIRS1YUhxOazbUmoKZE,1897
|
|
22
22
|
qlever/Qleverfiles/Qleverfile.osm-planet,sha256=555aaMOIzAILvzwpCjucd_GE7TlYxmT2Qh8hME68stU,1418
|
|
23
|
-
qlever/Qleverfiles/Qleverfile.pubchem,sha256=
|
|
23
|
+
qlever/Qleverfiles/Qleverfile.pubchem,sha256=ooSj2gqTzbGY_pMCvfL-MfE7Z0d5hQB4_EF5Pp2Mn6M,14465
|
|
24
24
|
qlever/Qleverfiles/Qleverfile.scientists,sha256=9eZ2c6P9a3E3VHa3RR7LdOQbF4k3oyyrn56Z3u4LZYs,1164
|
|
25
|
-
qlever/Qleverfiles/Qleverfile.uniprot,sha256=
|
|
25
|
+
qlever/Qleverfiles/Qleverfile.uniprot,sha256=Yejez7uel9Vp8e4w-fI8-qLSqWyDUvjlq33gpebVC5k,6329
|
|
26
26
|
qlever/Qleverfiles/Qleverfile.vvz,sha256=cLzm85erKoFCDllH5eFcSi35MdR6Tahj1MgtvGRxanM,922
|
|
27
|
-
qlever/Qleverfiles/Qleverfile.wikidata,sha256=
|
|
27
|
+
qlever/Qleverfiles/Qleverfile.wikidata,sha256=zVUXF75XJyK1h-J-7EjFemzmkSyoPtng1mNY3U7S78M,2061
|
|
28
28
|
qlever/Qleverfiles/Qleverfile.wikipathways,sha256=UFEVLrtOBiSQfibBN9xc2wDXrnWcnx5f8PY9khcE6bc,1983
|
|
29
29
|
qlever/Qleverfiles/Qleverfile.yago-4,sha256=hAS_2ZmC1zxNsKXip7t1F_iqu3CC-6O7v6HZhuFbnWY,1819
|
|
30
30
|
qlever/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
31
|
-
qlever/commands/add_text_index.py,sha256=
|
|
32
|
-
qlever/commands/cache_stats.py,sha256=
|
|
33
|
-
qlever/commands/clear_cache.py,sha256=
|
|
34
|
-
qlever/commands/example_queries.py,sha256=
|
|
35
|
-
qlever/commands/get_data.py,sha256=
|
|
36
|
-
qlever/commands/index.py,sha256=
|
|
37
|
-
qlever/commands/index_stats.py,sha256=
|
|
38
|
-
qlever/commands/log.py,sha256=
|
|
39
|
-
qlever/commands/query.py,sha256=
|
|
40
|
-
qlever/commands/setup_config.py,sha256=
|
|
41
|
-
qlever/commands/start.py,sha256=
|
|
42
|
-
qlever/commands/status.py,sha256=
|
|
43
|
-
qlever/commands/stop.py,sha256=
|
|
44
|
-
qlever/commands/system_info.py,sha256=
|
|
45
|
-
qlever/commands/ui.py,sha256=
|
|
46
|
-
qlever/commands/warmup.py,sha256=
|
|
47
|
-
qlever-0.5.
|
|
48
|
-
qlever-0.5.
|
|
49
|
-
qlever-0.5.
|
|
50
|
-
qlever-0.5.
|
|
51
|
-
qlever-0.5.
|
|
52
|
-
qlever-0.5.
|
|
31
|
+
qlever/commands/add_text_index.py,sha256=cvBhX5rooRAXsn1Oput6b0B10w-MGMfS4ZPAhDfm7OQ,3669
|
|
32
|
+
qlever/commands/cache_stats.py,sha256=zGPLSWDNn7dwAAt2o-2ExqHmw1FeN8i6nEQbaaqF830,4156
|
|
33
|
+
qlever/commands/clear_cache.py,sha256=n52ohE1EE4M_B4kId_v8tbAlW-BGwG1K-ZYQ9QgxIJU,2974
|
|
34
|
+
qlever/commands/example_queries.py,sha256=g5s9nPDj9SmvLYF_sexESDJxl7YzM9cAbNqPVU5-wZg,19526
|
|
35
|
+
qlever/commands/get_data.py,sha256=nHOHMjv0tSLWJDOR0ba_LK-Bk-mcGnphb8hbqcVYFhE,1411
|
|
36
|
+
qlever/commands/index.py,sha256=02o_-EFwxyCOY7Pl49O1tVvMQELWTb5tCwdmSlNgM8w,12777
|
|
37
|
+
qlever/commands/index_stats.py,sha256=9EBo1Oq5PGjajrvWJNafJ-Wg_d90DaO5AGq9a5plSRM,11720
|
|
38
|
+
qlever/commands/log.py,sha256=vLqkgtx1udnQqoUBMWB5G9rwr-l7UKrDpyFYSMuoXWw,1987
|
|
39
|
+
qlever/commands/query.py,sha256=vu6vTeTqtKhuKbv_wzloHvbJFj_2GTHPIfDpQfrc8FE,3603
|
|
40
|
+
qlever/commands/setup_config.py,sha256=wEy1LAunpOnqrUCbazMpt1u9HJCKgXJEMxF3zjh0jb0,3344
|
|
41
|
+
qlever/commands/start.py,sha256=TdAulZqkTv9W0QBPwQqg-ixYI3iHMpZ1SHHvFRO_jbs,9524
|
|
42
|
+
qlever/commands/status.py,sha256=TtnBqcdkF3zTDKft07zpVcIX7kFu7d_nOy9b6Ohh9vQ,1650
|
|
43
|
+
qlever/commands/stop.py,sha256=AVafaoNb1JYmhulZ9_Bvq5gKcxBekb-S1QQRjBFo_-k,4160
|
|
44
|
+
qlever/commands/system_info.py,sha256=Y3DtUJAlnh6uSvIVoToE10G7SStu-L5NbalIXvBB6D0,4614
|
|
45
|
+
qlever/commands/ui.py,sha256=Ppo6YXA8JXNDPvC5D5duKGMPyhRvXfc1CaoSwjL-jBg,3644
|
|
46
|
+
qlever/commands/warmup.py,sha256=kJHzS7HJo8pD2CphJuaXDj_CYP02YDo2DVM-pun3A80,1029
|
|
47
|
+
qlever-0.5.15.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
48
|
+
qlever-0.5.15.dist-info/METADATA,sha256=A9M3q3eqWpFdUBOgKMNiPE8LnR5u78LCHJqCIZaQAfY,4583
|
|
49
|
+
qlever-0.5.15.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
|
|
50
|
+
qlever-0.5.15.dist-info/entry_points.txt,sha256=U_gbYYi0wwdsn884eb0XoOXfvhACOsxhlO330dZ9bi0,87
|
|
51
|
+
qlever-0.5.15.dist-info/top_level.txt,sha256=kd3zsYqiFd0--Czh5XTVkfEq6XR-XgRFW35X0v0GT-c,7
|
|
52
|
+
qlever-0.5.15.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|