Skip to content

Commit 316d882

Browse files
committed
migrate to the new kvdbclient
1 parent 0703be7 commit 316d882

File tree

8 files changed

+19
-21
lines changed

8 files changed

+19
-21
lines changed

Dockerfile

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,4 @@ ENV GIT_SSL_NO_VERIFY=1
55
RUN mkdir -p /home/nginx/.cloudvolume/secrets && chown -R nginx /home/nginx && usermod -d /home/nginx -s /bin/bash nginx
66

77
COPY . /app
8-
RUN pip install --no-cache-dir --upgrade -r requirements.txt \
9-
&& pip install --upgrade git+https://github.com/seung-lab/KVDbClient.git@main
8+
RUN pip install --no-cache-dir --upgrade -r requirements.txt

ingest.v1.Dockerfile

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,4 @@ RUN mkdir -p /home/nginx/.cloudvolume/secrets && chown -R nginx /home/nginx && u
55

66
COPY . /app
77
RUN pip install --no-cache-dir --upgrade -r requirements.txt \
8-
&& pip install --upgrade git+https://github.com/CAVEconnectome/PyChunkedGraph.git@pcgv1 \
9-
&& pip install --upgrade git+https://github.com/seung-lab/KVDbClient.git@main
8+
&& pip install --upgrade git+https://github.com/CAVEconnectome/PyChunkedGraph.git@pcgv1

ingest.v2.Dockerfile

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ RUN mkdir -p /home/nginx/.cloudvolume/secrets && chown -R nginx /home/nginx && u
88

99
COPY requirements.txt .
1010
RUN pip install --upgrade --no-cache-dir -r requirements.txt \
11-
&& pip install --upgrade git+https://github.com/CAVEconnectome/PyChunkedGraph.git@main \
12-
&& pip install --upgrade git+https://github.com/seung-lab/KVDbClient.git@main
11+
&& pip install --upgrade git+https://github.com/CAVEconnectome/PyChunkedGraph.git@main
1312

1413
COPY . /app

pcgl2cache/core/attributes.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import numpy as np
22
from kvdbclient.serializers import NumPyArray
33
from kvdbclient.serializers import NumPyValue
4-
from kvdbclient.bigtable.attributes import Attribute
4+
from kvdbclient.attributes import _Attribute as Attribute
55

66
UINT64 = np.dtype("uint64").newbyteorder("L")
77
UINT32 = np.dtype("uint32").newbyteorder("L")

pcgl2cache/core/features.py

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
from edt import edt
77
from sklearn import decomposition
88
from kvdbclient import BigTableClient
9+
from kvdbclient.base import serialize_uint64
910
from cloudvolume import CloudVolume
1011

1112
from . import attributes
@@ -314,10 +315,7 @@ def run_l2cache(
314315

315316

316317
def write_to_db(client: BigTableClient, result_d: dict) -> None:
317-
from kvdbclient.base import Entry
318-
from kvdbclient.base import EntryKey
319-
320-
entries = []
318+
rows = []
321319
for tup in zip(*result_d.values()):
322320
(
323321
l2id,
@@ -340,5 +338,5 @@ def write_to_db(client: BigTableClient, result_d: dict) -> None:
340338
attributes.PCA: pca_comp,
341339
attributes.PCA_VAL: pca_vals,
342340
}
343-
entries.append(Entry(EntryKey(l2id), val_d))
344-
client.write_entries(entries)
341+
rows.append(client.mutate_row(serialize_uint64(l2id), val_d))
342+
client.write(rows)

pcgl2cache/ingest/cli.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import click
66
from flask.cli import AppGroup
77

8+
import pcgl2cache
89
from .manager import IngestionManager
910
from .redis import get_redis_connection
1011

@@ -43,8 +44,9 @@ def ingest_cache(
4344
from kvdbclient import BigTableClient
4445
from kvdbclient import get_default_client_info
4546

46-
client = BigTableClient(config=get_default_client_info().CONFIG)
47-
client.create_table(cache_id)
47+
meta = {"graph_id": graph_id, "cv_path": cv_path, "timestamp": timestamp}
48+
client = BigTableClient(cache_id, config=get_default_client_info().CONFIG)
49+
client.create_graph(meta=meta, version=pcgl2cache.__version__)
4850

4951
# example format 2018-06-29 08:15:27
5052
timestamp = datetime.strptime(timestamp, "%Y-%m-%d %H:%M:%S").replace(
@@ -86,8 +88,9 @@ def ingest_cache_v2(
8688
from kvdbclient import BigTableClient
8789
from kvdbclient import get_default_client_info
8890

89-
client = BigTableClient(config=get_default_client_info().CONFIG)
90-
client.create_table(cache_id)
91+
meta = {"graph_id": graph_id, "cv_path": cv_path, "timestamp": timestamp}
92+
client = BigTableClient(cache_id, config=get_default_client_info().CONFIG)
93+
client.create_graph(meta=meta, version=pcgl2cache.__version__)
9194

9295
# example format 2022-06-29 08:15:27
9396
timestamp = datetime.strptime(timestamp, "%Y-%m-%d %H:%M:%S").replace(

requirements.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ multiwrapper
1717
middle-auth-client>=3.11.0
1818
python-json-logger
1919
zstandard
20+
kvdbclient>=0.1.1
2021
edt
2122
pyyaml
2223
cachetools

workers/common.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,7 @@ def calculate_features(l2ids, l2cache_id, cv_path):
33
import numpy as np
44
from cloudvolume import CloudVolume
55
from kvdbclient import BigTableClient, get_default_client_info
6-
from kvdbclient.base import Entry
7-
from kvdbclient.base import EntryKey
6+
from kvdbclient.base import serialize_uint64
87
from pcgl2cache.core.attributes import SIZE_NM3
98
from pcgl2cache.core.features import run_l2cache
109
from pcgl2cache.core.features import write_to_db
@@ -17,7 +16,7 @@ def calculate_features(l2ids, l2cache_id, cv_path):
1716
continue
1817
result = run_l2cache(cv, l2id=_id)
1918
if not result:
20-
entry = Entry(EntryKey(_id), {SIZE_NM3: np.uint64(0)})
21-
client.write_entries([entry])
19+
row = client.mutate_row(serialize_uint64(_id), {SIZE_NM3: np.uint64(0)})
20+
client.write([row])
2221
write_to_db(client, result)
2322
gc.collect()

0 commit comments

Comments
 (0)