diff --git a/+tests/requirements.txt b/+tests/requirements.txt new file mode 100644 index 00000000..da0e7629 --- /dev/null +++ b/+tests/requirements.txt @@ -0,0 +1,2 @@ +pynwb +hdf5plugin \ No newline at end of file diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 1cb8537d..b5eee1a1 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -18,29 +18,40 @@ steps: - bash: | python -m pip install --upgrade pip - pip install pynwb - pip install hdf5plugin + pip install -r +tests/requirements.txt echo "##vso[task.setvariable variable=plugin_path]$(python -c "import hdf5plugin; print(hdf5plugin.PLUGINS_PATH)")" displayName: 'Install PyNWB' - - task: RunMATLABCommand@0 - inputs: - command: "results = assertSuccess(nwbtest); assert(~isempty(results), 'No tests ran');" - env: - HDF5_PLUGIN_PATH: $(plugin_path) + #- task: RunMATLABCommand@0 + # inputs: + # command: "results = assertSuccess(nwbtest); assert(~isempty(results), 'No tests ran');" + # env: + # HDF5_PLUGIN_PATH: $(plugin_path) - - task: PublishTestResults@2 - condition: succeededOrFailed() - inputs: - testResultsFiles: testResults.xml + # - task: PublishTestResults@2 + # condition: succeededOrFailed() + # inputs: + # testResultsFiles: testResults.xml - - task: PublishCodeCoverageResults@1 + # - task: PublishCodeCoverageResults@1 + # inputs: + # codeCoverageTool: Cobertura + # summaryFileLocation: coverage.xml + # + # - script: | + # bash <(curl -s https://codecov.io/bash) + # displayName: 'Upload coverage to codecov' + + - task: RunMATLABCommand@0 inputs: - codeCoverageTool: Cobertura - summaryFileLocation: coverage.xml - - - script: | - bash <(curl -s https://codecov.io/bash) - displayName: 'Upload coverage to codecov' - + command: "generateCore();" + displayName: 'Generating Core Namespace' + + - bash: | + pip install -r docs/requirements.txt + mkdir build + sphinx-build -v docs build + displayName: 'Generating API Documentation' + - publish: build + artifact: api-pages \ No newline at end of file diff --git a/docs/conf.py b/docs/conf.py new file mode 100644 index 00000000..10374225 --- /dev/null +++ b/docs/conf.py @@ -0,0 +1,35 @@ +# Configuration file for the Sphinx documentation builder. +# +# For the full list of built-in configuration values, see the documentation: +# https://www.sphinx-doc.org/en/master/usage/configuration.html + +# -- Project information ----------------------------------------------------- +# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information + +project = 'MatNWB' +copyright = '2023, The NeurodataWithoutBorders Team' +author = 'The NeurodataWithoutBorders Team' +release = '2.6.0.2' + +# -- General configuration --------------------------------------------------- +# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration + +extensions = ['sphinxcontrib.matlab', 'sphinx.ext.autodoc'] + +templates_path = ['_templates'] +exclude_patterns = [] +matlab_src_dir = "." + + +# -- Options for HTML output ------------------------------------------------- +# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output + +primary_domain = "mat" + +html_theme = "sphinx_rtd_theme" +html_logo = "../../logo/logo_matnwb.svg" +html_static_path = ['_static'] + +matlab_auto_link = "all" +matlab_show_property_default_value = True +matlab_class_signature = True \ No newline at end of file diff --git a/docs/core.rst b/docs/core.rst new file mode 100644 index 00000000..d4bc8770 --- /dev/null +++ b/docs/core.rst @@ -0,0 +1,11 @@ +.. _core: + +NWB Core Classes +================ + +`Full Module Index `_ + +.. automodule:: +types.+core + :members: + :undoc-members: + :show-inheritance: \ No newline at end of file diff --git a/docs/hdmf_common.rst b/docs/hdmf_common.rst new file mode 100644 index 00000000..d76dc95f --- /dev/null +++ b/docs/hdmf_common.rst @@ -0,0 +1,14 @@ +.. _hdmf_common: + +HDMF Classes +============ + +`Full Module Index `_ + +These classes are provided by HDMF and describe helper classes used by NWB files. + + +.. automodule:: +types.+hdmf_common + :members: + :undoc-members: + :show-inheritance: \ No newline at end of file diff --git a/docs/hdmf_experimental.rst b/docs/hdmf_experimental.rst new file mode 100644 index 00000000..f777f152 --- /dev/null +++ b/docs/hdmf_experimental.rst @@ -0,0 +1,14 @@ +.. _hdmf_experimental: + +HDMF Experimental Classes +========================= + +`Full Module Index `_ + +.. warning:: + These classes are not guaranteed to be stable across NWB Schema Versions. Use these classes with caution + +.. automodule:: +types.+hdmf_experimental + :members: + :undoc-members: + :show-inheritance: \ No newline at end of file diff --git a/docs/index.rst b/docs/index.rst new file mode 100644 index 00000000..a5720a1f --- /dev/null +++ b/docs/index.rst @@ -0,0 +1,22 @@ +.. MatNWB documentation master file, created by + sphinx-quickstart on Thu Sep 7 17:44:10 2023. + You can adapt this file completely to your liking, but it should at least + contain the root `toctree` directive. + +Welcome to MatNWB's API documentation! +====================================== + +.. toctree:: + :maxdepth: 2 + :caption: Classes: + + NWB Core (+core) + HDMF Common (+hdmf_common) + HDMF Experimental (+hdmf_experimental) + Utility Types (+untyped) + +Indices and tables +================== + +* :ref:`genindex` +* `MATLAB Module Index `_ \ No newline at end of file diff --git a/docs/requirements.txt b/docs/requirements.txt new file mode 100644 index 00000000..b2f0cde2 --- /dev/null +++ b/docs/requirements.txt @@ -0,0 +1,3 @@ +sphinx +sphinxcontrib-matlabdomain +sphinx-rtd-theme \ No newline at end of file diff --git a/docs/utility.rst b/docs/utility.rst new file mode 100644 index 00000000..86e22e65 --- /dev/null +++ b/docs/utility.rst @@ -0,0 +1,13 @@ +.. _utility: + +Utility Classes +=============== + +`Full Module Index `_ + +These classes are provided by MatNWB for more advanced interfacing with HDF data representations. + +.. automodule:: +types.+untyped + :members: + :undoc-members: + :show-inheritance: \ No newline at end of file