diff --git a/packages/pipeline/boilercv_pipeline/cli/experiments.py b/packages/pipeline/boilercv_pipeline/cli/experiments.py index 4b4aa8ac..7ea5261f 100644 --- a/packages/pipeline/boilercv_pipeline/cli/experiments.py +++ b/packages/pipeline/boilercv_pipeline/cli/experiments.py @@ -1,11 +1,12 @@ """Run DVC experiments.""" from pathlib import Path +from shlex import split +from subprocess import run from cappa import invoke from cappa.base import command -from dev.tools.environment import run -from dvclive import Live +from dev.tools import environment from pydantic import BaseModel from yaml import safe_dump, safe_load @@ -16,42 +17,31 @@ class Trackpy(BaseModel): def __call__(self): """Run TrackPy object finding experiment.""" - dvc_yaml = Path("dvc.yaml") - dvc_yaml.write_text( - encoding="utf-8", - data=safe_dump( - sort_keys=False, - indent=2, - width=float("inf"), - data={ - "stages": { - stage: value - for stage, value in safe_load( - dvc_yaml.read_text(encoding="utf-8") - )["stages"].items() - if stage == "find_objects" - } - }, - ), - ) + run(args=split("git checkout trackpy"), check=False) params_yaml = Path("params.yaml") params_yaml.write_text( encoding="utf-8", data=safe_dump( - sort_keys=False, indent=2, + sort_keys=False, width=float("inf"), data={ **safe_load(params_yaml.read_text(encoding="utf-8")), "compare_with_trackpy": "--compare-with-trackpy", "frame_count": 500, - "only_sample": "--only-sample", }, ), ) - run("pre-commit run --all-files prettier", check=False) - with Live(".", resume=True): - pass + environment.run("pre-commit run --all-files prettier", check=False) + for cmd in ["git add .", "git commit -m 'prepare for trackpy experiment'"]: + run(args=split(cmd), check=False) + environment.run("dvc repro find_objects", check=False) + for cmd in [ + "git add .", + "git commit -m 'repro trackpy experiment'", + "git push", + ]: + run(args=split(cmd), check=False) if __name__ == "__main__": diff --git a/packages/pipeline/pyproject.toml b/packages/pipeline/pyproject.toml index 33e1b719..4e14d7a2 100644 --- a/packages/pipeline/pyproject.toml +++ b/packages/pipeline/pyproject.toml @@ -12,7 +12,6 @@ dependencies = [ "colorcet>=3.0.1", "copykitten>=1.1.1", "cyclopts>=2.6.1", - "dvclive>=3.48.0", "imageio[pyav]>=2.34.1", "ipykernel>=6.29.4", "loguru>=0.7.0", diff --git a/requirements/requirements_dev.txt b/requirements/requirements_dev.txt index 5bcc9101..c038a6e5 100644 --- a/requirements/requirements_dev.txt +++ b/requirements/requirements_dev.txt @@ -86,7 +86,6 @@ dvc-objects==5.1.0 dvc-render==1.0.2 dvc-studio-client==0.21.0 dvc-task==0.4.0 -dvclive==3.48.0 entrypoints==0.4 execnet==2.1.1 executing==2.1.0 @@ -237,7 +236,6 @@ pydot==3.0.1 pygit2==1.15.1 pygments==2.18.0 pygtrie==2.5.0 -pynvml==11.5.3 pyparsing==3.0.9 pyproj==3.6.1 pyqtgraph==0.13.3 diff --git a/uv.lock b/uv.lock index 0fc24cfc..4c083747 100644 --- a/uv.lock +++ b/uv.lock @@ -701,7 +701,6 @@ dependencies = [ { name = "colorcet" }, { name = "copykitten" }, { name = "cyclopts" }, - { name = "dvclive" }, { name = "imageio", extra = ["pyav"] }, { name = "ipykernel" }, { name = "loguru" }, @@ -741,7 +740,6 @@ requires-dist = [ { name = "colorcet", specifier = ">=3.0.1" }, { name = "copykitten", specifier = ">=1.1.1" }, { name = "cyclopts", specifier = ">=2.6.1" }, - { name = "dvclive", specifier = ">=3.48.0" }, { name = "imageio", extras = ["pyav"], specifier = ">=2.34.1" }, { name = "ipykernel", specifier = ">=6.29.4" }, { name = "loguru", specifier = ">=0.7.0" }, @@ -1761,26 +1759,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/9d/c5/f56893f455486db875a6c74fbf68047fafe581313fb975da1315421117c2/dvc_task-0.4.0-py3-none-any.whl", hash = "sha256:ed047e4bb5031fcf640357ae4638a2a89e34f556560ed9d1fbf6646ed4e8cca6", size = 21383 }, ] -[[package]] -name = "dvclive" -version = "3.48.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "dvc" }, - { name = "dvc-render" }, - { name = "dvc-studio-client" }, - { name = "funcy" }, - { name = "gto" }, - { name = "psutil" }, - { name = "pynvml" }, - { name = "ruamel-yaml" }, - { name = "scmrepo" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/e3/91/d6cf2ccceaa063b988809ab4fa33846e6ee811ef146b573dadc1c9fb0a0f/dvclive-3.48.0.tar.gz", hash = "sha256:42434660f16b88c8931e625da010c9cdabf2b0d8d11173b81ed1d976c4b7fb0a", size = 2041796 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/df/86/96f6a2383e94b90b97b7920c4a1831a8858a5bfd1a08ac3bd8e2626e7bd1/dvclive-3.48.0-py3-none-any.whl", hash = "sha256:6625b9eac49322165877a95696db8934d190d89fadf53294c471d2584b322879", size = 43481 }, -] - [[package]] name = "entrypoints" version = "0.4" @@ -4102,15 +4080,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/ec/cd/bd196b2cf014afb1009de8b0f05ecd54011d881944e62763f3c1b1e8ef37/pygtrie-2.5.0-py3-none-any.whl", hash = "sha256:8795cda8105493d5ae159a5bef313ff13156c5d4d72feddefacaad59f8c8ce16", size = 25099 }, ] -[[package]] -name = "pynvml" -version = "11.5.3" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/e4/e9/9931792cb776716363fc7c3039b477d11278173d71ddc230eb9b5f4ce93f/pynvml-11.5.3.tar.gz", hash = "sha256:183d223ae487e5f00402d8da06c68c978ef8a9295793ee75559839c6ade7b229", size = 73685 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/54/5b/16e50abf152be7f18120f11dfff495014a9eaff7b764626e1656f04ad262/pynvml-11.5.3-py3-none-any.whl", hash = "sha256:a5fba3ab14febda50d19dbda012ef62ae0aed45b7ccc07af0bc5be79223e450c", size = 53135 }, -] - [[package]] name = "pyparsing" version = "3.0.9"