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
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
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
321740f674
weird python relative import error from not having version naming
2023-09-15 01:06:50 -07:00
1f61dca46f
weird python relative import error from not having version naming
2023-09-15 01:03:40 -07:00
94c204e8ea
ok but really actually correct paths
2023-09-15 00:53:07 -07:00
b283e8b0bf
get correct path for provider
2023-09-15 00:50:16 -07:00
ccf267babd
regenerating models, some minor code cleanup and coverage omissions
2023-09-15 00:37:20 -07:00
3e2e6915cf
Add ability to make JSON schema with numpy arrays!
2023-09-14 23:43:00 -07:00
e6a41415f5
successfully building many versions of nwb schema.
...
working on hdf5 importing, come back to it when fresh, just sorta poking at it because it's so close.
2023-09-14 02:45:01 -07:00
054ca8fd5e
add monkeypatch to schemaview
2023-09-11 22:23:42 -07:00
095d0bc6a9
fixing tests by using temp directory and changing random prior commit hash from nwb core schema
2023-09-11 19:55:45 -07:00
c69cbdfb38
Docstrings and basic tests for providers.
...
bugfix - remove redundant language elements that cause a recursion error (eg. subtyping "float" with "float")
2023-09-11 19:38:29 -07:00
2e87fa0556
working generation from provider
2023-09-08 19:46:42 -07:00
0b0fb6c67a
cute progress bar and also linkml provider works
2023-09-08 16:12:19 -07:00
43f35c50d8
fixing docs build
2023-09-07 19:39:19 -07:00
75b710c3eb
docs!
2023-09-07 19:32:17 -07:00
a01bb49b1e
working on providers to cache generated models
2023-09-07 18:50:50 -07:00
2b828082e0
perf enhancements to pydantic generation
2023-09-06 22:48:47 -07:00
7b97b749ef
monkeypatch to fix perf problems from nptyping
2023-09-06 19:32:33 -07:00
6a9d612b41
i'm just sorta making a mess here. coming back tomorrow
2023-09-06 00:50:49 -07:00
85beef4276
trying to get absolute paths out of coverage report
2023-09-05 22:54:20 -07:00
ecbb106581
proper .coveragerc formatting
2023-09-05 22:45:26 -07:00
456a5315d2
abandoning github action build
2023-09-05 22:42:46 -07:00
ce5cd18212
move to .coveragerc
2023-09-05 22:37:41 -07:00
2e1130c3f6
passing test directory???
2023-09-05 22:29:48 -07:00
fcd4f70442
explicit configuration passing
2023-09-05 22:21:30 -07:00
3d69213afe
optional?
2023-09-05 22:13:43 -07:00
3cb5e74ab8
upload to pypi
2023-09-05 22:10:10 -07:00
3bcf68d319
correct path
2023-09-05 21:59:19 -07:00
536de57ce4
correct path
2023-09-05 21:57:19 -07:00
2d8df6d2dc
cant include package when out of working directory
2023-09-05 21:55:41 -07:00
201ed569de
no working-directory in actions
2023-09-05 21:53:16 -07:00
da2eaea51e
some baseline tests, fixing imports, coverage reports
2023-09-05 21:47:41 -07:00
ccc09de400
refactor nwb_linkml to src layout
2023-09-05 19:25:20 -07:00
9306f7e688
remove debugging flag
2023-09-04 22:00:43 -07:00
78d2ec59d7
- Able to complete build all the way through to importing generated classes
2023-09-04 21:46:17 -07:00
8f4f99cffd
- Get imports for parent class slots
...
- Handle scalar valued datasets with subattributes
- start on hdf5
2023-09-04 16:16:29 -07:00
bb9dda6e66
- Don't split schema into includes and base
...
- Import top-level classes in namespaces pydantic file
- Don't generate or import the arraylike class
2023-09-04 14:56:36 -07:00
9dd7304334
Working recursion! and also handling multiple array shapes, and properly handling unnamed classes
2023-08-31 20:56:21 -07:00
4ee77dbb2e
update to pydantic 2
2023-08-31 15:36:58 -07:00
3568037a1e
Need to go home, in the middle of refactoring group and dataset as well as implementing the name property correctly
2023-08-31 00:01:43 -07:00
fd9aef9531
Cleaner code generation, npytyping type hints for arrays
...
- split off generated subclasses into "include" files, not sure if that's good, but in any case we have them separable now.
- more work on cleanly un-nesting scalar and 1D-vector data into attributes and lists, respectively
- brought the pydantic generator in-repo to do a bunch of overrides
2023-08-30 20:56:30 -07:00
be21325123
Cleaner code generation, npytyping type hints for arrays
...
- split off generated subclasses into "include" files, not sure if that's good, but in any case we have them separable now.
- more work on cleanly un-nesting scalar and 1D-vector data into attributes and lists, respectively
- brought the pydantic generator in-repo to do a bunch of overrides
2023-08-28 22:16:58 -07:00
63c6cef10b
Cleaned up old files, added some mysteriously delayed pydantic models, and submitted to pypi to keep the package name.
2023-08-25 00:52:12 -07:00
4faaa8efe8
I believe that's a full translation
...
or at least all the semantics are present. it's not pretty by any stretch of the imagination
2023-08-25 00:22:47 -07:00
a4806543ef
recursion works, more formal build method in adapters
2023-08-23 19:56:09 -07:00
170a424fb1
Actually generating some translations at this point
2023-08-21 21:43:02 -07:00
3996f319e2
some vague sketching on mapping namespaces
2023-08-20 23:00:58 -07:00
111965aace
working schema language import
2023-08-18 22:09:28 -07:00
fe44c1c657
patch pydantic code generation, use anytype for dims because modeling lists of lists is not possible
2023-08-18 16:33:06 -07:00
63ccd800b3
progress with using pydantic models
2023-08-18 01:11:14 -07:00