ndx-hed 0.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- ndx_hed-0.1.0/.gitignore +173 -0
- ndx_hed-0.1.0/LICENSE.txt +29 -0
- ndx_hed-0.1.0/PKG-INFO +50 -0
- ndx_hed-0.1.0/README.md +21 -0
- ndx_hed-0.1.0/_version.py +16 -0
- ndx_hed-0.1.0/docs/Makefile +179 -0
- ndx_hed-0.1.0/docs/README.md +121 -0
- ndx_hed-0.1.0/docs/make.bat +35 -0
- ndx_hed-0.1.0/docs/source/_static/theme_overrides.css +13 -0
- ndx_hed-0.1.0/docs/source/conf.py +112 -0
- ndx_hed-0.1.0/docs/source/conf_doc_autogen.py +90 -0
- ndx_hed-0.1.0/docs/source/credits.rst +21 -0
- ndx_hed-0.1.0/docs/source/description.rst +5 -0
- ndx_hed-0.1.0/docs/source/format.rst +12 -0
- ndx_hed-0.1.0/docs/source/index.rst +30 -0
- ndx_hed-0.1.0/docs/source/release_notes.rst +5 -0
- ndx_hed-0.1.0/pyproject.toml +121 -0
- ndx_hed-0.1.0/spec/ndx-hed.extensions.yaml +12 -0
- ndx_hed-0.1.0/spec/ndx-hed.namespace.yaml +19 -0
- ndx_hed-0.1.0/src/pynwb/README.md +40 -0
- ndx_hed-0.1.0/src/pynwb/ndx_hed/__init__.py +56 -0
- ndx_hed-0.1.0/src/pynwb/ndx_hed/hed_tags.py +62 -0
- ndx_hed-0.1.0/src/pynwb/tests/__init__.py +0 -0
- ndx_hed-0.1.0/src/pynwb/tests/test_hed_tags.py +209 -0
ndx_hed-0.1.0/.gitignore
ADDED
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
# output NWB files
|
|
2
|
+
*.nwb
|
|
3
|
+
|
|
4
|
+
# generated docs
|
|
5
|
+
docs/source/_format_auto_docs
|
|
6
|
+
|
|
7
|
+
# Byte-compiled / optimized / DLL files
|
|
8
|
+
__pycache__/
|
|
9
|
+
*.py[cod]
|
|
10
|
+
*$py.class
|
|
11
|
+
|
|
12
|
+
# C extensions
|
|
13
|
+
*.so
|
|
14
|
+
|
|
15
|
+
# Distribution / packaging
|
|
16
|
+
.Python
|
|
17
|
+
env/
|
|
18
|
+
bin/
|
|
19
|
+
build/
|
|
20
|
+
develop-eggs/
|
|
21
|
+
dist/
|
|
22
|
+
downloads/
|
|
23
|
+
eggs/
|
|
24
|
+
.eggs/
|
|
25
|
+
lib/
|
|
26
|
+
lib64/
|
|
27
|
+
parts/
|
|
28
|
+
sdist/
|
|
29
|
+
var/
|
|
30
|
+
wheels/
|
|
31
|
+
share/python-wheels/
|
|
32
|
+
*.egg-info/
|
|
33
|
+
.installed.cfg
|
|
34
|
+
*.egg
|
|
35
|
+
MANIFEST
|
|
36
|
+
|
|
37
|
+
# PyInstaller
|
|
38
|
+
# Usually these files are written by a python script from a template
|
|
39
|
+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
|
40
|
+
*.manifest
|
|
41
|
+
*.spec
|
|
42
|
+
|
|
43
|
+
# Installer logs
|
|
44
|
+
pip-log.txt
|
|
45
|
+
pip-delete-this-directory.txt
|
|
46
|
+
|
|
47
|
+
# Unit test / coverage reports
|
|
48
|
+
htmlcov/
|
|
49
|
+
.tox/
|
|
50
|
+
.nox/
|
|
51
|
+
.coverage
|
|
52
|
+
.coverage.*
|
|
53
|
+
.cache
|
|
54
|
+
nosetests.xml
|
|
55
|
+
coverage.xml
|
|
56
|
+
*.cover
|
|
57
|
+
*.py,cover
|
|
58
|
+
.hypothesis/
|
|
59
|
+
.pytest_cache/
|
|
60
|
+
cover/
|
|
61
|
+
.ruff_cache/
|
|
62
|
+
|
|
63
|
+
# Translations
|
|
64
|
+
*.mo
|
|
65
|
+
*.pot
|
|
66
|
+
|
|
67
|
+
# Django stuff:
|
|
68
|
+
*.log
|
|
69
|
+
local_settings.py
|
|
70
|
+
db.sqlite3
|
|
71
|
+
db.sqlite3-journal
|
|
72
|
+
|
|
73
|
+
# Flask stuff:
|
|
74
|
+
instance/
|
|
75
|
+
.webassets-cache
|
|
76
|
+
|
|
77
|
+
# Scrapy stuff:
|
|
78
|
+
.scrapy
|
|
79
|
+
|
|
80
|
+
# Sphinx documentation
|
|
81
|
+
docs/_build/
|
|
82
|
+
|
|
83
|
+
# PyBuilder
|
|
84
|
+
.pybuilder/
|
|
85
|
+
target/
|
|
86
|
+
|
|
87
|
+
# Jupyter Notebook
|
|
88
|
+
.ipynb_checkpoints
|
|
89
|
+
|
|
90
|
+
# IPython
|
|
91
|
+
profile_default/
|
|
92
|
+
ipython_config.py
|
|
93
|
+
|
|
94
|
+
# pyenv
|
|
95
|
+
# For a library or package, you might want to ignore these files since the code is
|
|
96
|
+
# intended to run in multiple environments; otherwise, check them in:
|
|
97
|
+
# .python-version
|
|
98
|
+
|
|
99
|
+
# pipenv
|
|
100
|
+
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
|
|
101
|
+
# However, in case of collaboration, if having platform-specific dependencies or dependencies
|
|
102
|
+
# having no cross-platform support, pipenv may install dependencies that don't work, or not
|
|
103
|
+
# install all needed dependencies.
|
|
104
|
+
#Pipfile.lock
|
|
105
|
+
|
|
106
|
+
# poetry
|
|
107
|
+
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
|
|
108
|
+
# This is especially recommended for binary packages to ensure reproducibility, and is more
|
|
109
|
+
# commonly ignored for libraries.
|
|
110
|
+
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
|
|
111
|
+
#poetry.lock
|
|
112
|
+
|
|
113
|
+
# pdm
|
|
114
|
+
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
|
|
115
|
+
#pdm.lock
|
|
116
|
+
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
|
|
117
|
+
# in version control.
|
|
118
|
+
# https://pdm.fming.dev/#use-with-ide
|
|
119
|
+
.pdm.toml
|
|
120
|
+
|
|
121
|
+
# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
|
|
122
|
+
__pypackages__/
|
|
123
|
+
|
|
124
|
+
# Celery stuff
|
|
125
|
+
celerybeat-schedule
|
|
126
|
+
celerybeat.pid
|
|
127
|
+
|
|
128
|
+
# SageMath parsed files
|
|
129
|
+
*.sage.py
|
|
130
|
+
|
|
131
|
+
# Environments
|
|
132
|
+
.env
|
|
133
|
+
.venv
|
|
134
|
+
env/
|
|
135
|
+
venv/
|
|
136
|
+
ENV/
|
|
137
|
+
env.bak/
|
|
138
|
+
venv.bak/
|
|
139
|
+
|
|
140
|
+
# Spyder project settings
|
|
141
|
+
.spyderproject
|
|
142
|
+
.spyproject
|
|
143
|
+
|
|
144
|
+
# Rope project settings
|
|
145
|
+
.ropeproject
|
|
146
|
+
|
|
147
|
+
# mkdocs documentation
|
|
148
|
+
/site
|
|
149
|
+
|
|
150
|
+
# mypy
|
|
151
|
+
.mypy_cache/
|
|
152
|
+
.dmypy.json
|
|
153
|
+
dmypy.json
|
|
154
|
+
|
|
155
|
+
# Pyre type checker
|
|
156
|
+
.pyre/
|
|
157
|
+
|
|
158
|
+
# pytype static type analyzer
|
|
159
|
+
.pytype/
|
|
160
|
+
|
|
161
|
+
# Cython debug symbols
|
|
162
|
+
cython_debug/
|
|
163
|
+
|
|
164
|
+
# PyCharm
|
|
165
|
+
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
|
|
166
|
+
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
|
|
167
|
+
# and can be added to the global gitignore or merged into this file. For a more nuclear
|
|
168
|
+
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
|
|
169
|
+
.idea/
|
|
170
|
+
/venv/
|
|
171
|
+
|
|
172
|
+
# Mac finder
|
|
173
|
+
.DS_Store
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
BSD 3-Clause License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2024, Ryan Ly, Oliver Ruebel, Kay Robbins
|
|
4
|
+
All rights reserved.
|
|
5
|
+
|
|
6
|
+
Redistribution and use in source and binary forms, with or without
|
|
7
|
+
modification, are permitted provided that the following conditions are met:
|
|
8
|
+
|
|
9
|
+
1. Redistributions of source code must retain the above copyright notice, this
|
|
10
|
+
list of conditions and the following disclaimer.
|
|
11
|
+
|
|
12
|
+
2. Redistributions in binary form must reproduce the above copyright notice,
|
|
13
|
+
this list of conditions and the following disclaimer in the documentation
|
|
14
|
+
and/or other materials provided with the distribution.
|
|
15
|
+
|
|
16
|
+
3. Neither the name of the copyright holder nor the names of its
|
|
17
|
+
contributors may be used to endorse or promote products derived from
|
|
18
|
+
this software without specific prior written permission.
|
|
19
|
+
|
|
20
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
21
|
+
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
22
|
+
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
23
|
+
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
24
|
+
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
25
|
+
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
26
|
+
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
27
|
+
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
28
|
+
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
29
|
+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
ndx_hed-0.1.0/PKG-INFO
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
Metadata-Version: 2.3
|
|
2
|
+
Name: ndx-hed
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: NWB extension for HED data
|
|
5
|
+
Project-URL: Homepage, https://github.com/hed-standard/ndx-hed
|
|
6
|
+
Project-URL: Documentation, https://https://www.hed-resources.org/en/latest/HedAnnotationInNWB.html
|
|
7
|
+
Project-URL: Bug Tracker, https://github.com/hed-standard/ndx-hed/issues
|
|
8
|
+
Project-URL: Discussions, https://github.com/hed-standard/ndx-hed/discussions
|
|
9
|
+
Project-URL: Changelog, https://github.com/hed-standard/ndx-hed/CHANGELOG.md
|
|
10
|
+
Author-email: Ryan Ly <rly@lbl.gov>, Oliver Ruebel <oruebel@lbl.gov>, Kay Robbins <kay.robbins@utsa.edu>, Ian Callanan <ianrcallanan@gmail.com>
|
|
11
|
+
License: BSD-3
|
|
12
|
+
License-File: LICENSE.txt
|
|
13
|
+
Keywords: NWB,NeurodataWithoutBorders,ndx-extension,nwb-extension
|
|
14
|
+
Classifier: Development Status :: 3 - Alpha
|
|
15
|
+
Classifier: Intended Audience :: Developers
|
|
16
|
+
Classifier: Intended Audience :: Science/Research
|
|
17
|
+
Classifier: License :: OSI Approved :: BSD License
|
|
18
|
+
Classifier: Programming Language :: Python
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.8
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
23
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
24
|
+
Requires-Python: >=3.8
|
|
25
|
+
Requires-Dist: hdmf>=3.14.1
|
|
26
|
+
Requires-Dist: hedtools>=0.5.0
|
|
27
|
+
Requires-Dist: pynwb>=2.8.0
|
|
28
|
+
Description-Content-Type: text/markdown
|
|
29
|
+
|
|
30
|
+
# ndx-hed Extension for NWB
|
|
31
|
+
|
|
32
|
+
[**Neurodata Without Borders (NWB)**](https://www.nwb.org/) is a data standard for organizing neurophysiology data.
|
|
33
|
+
NWB is used extensively as the data representation for single cell and animal recordings as well as
|
|
34
|
+
human neuroimaging modalities such as IEEG. HED (Hierarchical Event Descriptors) is a system of
|
|
35
|
+
standardized vocabularies and supporting tools that allows fine-grained annotation of data.
|
|
36
|
+
HED annotations can now be used in NWB to provide a column of HED annotations for any NWB
|
|
37
|
+
dynamic table.
|
|
38
|
+
|
|
39
|
+
The [**HED annotation in NWB**](https://www.hed-resources.org/en/latest/HedAnnotationInNWB.html)
|
|
40
|
+
user guide explains in more detail how to use this extension for HED.
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
## Installation
|
|
44
|
+
|
|
45
|
+
**Python:**
|
|
46
|
+
```bash
|
|
47
|
+
pip install -U ndx-hed
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
**Matlab:** The Matlab extension is under development
|
ndx_hed-0.1.0/README.md
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# ndx-hed Extension for NWB
|
|
2
|
+
|
|
3
|
+
[**Neurodata Without Borders (NWB)**](https://www.nwb.org/) is a data standard for organizing neurophysiology data.
|
|
4
|
+
NWB is used extensively as the data representation for single cell and animal recordings as well as
|
|
5
|
+
human neuroimaging modalities such as IEEG. HED (Hierarchical Event Descriptors) is a system of
|
|
6
|
+
standardized vocabularies and supporting tools that allows fine-grained annotation of data.
|
|
7
|
+
HED annotations can now be used in NWB to provide a column of HED annotations for any NWB
|
|
8
|
+
dynamic table.
|
|
9
|
+
|
|
10
|
+
The [**HED annotation in NWB**](https://www.hed-resources.org/en/latest/HedAnnotationInNWB.html)
|
|
11
|
+
user guide explains in more detail how to use this extension for HED.
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
## Installation
|
|
15
|
+
|
|
16
|
+
**Python:**
|
|
17
|
+
```bash
|
|
18
|
+
pip install -U ndx-hed
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
**Matlab:** The Matlab extension is under development
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# file generated by setuptools_scm
|
|
2
|
+
# don't change, don't track in version control
|
|
3
|
+
TYPE_CHECKING = False
|
|
4
|
+
if TYPE_CHECKING:
|
|
5
|
+
from typing import Tuple, Union
|
|
6
|
+
VERSION_TUPLE = Tuple[Union[int, str], ...]
|
|
7
|
+
else:
|
|
8
|
+
VERSION_TUPLE = object
|
|
9
|
+
|
|
10
|
+
version: str
|
|
11
|
+
__version__: str
|
|
12
|
+
__version_tuple__: VERSION_TUPLE
|
|
13
|
+
version_tuple: VERSION_TUPLE
|
|
14
|
+
|
|
15
|
+
__version__ = version = '0.1.0'
|
|
16
|
+
__version_tuple__ = version_tuple = (0, 1, 0)
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
|
|
2
|
+
# Makefile for Sphinx documentation
|
|
3
|
+
#
|
|
4
|
+
|
|
5
|
+
# You can set these variables from the command line.
|
|
6
|
+
SPHINXOPTS =
|
|
7
|
+
SPHINXBUILD = sphinx-build
|
|
8
|
+
SPHINXAPIDOC = sphinx-apidoc
|
|
9
|
+
PAPER =
|
|
10
|
+
BUILDDIR = build
|
|
11
|
+
SRCDIR = ../src
|
|
12
|
+
RSTDIR = source
|
|
13
|
+
CONFDIR = $(PWD)/source
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
# Internal variables.
|
|
17
|
+
PAPEROPT_a4 = -D latex_paper_size=a4
|
|
18
|
+
PAPEROPT_letter = -D latex_paper_size=letter
|
|
19
|
+
ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source
|
|
20
|
+
# the i18n builder cannot share the environment and doctrees with the others
|
|
21
|
+
I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
|
|
22
|
+
|
|
23
|
+
.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext fulldoc allclean
|
|
24
|
+
|
|
25
|
+
help:
|
|
26
|
+
@echo "To update documentation sources from the format specification please use \`make apidoc'"
|
|
27
|
+
@echo ""
|
|
28
|
+
@echo "To build the documentation please use \`make <target>' where <target> is one of"
|
|
29
|
+
@echo " fulldoc to rebuild the apidoc, html, and latexpdf all at once"
|
|
30
|
+
@echo " html to make standalone HTML files"
|
|
31
|
+
@echo " dirhtml to make HTML files named index.html in directories"
|
|
32
|
+
@echo " singlehtml to make a single large HTML file"
|
|
33
|
+
@echo " pickle to make pickle files"
|
|
34
|
+
@echo " json to make JSON files"
|
|
35
|
+
@echo " htmlhelp to make HTML files and a HTML help project"
|
|
36
|
+
@echo " qthelp to make HTML files and a qthelp project"
|
|
37
|
+
@echo " devhelp to make HTML files and a Devhelp project"
|
|
38
|
+
@echo " epub to make an epub"
|
|
39
|
+
@echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
|
|
40
|
+
@echo " latexpdf to make LaTeX files and run them through pdflatex"
|
|
41
|
+
@echo " text to make text files"
|
|
42
|
+
@echo " man to make manual pages"
|
|
43
|
+
@echo " texinfo to make Texinfo files"
|
|
44
|
+
@echo " info to make Texinfo files and run them through makeinfo"
|
|
45
|
+
@echo " gettext to make PO message catalogs"
|
|
46
|
+
@echo " changes to make an overview of all changed/added/deprecated items"
|
|
47
|
+
@echo " linkcheck to check all external links for integrity"
|
|
48
|
+
@echo " doctest to run all doctests embedded in the documentation (if enabled)"
|
|
49
|
+
@echo " apidoc to to build RST from source code"
|
|
50
|
+
@echo " clean to clean all documents built by Sphinx in _build"
|
|
51
|
+
@echo " allclean to clean all autogenerated documents both from Sphinx and apidoc"
|
|
52
|
+
|
|
53
|
+
allclean:
|
|
54
|
+
-rm -rf $(BUILDDIR)/* $(RSTDIR)/modules.rst
|
|
55
|
+
-rm $(RSTDIR)/_format_auto_docs/*.png
|
|
56
|
+
-rm $(RSTDIR)/_format_auto_docs/*.pdf
|
|
57
|
+
-rm $(RSTDIR)/_format_auto_docs/*.rst
|
|
58
|
+
-rm $(RSTDIR)/_format_auto_docs/*.inc
|
|
59
|
+
|
|
60
|
+
clean:
|
|
61
|
+
-rm -rf $(BUILDDIR)/* $(RSTDIR)/modules.rst
|
|
62
|
+
|
|
63
|
+
html:
|
|
64
|
+
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
|
|
65
|
+
@echo
|
|
66
|
+
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
|
|
67
|
+
|
|
68
|
+
dirhtml:
|
|
69
|
+
$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
|
|
70
|
+
@echo
|
|
71
|
+
@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
|
|
72
|
+
|
|
73
|
+
singlehtml:
|
|
74
|
+
$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
|
|
75
|
+
@echo
|
|
76
|
+
@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
|
|
77
|
+
|
|
78
|
+
pickle:
|
|
79
|
+
$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
|
|
80
|
+
@echo
|
|
81
|
+
@echo "Build finished; now you can process the pickle files."
|
|
82
|
+
|
|
83
|
+
json:
|
|
84
|
+
$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
|
|
85
|
+
@echo
|
|
86
|
+
@echo "Build finished; now you can process the JSON files."
|
|
87
|
+
|
|
88
|
+
htmlhelp:
|
|
89
|
+
$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
|
|
90
|
+
@echo
|
|
91
|
+
@echo "Build finished; now you can run HTML Help Workshop with the" ".hhp project file in $(BUILDDIR)/htmlhelp."
|
|
92
|
+
|
|
93
|
+
qthelp:
|
|
94
|
+
$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
|
|
95
|
+
@echo
|
|
96
|
+
@echo "Build finished; now you can run "qcollectiongenerator" with the" ".qhcp project file in $(BUILDDIR)/qthelp, like this:"
|
|
97
|
+
@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/sample.qhcp"
|
|
98
|
+
@echo "To view the help file:"
|
|
99
|
+
@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/sample.qhc"
|
|
100
|
+
|
|
101
|
+
devhelp:
|
|
102
|
+
$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
|
|
103
|
+
@echo
|
|
104
|
+
@echo "Build finished."
|
|
105
|
+
@echo "To view the help file:"
|
|
106
|
+
@echo "# mkdir -p $$HOME/.local/share/devhelp/sample"
|
|
107
|
+
@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/sample"
|
|
108
|
+
@echo "# devhelp"
|
|
109
|
+
|
|
110
|
+
epub:
|
|
111
|
+
$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
|
|
112
|
+
@echo
|
|
113
|
+
@echo "Build finished. The epub file is in $(BUILDDIR)/epub."
|
|
114
|
+
|
|
115
|
+
latex:
|
|
116
|
+
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
|
|
117
|
+
@echo
|
|
118
|
+
@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
|
|
119
|
+
@echo "Run \`make' in that directory to run these through (pdf)latex" "(use \`make latexpdf' here to do that automatically)."
|
|
120
|
+
|
|
121
|
+
latexpdf:
|
|
122
|
+
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
|
|
123
|
+
@echo "Running LaTeX files through pdflatex..."
|
|
124
|
+
$(MAKE) -C $(BUILDDIR)/latex all-pdf
|
|
125
|
+
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
|
|
126
|
+
|
|
127
|
+
text:
|
|
128
|
+
$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
|
|
129
|
+
@echo
|
|
130
|
+
@echo "Build finished. The text files are in $(BUILDDIR)/text."
|
|
131
|
+
|
|
132
|
+
man:
|
|
133
|
+
$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
|
|
134
|
+
@echo
|
|
135
|
+
@echo "Build finished. The manual pages are in $(BUILDDIR)/man."
|
|
136
|
+
|
|
137
|
+
texinfo:
|
|
138
|
+
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
|
|
139
|
+
@echo
|
|
140
|
+
@echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
|
|
141
|
+
@echo "Run \`make' in that directory to run these through makeinfo" "(use \`make info' here to do that automatically)."
|
|
142
|
+
|
|
143
|
+
info:
|
|
144
|
+
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
|
|
145
|
+
@echo "Running Texinfo files through makeinfo..."
|
|
146
|
+
make -C $(BUILDDIR)/texinfo info
|
|
147
|
+
@echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."
|
|
148
|
+
|
|
149
|
+
gettext:
|
|
150
|
+
$(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
|
|
151
|
+
@echo
|
|
152
|
+
@echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."
|
|
153
|
+
|
|
154
|
+
changes:
|
|
155
|
+
$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
|
|
156
|
+
@echo
|
|
157
|
+
@echo "The overview file is in $(BUILDDIR)/changes."
|
|
158
|
+
|
|
159
|
+
linkcheck:
|
|
160
|
+
$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
|
|
161
|
+
@echo
|
|
162
|
+
@echo "Link check complete; look for any errors in the above output " "or in $(BUILDDIR)/linkcheck/output.txt."
|
|
163
|
+
|
|
164
|
+
doctest:
|
|
165
|
+
$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
|
|
166
|
+
@echo "Testing of doctests in the sources finished, look at the " "results in $(BUILDDIR)/doctest/output.txt."
|
|
167
|
+
|
|
168
|
+
apidoc:
|
|
169
|
+
PYTHONPATH=$(CONFDIR):$(PYTHONPATH) nwb_generate_format_docs
|
|
170
|
+
@echo
|
|
171
|
+
@echo "Generate rst source files from NWB spec."
|
|
172
|
+
|
|
173
|
+
fulldoc:
|
|
174
|
+
$(MAKE) allclean
|
|
175
|
+
@echo
|
|
176
|
+
@echo "Rebuilding apidoc, html, latexpdf"
|
|
177
|
+
$(MAKE) apidoc
|
|
178
|
+
$(MAKE) html
|
|
179
|
+
$(MAKE) latexpdf
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
|
|
2
|
+
# Getting started
|
|
3
|
+
|
|
4
|
+
## Generate Documentation
|
|
5
|
+
|
|
6
|
+
* To generate the HTML version of your documentation run ``make html``.
|
|
7
|
+
* The [hdmf-docutils](https://pypi.org/project/hdmf-docutils/) package must be installed.
|
|
8
|
+
|
|
9
|
+
## Customize Your Extension Documentation
|
|
10
|
+
|
|
11
|
+
* **extension description**
|
|
12
|
+
* Edit ``source/description.rst`` to describe your extension.
|
|
13
|
+
|
|
14
|
+
* **release notes**
|
|
15
|
+
* Edit ``source/release_notes.rst`` to document improvements and fixes of your extension.
|
|
16
|
+
|
|
17
|
+
* **documentation build settings**
|
|
18
|
+
* Edit ``source/conf.py`` to customize your extension documentation configuration.
|
|
19
|
+
* Edit ``source/conf_doc_autogen.py`` to customize the format documentation auto-generation based on
|
|
20
|
+
the YAML specification files.
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
# Overview
|
|
24
|
+
|
|
25
|
+
The specification documentation uses Sphinx [http://www.sphinx-doc.org/en/stable/index.html](http://www.sphinx-doc.org/en/stable/index.html)
|
|
26
|
+
|
|
27
|
+
## Rebuilding All
|
|
28
|
+
|
|
29
|
+
To rebuild the full documentation in html, latex, and PDF simply run:
|
|
30
|
+
|
|
31
|
+
```
|
|
32
|
+
make fulldoc
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
This is a convenience function that is equivalent to:
|
|
36
|
+
|
|
37
|
+
```
|
|
38
|
+
make allclean
|
|
39
|
+
make apidoc
|
|
40
|
+
make html
|
|
41
|
+
make latexpdf
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Generating the format documentation from the format spec
|
|
45
|
+
|
|
46
|
+
The format documentation is auto-generated from the format specification (YAML) sources via:
|
|
47
|
+
|
|
48
|
+
```
|
|
49
|
+
make apidoc
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
This will invoke the executable:
|
|
53
|
+
|
|
54
|
+
```
|
|
55
|
+
hdmf_generate_format_docs
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
The script automatically generates a series of .rst, .png, and .pdf files that are stored in the folder `source/format_auto_docs`. The generated .rst files are included in `source/format.rst` and the png and pdf files are used as figures in the autogenerated docs.
|
|
59
|
+
|
|
60
|
+
The folder `source/format_auto_docs` is reserved for autogenerated files, i.e., files in the folder should not be added or edited by hand as they will be deleted and rebuilt during the full built of the documentation.
|
|
61
|
+
|
|
62
|
+
By default the Sphinx configuration is setup to always regenerate the sources whenever the docs are being built (see next section). This behavior can be customized via the `spec_doc_rebuild_always` parameter in `source/conf.py`
|
|
63
|
+
|
|
64
|
+
## Building a specific document type
|
|
65
|
+
|
|
66
|
+
To build the documentation, run:
|
|
67
|
+
|
|
68
|
+
```
|
|
69
|
+
make <doctype>
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
where `<doctype>` is, e.g., `latexpdf`, `html`, `singlehtml`, or `man`. For a complete list of supported doc-types, see:
|
|
73
|
+
|
|
74
|
+
```
|
|
75
|
+
make help
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
## Cleaning up
|
|
79
|
+
|
|
80
|
+
`make clean` cleans up all builds of the documentation located in `_build`.
|
|
81
|
+
|
|
82
|
+
`make allclean` cleans up all builds of the documentation located in `_build` as well as all autogenerated sources stored in `source/format_auto_docs`.
|
|
83
|
+
|
|
84
|
+
## Configuration
|
|
85
|
+
|
|
86
|
+
The build of the documentation can be customized via a broad range of Sphinx options in:
|
|
87
|
+
|
|
88
|
+
`source/conf_doc_autogen.py`
|
|
89
|
+
|
|
90
|
+
In addition to standard Sphinx options, there are a number of additional options used to customize the content and structure of the autogenerated documents, e.g.:
|
|
91
|
+
|
|
92
|
+
* `spec_show_yaml_src` - Boolean indicating whether the YAML sources should be included for the different Neurodata types
|
|
93
|
+
* `spec_generate_src_file` - Boolean indicating whether the YAML sources of the neurodata_types should be rendered in a separate section (True) or in the same location as the main documentation
|
|
94
|
+
* `spec_show_hierarchy_plots` - Boolean indicating whether we should generate and show figures of the hierarchy defined by the specifications as part of the documentation
|
|
95
|
+
* `spec_file_per_type` - Boolean indicating whether we should generate separate .inc reStructuredText for each neurodata_type (True)
|
|
96
|
+
or should all text be added to the main file (False)
|
|
97
|
+
* `spec_show_subgroups_in_tables` - Should subgroups of the main groups be rendered in the table as well. Usually this is disabled since groups are rendered as separate sections in the text
|
|
98
|
+
* `spec_appreviate_main_object_doc_in_tables` - Abbreviate the documentation of the main object for which a table is rendered in the table. This is commonly set to True as doc of the main object is already rendered as the main intro for the section describing the object
|
|
99
|
+
* `spec_show_title_for_tables` - Add a title for the table showing the specifications.
|
|
100
|
+
* `spec_show_subgroups_in_seperate_table` - Should top-level subgroups be listed in a separate table or as part of the main dataset and attributes table
|
|
101
|
+
* `spec_table_depth_char` - Char to be used as prefix to indicate the depth of an object in the specification hierarchy. NOTE: The char used should be supported by LaTeX.
|
|
102
|
+
* `spec_add_latex_clearpage_after_ndt_sections` - Add a LaTeX clearpage after each main section describing a neurodata_type. This helps in LaTeX to keep the ordering of figures, tables, and code blocks consistent in particular when the hierarchy_plots are included.
|
|
103
|
+
* `spec_resolve_type_inc` - Resolve includes to always show the full list of objects that are part of a type (True) or to show only the parts that are actually new to a current type while only linking to base types (False)
|
|
104
|
+
|
|
105
|
+
In addition, the location of the input format specification can be customized as follows:
|
|
106
|
+
|
|
107
|
+
* `spec_input_spec_dir` - Directory where the YAML files for the namespace to be documented are located
|
|
108
|
+
* `spec_input_namespace_filename` - Name of the YAML file with the specification of the Namespace to be documented
|
|
109
|
+
* `spec_input_default_namespace` - Name of the default namespace in the file
|
|
110
|
+
|
|
111
|
+
Finally, the name and location of output files can be customized as follows:
|
|
112
|
+
|
|
113
|
+
* `spec_output_dir` - Directory where the autogenerated files should be stored
|
|
114
|
+
* `spec_output_master_filename` - Name of the master .rst file that includes all the autogenerated docs
|
|
115
|
+
* `spec_output_doc_filename` - Name of the file where the main documentation goes
|
|
116
|
+
* `spec_output_src_filename` - Name of the file where the sources of the format spec go. NOTE: This file is only generated if `spec_generate_src_file` is enabled
|
|
117
|
+
* `spec_output_doc_type_hierarchy_filename` - Name of the file containing the type hierarchy. (Included in `spec_output_doc_filename`)
|
|
118
|
+
|
|
119
|
+
In the regular Sphinx `source/conf.py` file, we can then also set:
|
|
120
|
+
|
|
121
|
+
* `spec_doc_rebuild_always` - Boolean to define whether to always rebuild the source docs from YAML when doing a regular build of the sources (e.g., via `make html`) even if the folder with the source files already exists
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
@ECHO OFF
|
|
2
|
+
|
|
3
|
+
pushd %~dp0
|
|
4
|
+
|
|
5
|
+
REM Command file for Sphinx documentation
|
|
6
|
+
|
|
7
|
+
if "%SPHINXBUILD%" == "" (
|
|
8
|
+
set SPHINXBUILD=sphinx-build
|
|
9
|
+
)
|
|
10
|
+
set SOURCEDIR=source
|
|
11
|
+
set BUILDDIR=build
|
|
12
|
+
|
|
13
|
+
%SPHINXBUILD% >NUL 2>NUL
|
|
14
|
+
if errorlevel 9009 (
|
|
15
|
+
echo.
|
|
16
|
+
echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
|
|
17
|
+
echo.installed, then set the SPHINXBUILD environment variable to point
|
|
18
|
+
echo.to the full path of the 'sphinx-build' executable. Alternatively you
|
|
19
|
+
echo.may add the Sphinx directory to PATH.
|
|
20
|
+
echo.
|
|
21
|
+
echo.If you don't have Sphinx installed, grab it from
|
|
22
|
+
echo.https://www.sphinx-doc.org/
|
|
23
|
+
exit /b 1
|
|
24
|
+
)
|
|
25
|
+
|
|
26
|
+
if "%1" == "" goto help
|
|
27
|
+
|
|
28
|
+
%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
|
|
29
|
+
goto end
|
|
30
|
+
|
|
31
|
+
:help
|
|
32
|
+
%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
|
|
33
|
+
|
|
34
|
+
:end
|
|
35
|
+
popd
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/* override table width restrictions */
|
|
2
|
+
@media screen and (min-width: 767px) {
|
|
3
|
+
|
|
4
|
+
.wy-table-responsive table td {
|
|
5
|
+
/* !important prevents the common CSS stylesheets from overriding
|
|
6
|
+
this as on RTD they are loaded after this stylesheet */
|
|
7
|
+
white-space: normal !important;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.wy-table-responsive {
|
|
11
|
+
overflow: visible !important;
|
|
12
|
+
}
|
|
13
|
+
}
|