diff --git a/.gitignore b/.gitignore index 8b7aa7b..92dd66e 100644 --- a/.gitignore +++ b/.gitignore @@ -165,4 +165,6 @@ prof jupyter_execute .pdm-python -.venv* \ No newline at end of file +.venv* + +requests-cache.sqlite \ No newline at end of file diff --git a/docs/meta/todo.md b/docs/meta/todo.md index cf6cf6e..2c9064a 100644 --- a/docs/meta/todo.md +++ b/docs/meta/todo.md @@ -8,12 +8,24 @@ NWB schema translation - handle compound `dtype` like in TimeSeriesReferenceVectorData - Create a validator that checks if all the lists in a compound dtype dataset are same length +Cleanup +- [ ] Update pydantic generator +- [ ] Make a minimal pydanticgen-only package to slim linkml deps? +- [ ] Disambiguate "maps" terminology - split out simple maps from the eg. dataset mapping classes + Important things that are not implemented yet! -- {meth}`nwb_linkml.adapters.classes.ClassAdapter.handle_dtype` does not yet handle compound dtypes, +- [x] {meth}`nwb_linkml.adapters.classes.ClassAdapter.handle_dtype` does not yet handle compound dtypes, leaving them as `AnyType` instead. This is fine for a first draft since they are used rarely within NWB, but we will need to handle them by making slots for each of the dtypes since they typically represent table-like data. +- [ ] Need to handle DynamicTables! + - Adding columns? + - Validating eg. all are same length? + - Or do we want to just say "no dynamictables, just subclass and add more slots since it's super easy to do that." + - method to return a dataframe + - append rows/this should just be a df basically. +- [ ] Handle indirect indexing eg. https://pynwb.readthedocs.io/en/stable/tutorials/general/plot_timeintervals.html#accessing-referenced-timeseries ## Docs TODOs