Commit graph

312 commits

Author SHA1 Message Date
c4d42cdacf remove split from schema adapter because it turned out to be a bad idea, we just use tree_root instead 2023-10-11 18:32:31 -07:00
615b006e4a updating nwb_schema_language to have proper single/multi fields for author/contact 2023-10-10 01:08:25 -07:00
825b5914db allow lists and singletons in generator 2023-10-10 00:50:51 -07:00
2d1fe3ad96 read is functional again, calling it a night. 2023-10-10 00:12:33 -07:00
729da40dfd install hdf5 2023-10-09 23:40:31 -07:00
0508e3b620 re-enable truncate file test 2023-10-09 23:30:39 -07:00
91875dabb2 re-enable janky hdmf mapping test just to have it on the board for morale
Fix serializing datasets
2023-10-09 23:27:33 -07:00
f071705ac8 remove translate 2023-10-09 23:15:46 -07:00
42e64dce75 Refactor dataset adapter to use check/apply style maps!
General cleaning around maps module, getting ready to remove translate module
2023-10-09 23:06:24 -07:00
adaf939497 classes adapter 2023-10-09 20:13:42 -07:00
79397ec398 dict not list 2023-10-09 19:05:08 -07:00
2b530c4b33 don't require warning when at wrong git version 2023-10-09 19:04:00 -07:00
a7b0f8880e fix tests, cant assign to tuple 2023-10-09 18:59:53 -07:00
6f32a5bfd3 super annoying you have to import all fixtures and dependencies manually 2023-10-09 16:37:07 -07:00
edf7a4c445 [tests] - test adapter + results 2023-10-09 16:33:02 -07:00
0de6535c5a Schema language v0.1.2 - trivial rebuild to change date to datetime type and update linkml deps 2023-10-09 15:10:29 -07:00
39c600fda1 Regenerate nwb_schema_language models 2023-10-09 15:06:53 -07:00
6da6ef281f nevermind need to still fix model generation 2023-10-05 22:15:33 -07:00
06311b21bd [tests] cheap read test 2023-10-05 22:12:27 -07:00
8405ea948a [tests] ndarray proxy and serialization 2023-10-05 22:05:10 -07:00
0a9ca82476 [tests] nocover stuff that's just from the source module 2023-10-05 21:42:29 -07:00
033f6c434d [tests] nocover stuff that's just from the source module 2023-10-05 21:39:15 -07:00
c215e69fd8 [tests] nocover stuff that's just from the source module 2023-10-05 21:35:25 -07:00
a0d96014e1 [tests] pydantic generator 2023-10-05 21:22:00 -07:00
75f39b4914 huh coverage got disabled somehow 2023-10-05 18:10:04 -07:00
799d32ed24 remove hdf5_linkml - it doesn't make sense to be separate since it requires all the rest of the main package 2023-10-05 18:04:14 -07:00
808c63e7c2 skip provider test just to get coverage numbers 2023-10-05 18:03:01 -07:00
d77dec5cc0 decrease deprecation warnings 2023-10-04 22:54:20 -07:00
24e0b704ff decrease deprecation warnings 2023-10-04 22:49:23 -07:00
15d1f0d7b1 clear repo imports before returning from sys.module 2023-10-04 22:32:53 -07:00
0f4f2dd683 also list linkml versions in the available versions for a pydantic provider 2023-10-04 22:27:36 -07:00
d46e86c676 return None when the module actually doesn't exist 2023-10-04 22:08:01 -07:00
5438b2489b Fix relative imports in ectopic models --
Use a MetaPathFinder to allow python to resolve imports from the temporary model directory
Build dependent versions in split builds
Clear package imports when allow_repo=False
2023-10-04 22:06:26 -07:00
3b11afded6 fix truncate hdf5 file to not try and write while iterating 2023-10-04 20:19:54 -07:00
ab63ea071c removing pandas 2023-10-04 18:02:40 -07:00
9947edfed2 Removing DataFrame type from imports, leaving as stub 2023-10-04 17:59:10 -07:00
f682105c1a it working
had to very hackily handle special cases on NWBFile class but it working. Now badly in need of a tidying, docs, and tests.
2023-10-02 23:26:43 -07:00
34f8969fa9 Like 15 validation errors away from fully reading a file.
Just going to make a special completion phase for the top-level NWBFile because it's so special cased it's not worth trying to generalize.

- Resolving hardlinked datasets in read maps
- Resolving 2nd-order empty groups
- Completing container groups
- Move fixing references to recursive function
- Multiple passes for a given phase
- NDArrayProxies should resolve dask or h5py reading on their own
- Correctly build split schema from PydanticProvider instead of needing external logic
2023-10-02 22:19:11 -07:00
eca7a5ec2e Correct schema for hdf5 path type
dont double MRO for basemodels in generated dynamictable
2023-09-28 17:58:45 -07:00
6bbf56d1a0 Make all maps exclusive
Track dependencies in build results and dont try and complete model if dependencies not alreay completed (ie. need multiple passes to complete, which is the correct behavior)
Use base models in dynamic tables, we should fix the dynamictable base class rather than just having everything be an anonymous BaseModel in order to satisfy type validation
Clear completed queue when advancing stages - we should make sure to move everything to completed with maps rather than implicitly keeping things in completed when they aren't - so we might be getting old versions of results that aren't actually fully completed but have some reference stubs still in them.
2023-09-27 20:07:39 -07:00
9fcc1458fb nearing the end - need to do final top-level packing but we're almost there! 2023-09-27 01:19:10 -07:00
a2da236b2b Regenerate models 2023-09-26 21:33:14 -07:00
8a9b6903b6 Fix generation to use actual class in type annotation even when has identifier value, while also making dicts for container classes 2023-09-26 21:30:53 -07:00
f672b931e5 Correctly handle container classes, use dicts instead of lists to be able to index by name. overriding __getitem__ and __getattr__ later 2023-09-26 20:50:11 -07:00
d16b4757e1 Use dask instead of trying to make a dataframe
compress arrays when serializing to json
2023-09-26 19:50:49 -07:00
50e816bad4 Working on finalizing the mapping operation... doing it single threaded for now and it's very slow but it completes up until the stage where we need to zip up the orphaned objects and other things that can be inferred from the model.
Need to make a proxytable model like proxyarray because reading all these tables takes way too fuckin long and it's not what we want to do anyway.
2023-09-25 22:03:53 -07:00
ce75dacf93 autogenerating models for dynamictable 2023-09-23 01:33:28 -07:00
57fa3d34a2 pandas dataframe mimic 2023-09-23 00:08:59 -07:00
aac0c7abdd need 2 stop for the night but its sort of happening 2023-09-22 02:48:40 -07:00
40984a6582 figuring out the strategy here...
- added linkml_meta classvar to store additional linkml properties if needed
- injecting path field to metaclass
- sketch of doing a queue-based read
- prune datasets & example allen institute data
2023-09-22 00:31:34 -07:00