-
Notifications
You must be signed in to change notification settings - Fork 80
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Write/use format specification data to NWB files #44
Labels
category: enhancement
improvements of code or code behavior
priority: high
impacts proper operation or use of feature important to most users
Milestone
Comments
ajtritt
added
priority: high
impacts proper operation or use of feature important to most users
category: enhancement
improvements of code or code behavior
labels
Aug 3, 2017
ajtritt
added a commit
that referenced
this issue
Aug 9, 2017
Optional spec resolve Approved-by: Andrew Tritt <AJTritt@lbl.gov>
jcfr
added a commit
that referenced
this issue
Nov 11, 2017
…d files NWB files contain a currently freeform area in ``/general/specifications`` for storing specifications. To ease use of the specification data it is now possible to: * Assign a neurodata_type to ``/general/specifications`` and create a custom ``NWBContainer`` class to manage specifications. * Create a new neurodata_type to be stored in ``/general/specifications`` to structure the storage of namespace and associated specification files rather than requiring that specs be stored in a single dataset * Automatically write all specs used by (or registered with) PyNWB to the NWB file when a file is written. This will help ensure that the spec for all objects are always stored in the file. * Add ability to use use specifications (including custom extensions) from the HDF5 directly on read. We possibly need an option here to allow the user decide whether to use specs from the HDF5 file or the specs currently registered with PyNWB. See #44, #108 More specifically, this commit adds: * class for loading namespace * class for writing namespace * tooling to ``h5tools`` for caching spec to file * getter for ``FORMIO`` source * return of registered types to ``SpecCatalog.auto_register`` * tracking of type sources in ``NamespaceCatalog`` * class for building specification files to ``NamespaceBuilder`` * requirement that spec files be in the same directory as namespace file * getters for ``NamespaceCatalog`` to ``BuildManager`` * tracking of overridden specs * ability to read/write specs to/from HDF5 file * reference-to-reference write * roundtrip test for caching spec to hdf5 file * add roundtrip test for caching spec This commit also implements the following changes: * make dataset fill methods classmethods * make ``Spec`` and ``Namespace`` catalogs maintain specs and namespaces with OrderedDict * require parent spec be passed in, rather than parent spec nam * import ``SpecNamespace`` to ``h5tools`` * fix bug when showing default strings in signature * allow string to be passed into ``BaseStorageSpec`` when extending * refactor caching of spec * import HDF5 spec reader/writer classes to package-level * use ``unittest2`` instead of ``unittest`` for ``integration.test_io`` * import spec reader/writer abstract classes to ``form.spec`` subpackage * deploy spec caching feature
jcfr
pushed a commit
that referenced
this issue
Nov 11, 2017
…d files NWB files contain a currently freeform area in ``/general/specifications`` for storing specifications. To ease use of the specification data it is now possible to: * Assign a neurodata_type to ``/general/specifications`` and create a custom ``NWBContainer`` class to manage specifications. * Create a new neurodata_type to be stored in ``/general/specifications`` to structure the storage of namespace and associated specification files rather than requiring that specs be stored in a single dataset * Automatically write all specs used by (or registered with) PyNWB to the NWB file when a file is written. This will help ensure that the spec for all objects are always stored in the file. * Add ability to use use specifications (including custom extensions) from the HDF5 directly on read. We possibly need an option here to allow the user decide whether to use specs from the HDF5 file or the specs currently registered with PyNWB. See #44, #108 More specifically, this commit adds: * class for loading namespace * class for writing namespace * tooling to ``h5tools`` for caching spec to file * getter for ``FORMIO`` source * return of registered types to ``SpecCatalog.auto_register`` * tracking of type sources in ``NamespaceCatalog`` * class for building specification files to ``NamespaceBuilder`` * requirement that spec files be in the same directory as namespace file * getters for ``NamespaceCatalog`` to ``BuildManager`` * tracking of overridden specs * ability to read/write specs to/from HDF5 file * reference-to-reference write * roundtrip test for caching spec to hdf5 file * add roundtrip test for caching spec This commit also implements the following changes: * make dataset fill methods classmethods * make ``Spec`` and ``Namespace`` catalogs maintain specs and namespaces with OrderedDict * require parent spec be passed in, rather than parent spec nam * import ``SpecNamespace`` to ``h5tools`` * fix bug when showing default strings in signature * allow string to be passed into ``BaseStorageSpec`` when extending * refactor caching of spec * import HDF5 spec reader/writer classes to package-level * use ``unittest2`` instead of ``unittest`` for ``integration.test_io`` * import spec reader/writer abstract classes to ``form.spec`` subpackage * deploy spec caching feature
jcfr
pushed a commit
that referenced
this issue
Nov 11, 2017
…d files NWB files contain a currently freeform area in ``/general/specifications`` for storing specifications. To ease use of the specification data it is now possible to: * Assign a neurodata_type to ``/general/specifications`` and create a custom ``NWBContainer`` class to manage specifications. * Create a new neurodata_type to be stored in ``/general/specifications`` to structure the storage of namespace and associated specification files rather than requiring that specs be stored in a single dataset * Automatically write all specs used by (or registered with) PyNWB to the NWB file when a file is written. This will help ensure that the spec for all objects are always stored in the file. * Add ability to use use specifications (including custom extensions) from the HDF5 directly on read. We possibly need an option here to allow the user decide whether to use specs from the HDF5 file or the specs currently registered with PyNWB. See #44, #108 More specifically, this commit adds: * class for loading namespace * class for writing namespace * tooling to ``h5tools`` for caching spec to file * getter for ``FORMIO`` source * return of registered types to ``SpecCatalog.auto_register`` * tracking of type sources in ``NamespaceCatalog`` * class for building specification files to ``NamespaceBuilder`` * requirement that spec files be in the same directory as namespace file * getters for ``NamespaceCatalog`` to ``BuildManager`` * tracking of overridden specs * ability to read/write specs to/from HDF5 file * reference-to-reference write * roundtrip test for caching spec to hdf5 file * add roundtrip test for caching spec This commit also implements the following changes: * make dataset fill methods classmethods * make ``Spec`` and ``Namespace`` catalogs maintain specs and namespaces with OrderedDict * require parent spec be passed in, rather than parent spec nam * import ``SpecNamespace`` to ``h5tools`` * fix bug when showing default strings in signature * allow string to be passed into ``BaseStorageSpec`` when extending * refactor caching of spec * import HDF5 spec reader/writer classes to package-level * use ``unittest2`` instead of ``unittest`` for ``integration.test_io`` * import spec reader/writer abstract classes to ``form.spec`` subpackage * deploy spec caching feature
Closing. This is addressed by #242 Please, re-open or create a more specific issue if it should not have been closed. |
jcfr
pushed a commit
to jcfr/pynwb
that referenced
this issue
Jan 29, 2019
…d files NWB files contain a currently freeform area in ``/general/specifications`` for storing specifications. To ease use of the specification data it is now possible to: * Assign a neurodata_type to ``/general/specifications`` and create a custom ``NWBContainer`` class to manage specifications. * Create a new neurodata_type to be stored in ``/general/specifications`` to structure the storage of namespace and associated specification files rather than requiring that specs be stored in a single dataset * Automatically write all specs used by (or registered with) PyNWB to the NWB file when a file is written. This will help ensure that the spec for all objects are always stored in the file. * Add ability to use use specifications (including custom extensions) from the HDF5 directly on read. We possibly need an option here to allow the user decide whether to use specs from the HDF5 file or the specs currently registered with PyNWB. See NeurodataWithoutBorders#44, NeurodataWithoutBorders#108 More specifically, this commit adds: * class for loading namespace * class for writing namespace * tooling to ``h5tools`` for caching spec to file * getter for ``FORMIO`` source * return of registered types to ``SpecCatalog.auto_register`` * tracking of type sources in ``NamespaceCatalog`` * class for building specification files to ``NamespaceBuilder`` * requirement that spec files be in the same directory as namespace file * getters for ``NamespaceCatalog`` to ``BuildManager`` * tracking of overridden specs * ability to read/write specs to/from HDF5 file * reference-to-reference write * roundtrip test for caching spec to hdf5 file * add roundtrip test for caching spec This commit also implements the following changes: * make dataset fill methods classmethods * make ``Spec`` and ``Namespace`` catalogs maintain specs and namespaces with OrderedDict * require parent spec be passed in, rather than parent spec nam * import ``SpecNamespace`` to ``h5tools`` * fix bug when showing default strings in signature * allow string to be passed into ``BaseStorageSpec`` when extending * refactor caching of spec * import HDF5 spec reader/writer classes to package-level * use ``unittest2`` instead of ``unittest`` for ``integration.test_io`` * import spec reader/writer abstract classes to ``form.spec`` subpackage * deploy spec caching feature
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
category: enhancement
improvements of code or code behavior
priority: high
impacts proper operation or use of feature important to most users
Originally reported by: Oliver Ruebel (Bitbucket: oruebel, GitHub: oruebel)
NWB files contain a currently freeform area in /general/specifications for storing specifications. To ease use of the specification data it would be useful to:
The text was updated successfully, but these errors were encountered: