ZnTrack icon indicating copy to clipboard operation
ZnTrack copied to clipboard

ZnTrack v0.8

Open PythonFZ opened this issue 1 year ago • 1 comments

  • [ ] check what can be passed to zntrack.deps (after #825) Node, Con, dataclass
  • [ ] notebook support using https://github.com/zincware/znipy ?
  • [x] dataclass deps need to save the module to params (as well? or is this enough) to ensure two dataclasses with the same parameters but different modules will trigger runs. (test!)
  • [ ] fix __repr__ issues. A log.info(node) should never be the cause of an exception.
  • [ ] test _post_init_
  • [ ] test setting an output / parameter twice (https://github.com/zincware/znfields/issues/4)
  • [x] test dependency to a node that has no outputs
  • [x] restructure zntrack on top of dataclasses
  • [ ] write as znflow deployment
  • [ ] proj.run should also build the project.
  • [x] plugins: DVC, AIM, MLFlow, wandb
  • [ ] have an option, to append to the dvc.yaml and not overwrite everything, when adding non-ZnTrack stages.
  • [ ] build project with deps but without params - "no such file as params.yaml"
  • [ ] test custom plugin outputs
  • [ ] git ignore dvc tracked files (not using dvc stage add this might not be done?)
  • [x] external nodes, e.g. md thermostats
  • [x] test with project.group and with projget.group inside with project
  • [ ] zntrack.outs() with np.ndarray is not properly deserialized when loading
  • [ ] log automatic_node_names exception when passed. (move the graph to project.graph instead of inheritance)
  • [ ] xx_path support tuple[Path, ...]
  • [x] https://github.com/zincware/ZnTrack/blob/4b260fdc492e5fdc5fa38624ca866ecbac9a7bb7/zntrack/converter.py#L108-L116
  • [ ] need tests for all features also using from_rev with rev and remote.
  • [ ] use lazy loading for plugins to skip the module
  • [ ] zntrack.plots_path() (have an additional kwarg to specify, that the file is already tracked via outs and this is just a plots configuration).
  • [x] plots only work if x and y are given. Need to have an index on the dataframe for x
  • [ ] for external, convert the external node in a node on the graph which imports the data e.g. via --method node.state.import.<attribute> or something to import the data not while building the graph but while running the node? This would alter the dvc.yaml though.
  • [ ] aim finalize yields TypeError: Unhandled non-native value 0of type<class 'numpy.int64'>. ?

PythonFZ avatar Aug 02 '24 18:08 PythonFZ

Codecov Report

Attention: Patch coverage is 95.60000% with 44 lines in your changes missing coverage. Please review.

Project coverage is 94.83%. Comparing base (d602167) to head (25c9088).

Files with missing lines Patch % Lines
zntrack/utils/misc.py 81.69% 13 Missing :warning:
zntrack/converter.py 96.33% 4 Missing :warning:
zntrack/group.py 92.98% 4 Missing :warning:
zntrack/plugins/base.py 90.47% 4 Missing :warning:
zntrack/cli.py 80.00% 3 Missing :warning:
zntrack/node.py 96.00% 3 Missing :warning:
zntrack/state.py 97.08% 3 Missing :warning:
zntrack/utils/import_handler.py 85.71% 3 Missing :warning:
zntrack/project.py 97.61% 2 Missing :warning:
zntrack/utils/node_wd.py 93.33% 2 Missing :warning:
... and 3 more
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #812      +/-   ##
==========================================
+ Coverage   91.13%   94.83%   +3.69%     
==========================================
  Files          26       21       -5     
  Lines        2075     1103     -972     
  Branches      985      549     -436     
==========================================
- Hits         1891     1046     -845     
+ Misses        184       57     -127     
Flag Coverage Δ
fulltest 94.28% <95.00%> (+7.34%) :arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

codecov[bot] avatar Aug 29 '24 07:08 codecov[bot]

For mlflow base the parent run on the base commit, like dvc experiments do it? What if multiple experiments are based on one commit?

PythonFZ avatar Oct 06 '24 08:10 PythonFZ