Skip to content
Draft
Show file tree
Hide file tree
Changes from 12 commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
e006938
add visualization dependencies
stephprince Sep 18, 2025
9a9cd78
refactor dataclasses, parquet processing
stephprince Sep 18, 2025
994b1b4
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Sep 18, 2025
deeb6fb
add figure script - wip
stephprince Sep 24, 2025
f9f0575
update plotting functions
stephprince Sep 25, 2025
c98bcec
update minimum version setting for parquet
stephprince Sep 25, 2025
fec918f
save timestamp info in parquet
stephprince Sep 25, 2025
475e7f4
Merge branch 'main' into add-figure-script
stephprince Sep 25, 2025
eb74de6
remove accidentally tracked figures
stephprince Sep 25, 2025
b9742f0
add slice vs time plots
stephprince Sep 25, 2025
7f50a75
update figure script
stephprince Sep 25, 2025
6b4a4f6
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Sep 25, 2025
6d5dc1f
save figures as pdfs with editable text
stephprince Sep 25, 2025
e077e9f
add scatter plots, combine plots, pull out preloaded
stephprince Sep 26, 2025
c272e31
update figure script
stephprince Sep 26, 2025
fac69e8
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Sep 26, 2025
394b397
update figures from feedback
stephprince Sep 30, 2025
44e74b7
refactor db processing and visualization code
stephprince Sep 30, 2025
1370885
refactor db processing and visualization code
stephprince Sep 30, 2025
b480d2f
update figure generation script to use classes
stephprince Sep 30, 2025
1f54780
add print logging for plotting
stephprince Sep 30, 2025
b2ea98e
ignore pdf figure files
stephprince Sep 30, 2025
60535e7
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Sep 30, 2025
b00e126
update cache/no cache order
stephprince Sep 30, 2025
2e3ab14
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Sep 30, 2025
d6f9410
Merge branch 'main' into add-figure-script
CodyCBakerPhD Oct 24, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions src/nwb_benchmarks/database/_models.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import pathlib
import re
import uuid
from datetime import datetime

import packaging.version
import typing_extensions
Expand All @@ -13,7 +14,7 @@
class Result:
uuid: str
version: str
timestamp: str
timestamp: datetime
commit_hash: str
environment_id: str
machine_id: str
Expand Down Expand Up @@ -68,7 +69,7 @@ def parse_parameter_case(s):
Result(
uuid=str(uuid.uuid4()), # TODO: add this to each results file so it is persistent
version=database_version,
timestamp=timestamp,
timestamp=datetime.strptime(timestamp, "%Y-%m-%d-%H-%M-%S"),
commit_hash=commit_hash,
environment_id=environment_id,
machine_id=machine_id,
Expand All @@ -94,6 +95,7 @@ def to_dataframe(self) -> "polars.DataFrame":
"commit_hash": [result.commit_hash for result in self.results],
"environment_id": [result.environment_id for result in self.results],
"machine_id": [result.machine_id for result in self.results],
"timestamp": [result.timestamp for result in self.results],
"benchmark_name": [result.benchmark_name for result in self.results],
"parameter_case_name": [result.parameter_case.get("name") for result in self.results],
"parameter_case_https_url": [result.parameter_case.get("https_url") for result in self.results],
Expand Down
10 changes: 6 additions & 4 deletions src/nwb_benchmarks/database/_processing.py
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,10 @@ def concat_dataclasses_to_parquet(


def repackage_as_parquet(
directory: pathlib.Path, output_directory: pathlib.Path, minimum_version: str = "1.0.0"
directory: pathlib.Path,
output_directory: pathlib.Path,
minimum_results_version: str = "1.0.0",
minimum_machines_version: str = "1.0.0",
) -> None:
"""Repackage JSON results files as parquet databases for easier querying."""

Expand All @@ -69,7 +72,7 @@ def repackage_as_parquet(
dataclass_name="machines",
dataclass=Machine,
concat_how="diagonal_relaxed",
minimum_version=minimum_version,
minimum_version=minimum_machines_version,
)

# Environments
Expand All @@ -79,7 +82,6 @@ def repackage_as_parquet(
dataclass_name="environments",
dataclass=Environment,
concat_how="diagonal",
minimum_version=minimum_version,
)

# Results
Expand All @@ -89,5 +91,5 @@ def repackage_as_parquet(
dataclass_name="results",
dataclass=Results,
concat_how="diagonal_relaxed",
minimum_version=minimum_version,
minimum_version=minimum_results_version,
)
Loading
Loading