Skip to content

Commit 27945a2

Browse files
authored
Merge pull request #358 from rmuir/fix_build_pin_deps_dependabot
fix build, pin dependencies, enable dependabot
2 parents 14b5388 + f5e1abb commit 27945a2

File tree

6 files changed

+58
-24
lines changed

6 files changed

+58
-24
lines changed

.github/dependabot.yml

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: github-actions
4+
directory: /
5+
schedule:
6+
interval: weekly
7+
day: tuesday
8+
commit-message:
9+
prefix: ci
10+
labels: [dependencies]
11+
open-pull-requests-limit: 1
12+
13+
- package-ecosystem: pip
14+
directory: /
15+
schedule:
16+
interval: weekly
17+
day: tuesday
18+
commit-message:
19+
prefix: build(deps)
20+
labels:
21+
- dependencies
22+
23+
- package-ecosystem: npm
24+
directory: /src/javascript/2d
25+
schedule:
26+
interval: weekly
27+
day: tuesday
28+
commit-message:
29+
prefix: build(deps)
30+
labels:
31+
- dependencies
32+
33+
- package-ecosystem: npm
34+
directory: /src/javascript/3d
35+
schedule:
36+
interval: weekly
37+
day: tuesday
38+
commit-message:
39+
prefix: build(deps)
40+
labels:
41+
- dependencies

pyproject.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,7 @@ ignore = [
112112
"PLW0128", # Redeclared variable in assignment
113113
"PLW0602", # Using global for `VERBOSE` but no assignment is done
114114
"PLW0603", # Using the global statement to update `camelCase` is discouraged
115+
"PLW1507", # Shallow copy of `os.environ` via `copy.copy(os.environ)`
115116
"PLW1509", # `preexec_fn` argument is unsafe when using threads
116117
"PLW2901", # `for` loop variable overwritten by assignment target
117118
"PT018", # Assertion should be broken down into multiple parts
@@ -133,11 +134,13 @@ ignore = [
133134
"PTH204", # `os.path.getmtime` should be replaced by `Path.stat().st_mtime`
134135
"PTH206", # Replace `.split(os.sep)` with `Path.parts`
135136
"PTH207", # Replace `glob` with `Path.glob` or `Path.rglob`
137+
"PTH208", # Use `pathlib.Path.iterdir()` instead.
136138
"PYI024", # Use `typing.NamedTuple` instead of `collections.namedtuple`
137139
"RET504", # Unnecessary assignment to variable before `return` statement
138140
"RET503", # Missing explicit `return` at the end of function able to return non-`None` value
139141
"RUF005", # Consider `["Foo", *series]` instead of concatenation
140142
"RUF012", # Mutable class attributes should be annotated with `typing.ClassVar`
143+
"RUF046", # Value being cast to `int` is already an integer
141144
"S101", # Use of `assert` detected
142145
"S102", # Use of `exec` detected
143146
"S104", # Possible binding to all interfaces

requirements.txt

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,24 @@
11
# used by segments-to-html
2-
graphviz
3-
intervaltree
2+
graphviz==0.20.3
3+
intervaltree==3.1.0
44

55
# used by infer-token-vectors
66
# FIXME: HMM this is an 800MB download?
77
# sentence-transformers
88

99
# used by index-chart
10-
py-gnuplot
10+
py-gnuplot==1.3
1111

1212
# used by qps-chart
13-
pillow
13+
pillow==11.1.0
1414

1515
# used by mergeviz
16-
iso8601
16+
iso8601==2.1.0
1717

1818
# used by indexosm
19-
rtree
19+
rtree==1.4.0
2020

2121
# linter and formatter
22-
ruff
22+
ruff==0.11.5
2323
# type checker
24-
basedpyright
24+
basedpyright==1.28.5

src/python/WikipediaExtractor.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -528,7 +528,7 @@ def compact(text):
528528
# Drop residuals of lists
529529
elif line[0] in "{|" or line[-1] in "}" or (line[0] == "(" and line[-1] == ")") or line.strip(".-") == "":
530530
continue
531-
elif len(headers):
531+
elif headers:
532532
items = list(headers.items())
533533
items.sort()
534534
for i, v in items:

src/python/index_sim.py

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
import bisect
2020
import collections
2121
import random
22-
import sys
2322

2423
#
2524
# each line of index events source is this syntax:
@@ -94,10 +93,7 @@ def __repr__(self):
9493
return f"<segment {self.name} in_ram={self.in_ram} size={mult * self.size_in_bytes / 1024 / 1024:.1f} MB>"
9594

9695
def add_document(self, docid, size_bytes):
97-
"""
98-
Only used for in-memory segments.
99-
"""
100-
96+
"""Only used for in-memory segments."""
10197
assert docid not in self.docs
10298
assert docid not in self.deletes
10399

@@ -163,10 +159,7 @@ def get_doc_counts(self):
163159
return max_doc, del_count
164160

165161
def refresh(self):
166-
"""
167-
Returns frozen segments for searching.
168-
"""
169-
162+
"""Returns frozen segments for searching."""
170163
for index_thread, seg in list(self.index_thread_to_segment.items()):
171164
self.flush(index_thread, seg, "refresh")
172165
print(f"after refresh {self.ram_bytes_used} {len(self.index_thread_to_segment)}")
@@ -254,14 +247,12 @@ def finish_merge(self, merged_seg, to_merge_segments, del_docs_to_reclaim, final
254247
self.maybe_merge("finish-merge")
255248

256249
def launch_merge(self, to_merge_segments, reason):
257-
"""
258-
Simulates a merge running, scheduling the end of the merge to commit / reclaim deletes.
250+
"""Simulates a merge running, scheduling the end of the merge to commit / reclaim deletes.
259251
The merge runs in the background ... once the clock advances to the merge finish time,
260252
we commit the merge.
261253
262254
We model merge run-time as simple linear multiplier on size of merged segment.
263255
"""
264-
265256
for seg in to_merge_segments:
266257
assert seg not in self.merging_segments
267258
self.merging_segments.add(seg)
@@ -412,7 +403,7 @@ def main():
412403
search_net_deletes = 0
413404
net_replicate_bytes = 0
414405

415-
with open(index_events_source, "r") as f:
406+
with open(index_events_source) as f:
416407
while True:
417408
line = f.readline()
418409
if line == "":
@@ -468,7 +459,7 @@ def main():
468459
next_print_sec += print_every_sec
469460

470461
# summary stats
471-
print(f"\nDONE!")
462+
print("\nDONE!")
472463
print(f" {search_net_docs=:,} {search_net_deletes=:,} ({100.0 * search_net_deletes / search_net_docs:.1f} %)")
473464
print(f" replicated {net_replicate_bytes / 1024 / 1024 / 1024.0:,.1f} GB")
474465

src/python/segments_to_html.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
#
1717

1818
import datetime
19-
import json
2019
import math
2120
import os
2221
import pickle

0 commit comments

Comments
 (0)