[hdf-compass] 171/295: Improvements to the structure of the manual

Ghislain Vaillant ghisvail-guest at moszumanska.debian.org
Sun May 8 10:35:40 UTC 2016


This is an automated email from the git hooks/post-receive script.

ghisvail-guest pushed a commit to branch debian/master
in repository hdf-compass.

commit 0e5b081702b9e1cd6ecaf48c13c40245b4f2c2b3
Author: giumas <giumas at yahoo.it>
Date:   Thu Oct 22 15:47:05 2015 -0400

    Improvements to the structure of the manual
---
 COPYING                            |  53 +++---
 docs/Makefile                      |  43 ++++-
 docs/conf.py                       |  94 +++++++---
 docs/{index.rst => data_model.rst} |  38 ++--
 docs/how_to_contribute.rst         |   4 +
 docs/how_to_freeze.rst             |   4 +
 docs/how_to_install.rst            |   4 +
 docs/how_to_release.rst            |  19 ++
 docs/how_to_use.rst                |   4 +
 docs/index.rst                     | 349 ++++---------------------------------
 COPYING => docs/license.rst        | 122 ++++++-------
 docs/make.bat                      | 263 ++++++++++++++++++++++++++++
 docs/requirements.rst              |   4 +
 13 files changed, 538 insertions(+), 463 deletions(-)

diff --git a/COPYING b/COPYING
index 740c001..8285d84 100644
--- a/COPYING
+++ b/COPYING
@@ -74,57 +74,48 @@ Compass source code.
 
     Python interpreter
       Provided by: Python Software Foundation
-      Copyright and license information:
-           Additional_Legal/Python_Copyright_and_License.txt
-      Original source:
-           https://docs.python.org/3/license.html
+      Copyright and license information: additional_legal/Python_Copyright_and_License.txt
+      Original source: https://docs.python.org/3/license.html
       License type: BSD-style license
 
     wxPython GUI layer
-      Provided by: Julian Smart, Vadim Zeitlin, Stefan Csomor, Robert 
-           Roebling, and other members of the wxWidgets team
-      Copyright and license information:
-           Additional_Legal/wxWidgets_Copyrights_and_Licenses.txt
-      Original source:
-           http://docs.wxwidgets.org/3.0/page_copyright.html
+      Provided by: Julian Smart, Vadim Zeitlin, Stefan Csomor, Robert Roebling, and other members of the wxWidgets team
+      Copyright and license information: additional_legal/wxWidgets_Copyrights_and_Licenses.txt
+      Original source: http://docs.wxwidgets.org/3.0/page_copyright.html
       License type: GNU LGPL version 2 license with exception
 
     PyInstaller runtime support code (Windows & Linux only)
       Provided by: PyInstaller Development Team
-      Copyright and license information:
-           Additional_Legal/PyInstaller_Copyrights_and_Licenses.txt
-      Original source:
-           https://github.com/pyinstaller/pyinstaller/blob/develop/COPYING.txt
+      Copyright and license information: additional_legal/PyInstaller_Copyrights_and_Licenses.txt
+      Original source: https://github.com/pyinstaller/pyinstaller/blob/develop/COPYING.txt
       License type: GNU GPL version 2 license with exception
 
     HDF5 for Python (h5py)
       Provided by: Andrew Collette and contributors
-      Copyright and license information:
-           Additional_Legal/h5py_Copyrights_and_Licenses.txt
-      Original source:
-           http://docs.h5py.org/en/latest/licenses.html
+      Copyright and license information: additional_legal/h5py_Copyrights_and_Licenses.txt
+      Original source: http://docs.h5py.org/en/latest/licenses.html
+      License type: BSD-style license
+
+    HydrOffice BAG (hydroffice.bag)
+      Provided by: G.Masetti, B.R.Calder, and contributors
+      Copyright and license information: additional_legal/hydroffice_bag_Copyrights_and_Licenses.txt
+      Original source: https://bitbucket.org/ccomjhc/hyo_bag/raw/tip/COPYING.txt
       License type: BSD-style license
 
     NumPy
       Provided by: NumPy Developers
-      Copyright and license information:
-           Additional_Legal/NumPy_Copyright_and_License.txt
-      Original source:
-           http://www.numpy.org/license.html
+      Copyright and license information: additional_legal/NumPy_Copyright_and_License.txt
+      Original source: http://www.numpy.org/license.html
       License type: BSD-style license
 
     matplotlib
       Provided by: Matplotlib Development Team
-      Copyright and license information:
-           Additional_Legal/matplotlib_Copyright_and_License.txt
-      Original source:
-           http://matplotlib.org/users/license.html
-      License type: BSD-style license 
+      Copyright and license information: additional_legal/matplotlib_Copyright_and_License.txt
+      Original source: http://matplotlib.org/users/license.html
+      License type: BSD-style license
 
     PyDAP
       Provided by: Roberto De Almeida
-      Copyright and license information:
-           Additional_Legal/PyDAP_Copyright_and_License.txt
-      Original source:
-           http://www.pydap.org/license.html
+      Copyright and license information: additional_legal/PyDAP_Copyright_and_License.txt
+      Original source: http://www.pydap.org/license.html
       License type: BSD-style license
\ No newline at end of file
diff --git a/docs/Makefile b/docs/Makefile
index 763f67c..51a38c1 100644
--- a/docs/Makefile
+++ b/docs/Makefile
@@ -7,6 +7,11 @@ SPHINXBUILD   = sphinx-build
 PAPER         =
 BUILDDIR      = _build
 
+# User-friendly check for sphinx-build
+ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1)
+$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/)
+endif
+
 # Internal variables.
 PAPEROPT_a4     = -D latex_paper_size=a4
 PAPEROPT_letter = -D latex_paper_size=letter
@@ -14,7 +19,7 @@ ALLSPHINXOPTS   = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
 # the i18n builder cannot share the environment and doctrees with the others
 I18NSPHINXOPTS  = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
 
-.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext
+.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest coverage gettext
 
 help:
 	@echo "Please use \`make <target>' where <target> is one of"
@@ -25,21 +30,26 @@ help:
 	@echo "  json       to make JSON files"
 	@echo "  htmlhelp   to make HTML files and a HTML help project"
 	@echo "  qthelp     to make HTML files and a qthelp project"
+	@echo "  applehelp  to make an Apple Help Book"
 	@echo "  devhelp    to make HTML files and a Devhelp project"
 	@echo "  epub       to make an epub"
 	@echo "  latex      to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
 	@echo "  latexpdf   to make LaTeX files and run them through pdflatex"
+	@echo "  latexpdfja to make LaTeX files and run them through platex/dvipdfmx"
 	@echo "  text       to make text files"
 	@echo "  man        to make manual pages"
 	@echo "  texinfo    to make Texinfo files"
 	@echo "  info       to make Texinfo files and run them through makeinfo"
 	@echo "  gettext    to make PO message catalogs"
 	@echo "  changes    to make an overview of all changed/added/deprecated items"
+	@echo "  xml        to make Docutils-native XML files"
+	@echo "  pseudoxml  to make pseudoxml-XML files for display purposes"
 	@echo "  linkcheck  to check all external links for integrity"
 	@echo "  doctest    to run all doctests embedded in the documentation (if enabled)"
+	@echo "  coverage   to run coverage check of the documentation (if enabled)"
 
 clean:
-	-rm -rf $(BUILDDIR)/*
+	rm -rf $(BUILDDIR)/*
 
 html:
 	$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
@@ -81,6 +91,14 @@ qthelp:
 	@echo "To view the help file:"
 	@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/HDFCompass.qhc"
 
+applehelp:
+	$(SPHINXBUILD) -b applehelp $(ALLSPHINXOPTS) $(BUILDDIR)/applehelp
+	@echo
+	@echo "Build finished. The help book is in $(BUILDDIR)/applehelp."
+	@echo "N.B. You won't be able to view it unless you put it in" \
+	      "~/Library/Documentation/Help or install it in your application" \
+	      "bundle."
+
 devhelp:
 	$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
 	@echo
@@ -108,6 +126,12 @@ latexpdf:
 	$(MAKE) -C $(BUILDDIR)/latex all-pdf
 	@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
 
+latexpdfja:
+	$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
+	@echo "Running LaTeX files through platex and dvipdfmx..."
+	$(MAKE) -C $(BUILDDIR)/latex all-pdf-ja
+	@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
+
 text:
 	$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
 	@echo
@@ -151,3 +175,18 @@ doctest:
 	$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
 	@echo "Testing of doctests in the sources finished, look at the " \
 	      "results in $(BUILDDIR)/doctest/output.txt."
+
+coverage:
+	$(SPHINXBUILD) -b coverage $(ALLSPHINXOPTS) $(BUILDDIR)/coverage
+	@echo "Testing of coverage in the sources finished, look at the " \
+	      "results in $(BUILDDIR)/coverage/python.txt."
+
+xml:
+	$(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml
+	@echo
+	@echo "Build finished. The XML files are in $(BUILDDIR)/xml."
+
+pseudoxml:
+	$(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml
+	@echo
+	@echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml."
diff --git a/docs/conf.py b/docs/conf.py
index d5f0ad1..c0f31d1 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -1,7 +1,8 @@
 # -*- coding: utf-8 -*-
 #
 #
-# This file is execfile()d with the current directory set to its containing dir.
+# This file is execfile()d with the current directory set to its
+# containing dir.
 #
 # Note that not all possible configuration values are present in this
 # autogenerated file.
@@ -9,28 +10,33 @@
 # All configuration values have a default; values that are commented out
 # serve to show the default.
 
-from __future__ import absolute_import, division, print_function
-
-import sys, os
+import sys
+import os
+import shlex
 
 # If extensions (or modules to document with autodoc) are in another directory,
 # add these directories to sys.path here. If the directory is relative to the
 # documentation root, use os.path.abspath to make it absolute, like shown here.
 #sys.path.insert(0, os.path.abspath('.'))
 
-# -- General configuration -----------------------------------------------------
+# -- General configuration ------------------------------------------------
 
 # If your documentation needs a minimal Sphinx version, state it here.
 #needs_sphinx = '1.0'
 
-# Add any Sphinx extension module names here, as strings. They can be extensions
-# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
-extensions = ['sphinx.ext.autodoc']
+# Add any Sphinx extension module names here, as strings. They can be
+# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
+# ones.
+extensions = [
+    'sphinx.ext.autodoc',
+]
 
 # Add any paths that contain templates here, relative to this directory.
 templates_path = ['_templates']
 
-# The suffix of source filenames.
+# The suffix(es) of source filenames.
+# You can specify multiple suffix as a list of string:
+# source_suffix = ['.rst', '.md']
 source_suffix = '.rst'
 
 # The encoding of source files.
@@ -40,21 +46,25 @@ source_suffix = '.rst'
 master_doc = 'index'
 
 # General information about the project.
-project = u'HDFCompass Data Model'
-copyright = u'2014, The HDF Group'
+project = u'HDF Compass'
+copyright = u'2015, The HDF Group'
+author = u'The HDF Group'
 
 # The version info for the project you're documenting, acts as replacement for
 # |version| and |release|, also used in various other places throughout the
 # built documents.
 #
 # The short X.Y version.
-version = '0.5'
+version = '0.6'
 # The full version, including alpha/beta/rc tags.
-release = '0.5'
+release = '0.6.0'
 
 # The language for content autogenerated by Sphinx. Refer to documentation
 # for a list of supported languages.
-#language = None
+#
+# This is also used if you do content translation via gettext catalogs.
+# Usually you set "language" from the command line for these cases.
+language = None
 
 # There are two options for replacing |today|: either, you set today to some
 # non-false value, then it is used:
@@ -66,7 +76,8 @@ release = '0.5'
 # directories to ignore when looking for source files.
 exclude_patterns = ['_build']
 
-# The reST default role (used for this markup: `text`) to use for all documents.
+# The reST default role (used for this markup: `text`) to use for all
+# documents.
 #default_role = None
 
 # If true, '()' will be appended to :func: etc. cross-reference text.
@@ -86,8 +97,14 @@ pygments_style = 'sphinx'
 # A list of ignored prefixes for module index sorting.
 #modindex_common_prefix = []
 
+# If true, keep warnings as "system message" paragraphs in the built documents.
+#keep_warnings = False
 
-# -- Options for HTML output ---------------------------------------------------
+# If true, `todo` and `todoList` produce output, else they produce nothing.
+todo_include_todos = False
+
+
+# -- Options for HTML output ----------------------------------------------
 
 # The theme to use for HTML and HTML Help pages.  See the documentation for
 # a list of builtin themes.
@@ -122,6 +139,11 @@ html_theme = 'default'
 # so a file named "default.css" will overwrite the builtin "default.css".
 html_static_path = ['_static']
 
+# Add any extra paths that contain custom files (such as robots.txt or
+# .htaccess) here, relative to this directory. These files are copied
+# directly to the root of the documentation.
+#html_extra_path = []
+
 # If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
 # using the given strftime format.
 #html_last_updated_fmt = '%b %d, %Y'
@@ -163,11 +185,24 @@ html_static_path = ['_static']
 # This is the file name suffix for HTML files (e.g. ".xhtml").
 #html_file_suffix = None
 
+# Language to be used for generating the HTML full-text search index.
+# Sphinx supports the following languages:
+#   'da', 'de', 'en', 'es', 'fi', 'fr', 'hu', 'it', 'ja'
+#   'nl', 'no', 'pt', 'ro', 'ru', 'sv', 'tr'
+#html_search_language = 'en'
+
+# A dictionary with options for the search language support, empty by default.
+# Now only 'ja' uses this config value
+#html_search_options = {'type': 'default'}
+
+# The name of a javascript file (relative to the configuration directory) that
+# implements a search results scorer. If empty, the default will be used.
+#html_search_scorer = 'scorer.js'
+
 # Output file base name for HTML help builder.
 htmlhelp_basename = 'HDFCompassdoc'
 
-
-# -- Options for LaTeX output --------------------------------------------------
+# -- Options for LaTeX output ---------------------------------------------
 
 latex_elements = {
 # The paper size ('letterpaper' or 'a4paper').
@@ -178,12 +213,16 @@ latex_elements = {
 
 # Additional stuff for the LaTeX preamble.
 #'preamble': '',
+
+# Latex figure (float) alignment
+#'figure_align': 'htbp',
 }
 
 # Grouping the document tree into LaTeX files. List of tuples
-# (source start file, target name, title, author, documentclass [howto/manual]).
+# (source start file, target name, title,
+#  author, documentclass [howto, manual, or own class]).
 latex_documents = [
-  ('index', 'HDFCompass.tex', u'HDFCompass Data Model',
+  (master_doc, 'HDFCompass.tex', u'HDF Compass Documentation',
    u'The HDF Group', 'manual'),
 ]
 
@@ -208,27 +247,27 @@ latex_documents = [
 #latex_domain_indices = True
 
 
-# -- Options for manual page output --------------------------------------------
+# -- Options for manual page output ---------------------------------------
 
 # One entry per manual page. List of tuples
 # (source start file, name, description, authors, manual section).
 man_pages = [
-    ('index', 'hdfcompass', u'HDFCompass Documentation',
-     [u'The HDF Group'], 1)
+    (master_doc, 'hdfcompass', u'HDF Compass Documentation',
+     [author], 1)
 ]
 
 # If true, show URL addresses after external links.
 #man_show_urls = False
 
 
-# -- Options for Texinfo output ------------------------------------------------
+# -- Options for Texinfo output -------------------------------------------
 
 # Grouping the document tree into Texinfo files. List of tuples
 # (source start file, target name, title, author,
 #  dir menu entry, description, category)
 texinfo_documents = [
-  ('index', 'HDFCompass', u'HDFCompass Documentation',
-   u'The HDF Group', 'HDFCompass', 'One line description of project.',
+  (master_doc, 'HDFCompass', u'HDF Compass Documentation',
+   author, 'HDFCompass', 'One line description of project.',
    'Miscellaneous'),
 ]
 
@@ -240,3 +279,6 @@ texinfo_documents = [
 
 # How to display URL addresses: 'footnote', 'no', or 'inline'.
 #texinfo_show_urls = 'footnote'
+
+# If true, do not generate a @detailmenu in the "Top" node's menu.
+#texinfo_no_detailmenu = False
diff --git a/docs/index.rst b/docs/data_model.rst
similarity index 91%
copy from docs/index.rst
copy to docs/data_model.rst
index f07c72a..1481337 100644
--- a/docs/index.rst
+++ b/docs/data_model.rst
@@ -1,19 +1,5 @@
-..   Copyright by The HDF Group.                                                
- All rights reserved.                                                       
-                                                                          
- This file is part of the HDF Compass Viewer. The full HDF Compass          
- copyright notice, including terms governing use, modification, and         
- terms governing use, modification, and redistribution, is contained in     
- the file COPYING, which can be found at the root of the source code        
- distribution tree.  If you do not have access to this file, you may        
- request a copy from help at hdfgroup.org.                                     
-
-####
-Root
-####
-
-Data & Object Model
-===================
+Data Model `[developer]`
+========================
 
 Introduction
 ------------
@@ -58,7 +44,7 @@ Array viewer or see the HDF5 attributes.
 
 Numeric types (integers, floats, multidimensional data) are handled with the
 NumPy type model, which can represent nearly all formats.  Python strings
-(byte and Unicode) are also supported. 
+(byte and Unicode) are also supported.
 
 
 Data stores
@@ -95,7 +81,7 @@ which an optionally request that only subclasses capable of handling *key*
 be returned.  This is the basis for the right-click "Open As" menu in the GUI.
 
 .. classmethod:: Store.push(nodeclass)
-    
+
     Register a Node subclass.  These are kept in a list inside the class;
     when an object is retrieved from the store, the first class for
     which `nodeclass.canhandle(store, key)` returns True is instantiated
@@ -144,7 +130,7 @@ Other methods & properties
     **(Abstract)** The URL used to open the store
 
 .. attribute:: Store.displayname
-    
+
     **(Abstract)** A short name used for the store (e.g. ``basename(filepath)``).
 
 .. attribute:: Store.root
@@ -156,10 +142,10 @@ Other methods & properties
 .. attribute:: Store.file_extensions
 
     For plugins that support local file access, this is a dictionary mapping
-    file kinds to lists of extensions in "glob" format, e.g. 
+    file kinds to lists of extensions in "glob" format, e.g.
     ``{'HDF5 File': ['.h5', '.hdf5']}``.  This will be used to populate the
     filter in the file-open dialog, among other things.
-    
+
 Nodes
 -----
 
@@ -215,12 +201,12 @@ and arrays.  It defines much of the interface.
 
 .. attribute:: Node.displayname
 
-    **(Abstract)** 
+    **(Abstract)**
     A short name for display purposes (16 chars or so; more will be ellipsized).
 
 .. attribute:: Node.description
 
-    **(Abstract)** 
+    **(Abstract)**
     Descriptive string (possibly multi-line).
 
 
@@ -235,12 +221,12 @@ Containers
 
 .. method:: Container.__len__()
 
-    **(Abstract)** 
+    **(Abstract)**
     Get the number of objects directly attached to the container.
 
 .. method:: Container.__getitem__(index)
 
-    **(Abstract)** 
+    **(Abstract)**
     Retrieve the node at *index*.  Note this returns a Node instance, not a key.
 
 
@@ -282,7 +268,7 @@ Key-Value lists
 
 .. attribute:: KeyValue.keys
 
-    **(Abstract)** 
+    **(Abstract)**
     A list containing all (string) keys contained in the object.
 
 .. method:: KeyValue.__getitem__(name)
diff --git a/docs/how_to_contribute.rst b/docs/how_to_contribute.rst
new file mode 100644
index 0000000..eb0b180
--- /dev/null
+++ b/docs/how_to_contribute.rst
@@ -0,0 +1,4 @@
+How to contribute `[developer]`
+===============================
+
+TBD
\ No newline at end of file
diff --git a/docs/how_to_freeze.rst b/docs/how_to_freeze.rst
new file mode 100644
index 0000000..2309f34
--- /dev/null
+++ b/docs/how_to_freeze.rst
@@ -0,0 +1,4 @@
+How to freeze `[developer]`
+===========================
+
+TBD
\ No newline at end of file
diff --git a/docs/how_to_install.rst b/docs/how_to_install.rst
new file mode 100644
index 0000000..17f20e2
--- /dev/null
+++ b/docs/how_to_install.rst
@@ -0,0 +1,4 @@
+How to install
+==============
+
+TBD
\ No newline at end of file
diff --git a/docs/how_to_release.rst b/docs/how_to_release.rst
new file mode 100644
index 0000000..a2ac6d9
--- /dev/null
+++ b/docs/how_to_release.rst
@@ -0,0 +1,19 @@
+How to release `[developer]`
+============================
+
+Versioning
+----------
+
+You need to manually modify the ``__version__`` variable in the `__init__.py` file present in ``hdf_compass.utils`` package.
+
+The above version value must agree with the variables ``version`` and ``release`` present in the ``conf.py`` under the `docs` folder.
+
+
+PyInstaller
+-----------
+
+For the `HDFCompass.1file.spec` file, you need to verify that the following parameters are passed to the ``EXE()`` function:
+
+* ``console=False``: to avoid that a console window is opened at run-time for standard I/O
+* ``debug=False``: to avoid that the boot-loader issues progress messages while initializing and starting the bundled app
+
diff --git a/docs/how_to_use.rst b/docs/how_to_use.rst
new file mode 100644
index 0000000..1f60d12
--- /dev/null
+++ b/docs/how_to_use.rst
@@ -0,0 +1,4 @@
+How to use
+==========
+
+TBD
\ No newline at end of file
diff --git a/docs/index.rst b/docs/index.rst
index f07c72a..eec4023 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -1,326 +1,49 @@
-..   Copyright by The HDF Group.                                                
- All rights reserved.                                                       
-                                                                          
- This file is part of the HDF Compass Viewer. The full HDF Compass          
- copyright notice, including terms governing use, modification, and         
- terms governing use, modification, and redistribution, is contained in     
- the file COPYING, which can be found at the root of the source code        
- distribution tree.  If you do not have access to this file, you may        
- request a copy from help at hdfgroup.org.                                     
+.. Copyright by The HDF Group.
+ All rights reserved.
 
-####
-Root
-####
+ This file is part of the HDF Compass Viewer. The full HDF Compass
+ copyright notice, including terms governing use, modification, and
+ terms governing use, modification, and redistribution, is contained in
+ the file COPYING, which can be found at the root of the source code
+ distribution tree.  If you do not have access to this file, you may
+ request a copy from help at hdfgroup.org.
 
-Data & Object Model
-===================
+HDF Compass's documentation
+===========================
 
-Introduction
-------------
+This document provide information about the HDF Compass application.
 
-This document describes the publically accessible data model package which is
-used by HDFCompass to display objects in a file, OpenDAP server or other
-resource.
+In Brief
+--------
 
-The data model is implemented as a collection of classes in a top-level Python
-package, ``compass_model``, which is completely independent of the GUI code.
-It has no dependencies beyond the Python standard library.  This makes it
-possible to develop and test new plugins independently of GUI development;
-in particular, the automated Python unit-testing framework can be used, which
-is impossible for code that depends on the GUI.
+HDF Compass is an experimental viewer program for
+HDF5 and related formats, designed to complement other more complex
+applications like HDFView.  Strong emphasis is placed on clean minimal design,
+and maximum extensibility through a plugin system for new formats.
 
-The classes in ``compass_model`` are abstract, and define a standard interface
-for objects like containers, regular multidimensional arrays, images, and
-key/value stores.  "Plug-ins" consist of concrete implementations which
-satisfy this interface.  For example, the built-in HDF5 plugin which ships
-with HDFCompass implements a ``Group`` class which inherits from
-``compass_model.Container``, and a Dataset class which inherits from
-``compass_model.Array``.
+HDF Compass is written in Python, but ships as a native application on
+Windows, OS X, and Linux, by using PyInstaller and Py2App to package the app.
 
-The GUI has a collection of viewers which can display any object following
-the interfaces defined in ``compass_model``.  For example,
-``compass_model.Container``
-implementations are displayed in a browser-style view, with list, icon, and
-tree displays possible.  Likewise, ``compass_model.Array`` implementations
-are displayed in a spreadsheet-like view, with facilities for plotting data.
 
-Multiple concrete classes can handle the same object in a file.  For example,
-an HDF5 image is implemented as a dataset with special attributes.  Three
-classes in the HDF5 plugin are capable of handling such an object, which
-inherit respectively from ``compass_model.Image``, ``compass_model.Array``, and
-``compass_model.KeyValue``; the last represents HDF5 attributes.
+Contents
+--------
 
-When an icon in the GUI is double-clicked, the default (last-registered) class is
-used to open to object in the file.  The other classes are made available in a
-context menu, for example, if the user wants to open an image with the
-Array viewer or see the HDF5 attributes.
+.. toctree::
+   :maxdepth: 2
 
+   requirements
+   license
+   how_to_install
+   how_to_use
+   how_to_contribute
+   data_model
+   how_to_release
+   how_to_freeze
 
-Numeric types (integers, floats, multidimensional data) are handled with the
-NumPy type model, which can represent nearly all formats.  Python strings
-(byte and Unicode) are also supported. 
+Indices and tables
+==================
 
+* :ref:`genindex`
+* :ref:`modindex`
+* :ref:`search`
 
-Data stores
------------
-
-.. class:: Store
-
-    Represents a file or remote resource which contains objects.  Objects
-    within the store can be retrieved using *keys*, which may be any hashable
-    Python object.  For example, an HDF5 store generally uses string keys
-    representing paths in the file, although object and region reference
-    objects are also valid.
-
-    Objects may be retrieved using the __getitem__ syntax (``obj = store[key]``).
-    The retrieved object is a Node instance.  The exact class depends on
-    the order in which Node handlers were registered; see the `push` method
-    below.
-
-Methods related to the plugin system
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Typically, a model will implement several classes based on the ``compass_model``
-abstract classes such as ``Container`` or ``Array``.  This rasises the
-question: when an object is retrieved from the data store, which class
-should be used?
-
-The answer is that each ``Node`` subclass you write should be "registered" with
-your ``Store`` subclass, and have a static method called ``canhandle``.  When
-an object is opened, by default the most recently registered class which
-reports it can understand the object is used.
-
-All registered subclasses may be retrieved via the ``gethandlers`` function,
-which an optionally request that only subclasses capable of handling *key*
-be returned.  This is the basis for the right-click "Open As" menu in the GUI.
-
-.. classmethod:: Store.push(nodeclass)
-    
-    Register a Node subclass.  These are kept in a list inside the class;
-    when an object is retrieved from the store, the first class for
-    which `nodeclass.canhandle(store, key)` returns True is instantiated
-    and returned.
-
-.. method:: Store.__getitem__(key)
-
-    Open an object in the store, using the last registered class which
-    reports it can open the key.
-
-.. method:: Store.gethandlers(key=None)
-
-    Retrieve all registered Node subclasses, optionally filtering by
-    those which report they can handle *key*.
-
-.. method:: Store.__contains__(key)
-
-    **(Abstract)** True if *key* is exists in the store, False otherwise.
-
-Other methods & properties
-~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-.. staticmethod:: Store.canhandle(url)
-
-    **(Abstract)** Return True if this class can make sense of *url*, False otherwise.  This
-    method is used by the GUI when determining which Store implementation to
-    use when opening a file.  For example, the HDF5 plugin uses
-    ``h5py.is_hdf5(filename)``.
-
-.. method:: Store.__init__(url)
-
-    **(Abstract)** Create a new store instance from the data at *url*.  URLs are given
-    in the ``scheme://locator`` fashion.  For example, an HDF5 file might
-    be located by ``file:///path/to/file.hdf5``.
-
-.. method:: Store.close():
-
-    **(Abstract)** Discontinue access to the data store.
-
-.. method:: Store.get_parent(key)
-
-    **(Abstract)** Return the object which contains *key*, or None if no such object exists.
-
-.. attribute:: Store.url
-
-    **(Abstract)** The URL used to open the store
-
-.. attribute:: Store.displayname
-    
-    **(Abstract)** A short name used for the store (e.g. ``basename(filepath)``).
-
-.. attribute:: Store.root
-
-    **(Abstract)** A Node instance representing the starting point in the file.
-    For hierarchical formats, this would be the root container.  For scalar
-    formats (FITS, for example), this could be e.g. an Array or Image instance.
-
-.. attribute:: Store.file_extensions
-
-    For plugins that support local file access, this is a dictionary mapping
-    file kinds to lists of extensions in "glob" format, e.g. 
-    ``{'HDF5 File': ['.h5', '.hdf5']}``.  This will be used to populate the
-    filter in the file-open dialog, among other things.
-    
-Nodes
------
-
-A "node" is any object which lives in the data store.  The Node class defined
-below is the base class for more interesting abstract classes like containers
-and arrays.  It defines much of the interface.
-
-.. class:: Node
-
-    Base class for all objects which live in a data store.
-
-    You generally shouldn't inherit from Node directly, but from one of the
-    more useful Node subclasses in this file.  Direct Node subclasses can't
-    do anything interesting in the GUI; all they do is show up in the browser.
-
-
-.. attribute:: Node.icons
-
-    Class attribute containing a dict for icon support.
-    Keys should be integers giving icon size; values are a callable returning
-    a byte string with PNG image data.
-    Example:      ``icons = {16: get_png_16, 32: get_png_32}``.
-    Since icons are a pain to handle, default icons are provided by
-    ``compass_model`` and this attribute is optional.
-
-.. attribute:: Node.classkind
-
-    **(Abstract)**
-    A short string (2 or 3 words) describing what the class represents.
-    This will show up in e.g. the "Open As" context menu.
-    Example:  "HDF5 Image" or "Swath".
-
-.. staticmethod:: Node.canhandle(store, key)
-
-    **(Abstract)** Determine whether this class can usefully represent the object.
-    Keep in mind that keys are not technically required to be strings.
-
-.. method:: Node.__init__(store, key):
-
-    **(Abstract)** Create a new instance representing the object pointed to by *key*
-    in *store*.
-
-
-.. attribute:: Node.key
-
-    **(Abstract)** Unique key which identifies this object in the store.
-    Keys may be any hashable object, although strings are the most common.
-
-
-.. attribute:: Node.store
-
-    **(Abstract)** The data store to which the object belongs.
-
-.. attribute:: Node.displayname
-
-    **(Abstract)** 
-    A short name for display purposes (16 chars or so; more will be ellipsized).
-
-.. attribute:: Node.description
-
-    **(Abstract)** 
-    Descriptive string (possibly multi-line).
-
-
-Containers
-----------
-
-.. class:: Container(Node)
-
-    Represents an object which holds other objects, like an HDF5 group
-    or a filesystem directory.
-    Implementations will be displayed using the browser view.
-
-.. method:: Container.__len__()
-
-    **(Abstract)** 
-    Get the number of objects directly attached to the container.
-
-.. method:: Container.__getitem__(index)
-
-    **(Abstract)** 
-    Retrieve the node at *index*.  Note this returns a Node instance, not a key.
-
-
-Arrays
-------
-
-.. class:: Array(Node)
-
-    The array type represents a multidimensional array, using an interface
-    inspired by Numpy arrays.
-
-    Implementations will be displayed in a spreadsheet-style viewer with
-    controls for subsetting and plotting.
-
-.. attribute:: Array.shape
-
-    Shape of the array, as a Python tuple.
-
-.. attribute:: Array.dtype
-
-    NumPy data type object representing the type of the array.
-
-.. method:: Array.__getitem__(indices)
-
-    Retrieve data from the array, using the standard array-slicing syntax
-    ``data = array[idx1, idx2, idx3].  *indices* are the slicing arguments.
-    Only integer indexes and slice objects (representing ranges) are
-    supported.
-
-
-Key-Value lists
----------------
-
-.. class:: KeyValue(Node)
-
-    Represents an object which contains a sequence of key: value attributes.
-    Keys must be strings.  Values may be Python or NumPy objects.
-    Implementations will be displayed using a list-like control.
-
-.. attribute:: KeyValue.keys
-
-    **(Abstract)** 
-    A list containing all (string) keys contained in the object.
-
-.. method:: KeyValue.__getitem__(name)
-
-    **(Abstract)** Retrieve the value associated with string *name*.
-
-
-Images
-------
-
-.. class:: Image(Node)
-
-    Represents an image.  The current interface supports only true-color RGB
-    images with the origin at upper left, although this could easily be
-    extended to more complex formats including RGBA or palette-based images.
-
-    Implementations are displayed in an image viewer.
-
-.. attribute:: Image.width
-
-    Image width in pixels
-
-.. attribute:: Image.height
-
-    Image height in pixels
-
-.. attribute:: Image.data
-
-    Image data.  Currently RGB, pixel-interlaced.
-
-
-Top-level functions
--------------------
-
-One public function is defined in ``compass_model``:
-
-.. function:: push(storeclass)
-
-    Register a new Store subclass with HDFCompass.  When a URL is being
-    opened, the class will be queried (via ``storeclass.canhandle``) to see
-    if it can make sense of the URL.
\ No newline at end of file
diff --git a/COPYING b/docs/license.rst
similarity index 53%
copy from COPYING
copy to docs/license.rst
index 740c001..6b7455b 100644
--- a/COPYING
+++ b/docs/license.rst
@@ -1,6 +1,12 @@
+License
+=======
 
-Copyright Notice and License Terms for 
+Application License
+-------------------
+
+Copyright Notice and License Terms for
 HDF Compass - Viewer for HDF5 and other file formats
+
 -----------------------------------------------------------------------------
 
 HDF Compass
@@ -8,44 +14,44 @@ Copyright 2014-2015 by The HDF Group.
 
 All rights reserved.
 
-Redistribution and use in source and binary forms, with or without 
-modification, are permitted for any purpose (including commercial purposes) 
+Redistribution and use in source and binary forms, with or without
+modification, are permitted for any purpose (including commercial purposes)
 provided that the following conditions are met:
 
-1. Redistributions of source code must retain the above copyright notice, 
+1. Redistributions of source code must retain the above copyright notice,
    this list of conditions, and the following disclaimer.
 
-2. Redistributions in binary form must reproduce the above copyright notice, 
-   this list of conditions, and the following disclaimer in the documentation 
+2. Redistributions in binary form must reproduce the above copyright notice,
+   this list of conditions, and the following disclaimer in the documentation
    and/or materials provided with the distribution.
 
-3. In addition, redistributions of modified forms of the source or binary 
-   code must carry prominent notices stating that the original code was 
+3. In addition, redistributions of modified forms of the source or binary
+   code must carry prominent notices stating that the original code was
    changed and the date of the change.
 
-4. All publications or advertising materials mentioning features or use of 
-   this software are asked, but not required, to acknowledge that it was 
+4. All publications or advertising materials mentioning features or use of
+   this software are asked, but not required, to acknowledge that it was
    developed by The HDF Group and credit the contributors.
 
-5. Neither the name of The HDF Group, nor the name of any Contributor may 
-   be used to endorse or promote products derived from this software 
-   without specific prior written permission from The HDF Group or the 
+5. Neither the name of The HDF Group, nor the name of any Contributor may
+   be used to endorse or promote products derived from this software
+   without specific prior written permission from The HDF Group or the
    Contributor, respectively.
 
-DISCLAIMER: 
-THIS SOFTWARE IS PROVIDED BY THE HDF GROUP AND THE CONTRIBUTORS 
-"AS IS" WITH NO WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED.  In no 
-event shall The HDF Group or the Contributors be liable for any damages 
-suffered by the users arising out of the use of this software, even if 
-advised of the possibility of such damage. 
- 
------------------------------------------------------------------------------
+DISCLAIMER:
+THIS SOFTWARE IS PROVIDED BY THE HDF GROUP AND THE CONTRIBUTORS
+"AS IS" WITH NO WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED.  In no
+event shall The HDF Group or the Contributors be liable for any damages
+suffered by the users arising out of the use of this software, even if
+advised of the possibility of such damage.
+
 
 Additional Copyright and License Information
+--------------------------------------------
 
-Copyright and license terms for the following software can be found 
+Copyright and license terms for the following software can be found
 in the adjacent subdirectory Additional_Legal/.  This information was
-obtained from sources provided by each software package provider at 
+obtained from sources provided by each software package provider at
 the location specified under "Original source:" and was current as of
 19 December 2014.
 
@@ -53,78 +59,64 @@ HDF Compass uses selected icons from the following icon sets:
 
     KDE Oxygen icon set
       Provided by: KDE Community
-      Copyright and license information:
-           Additional_Legal/KDE_Oxygen_Icon_Set_Copyright_and_License.txt
-      Original source:
-           http://www.gnu.org/copyleft/lesser.html
-           (via link from https://techbase.kde.org/Projects/Oxygen/Licensing)
-      License type: GNU LGPL version 3 license 
+      Copyright and license information: additional_legal/KDE_Oxygen_Icon_Set_Copyright_and_License.txt
+      Original source: http://www.gnu.org/copyleft/lesser.html (via link from https://techbase.kde.org/Projects/Oxygen/Licensing)
+      License type: GNU LGPL version 3 license
 
     HydroPro icon set
       Provided by: Ben Fleming via MediaDesign
-      Copyright and license information:
-           Additional_Legal/HydroPro_Icons_Terms.txt
-      Original source:
-           http://www.iconarchive.com/icons/media-design/hydropro/readme.txt
+      Copyright and license information: additional_legal/HydroPro_Icons_Terms.txt
+      Original source: http://www.iconarchive.com/icons/media-design/hydropro/readme.txt
       License type: Freeware
 
 Pre-built HDF Compass binaries include the following software.
-None of this software is present in whole or in part in the HDF 
+None of this software is present in whole or in part in the HDF
 Compass source code.
 
     Python interpreter
       Provided by: Python Software Foundation
-      Copyright and license information:
-           Additional_Legal/Python_Copyright_and_License.txt
-      Original source:
-           https://docs.python.org/3/license.html
+      Copyright and license information: additional_legal/Python_Copyright_and_License.txt
+      Original source: https://docs.python.org/3/license.html
       License type: BSD-style license
 
     wxPython GUI layer
-      Provided by: Julian Smart, Vadim Zeitlin, Stefan Csomor, Robert 
-           Roebling, and other members of the wxWidgets team
-      Copyright and license information:
-           Additional_Legal/wxWidgets_Copyrights_and_Licenses.txt
-      Original source:
-           http://docs.wxwidgets.org/3.0/page_copyright.html
+      Provided by: Julian Smart, Vadim Zeitlin, Stefan Csomor, Robert Roebling, and other members of the wxWidgets team
+      Copyright and license information: additional_legal/wxWidgets_Copyrights_and_Licenses.txt
+      Original source: http://docs.wxwidgets.org/3.0/page_copyright.html
       License type: GNU LGPL version 2 license with exception
 
     PyInstaller runtime support code (Windows & Linux only)
       Provided by: PyInstaller Development Team
-      Copyright and license information:
-           Additional_Legal/PyInstaller_Copyrights_and_Licenses.txt
-      Original source:
-           https://github.com/pyinstaller/pyinstaller/blob/develop/COPYING.txt
+      Copyright and license information: additional_legal/PyInstaller_Copyrights_and_Licenses.txt
+      Original source: https://github.com/pyinstaller/pyinstaller/blob/develop/COPYING.txt
       License type: GNU GPL version 2 license with exception
 
     HDF5 for Python (h5py)
       Provided by: Andrew Collette and contributors
-      Copyright and license information:
-           Additional_Legal/h5py_Copyrights_and_Licenses.txt
-      Original source:
-           http://docs.h5py.org/en/latest/licenses.html
+      Copyright and license information: additional_legal/h5py_Copyrights_and_Licenses.txt
+      Original source: http://docs.h5py.org/en/latest/licenses.html
+      License type: BSD-style license
+
+    HydrOffice BAG (hydroffice.bag)
+      Provided by: G.Masetti, B.R.Calder, and contributors
+      Copyright and license information: additional_legal/hydroffice_bag_Copyrights_and_Licenses.txt
+      Original source: https://bitbucket.org/ccomjhc/hyo_bag/raw/tip/COPYING.txt
       License type: BSD-style license
 
     NumPy
       Provided by: NumPy Developers
-      Copyright and license information:
-           Additional_Legal/NumPy_Copyright_and_License.txt
-      Original source:
-           http://www.numpy.org/license.html
+      Copyright and license information: additional_legal/NumPy_Copyright_and_License.txt
+      Original source: http://www.numpy.org/license.html
       License type: BSD-style license
 
     matplotlib
       Provided by: Matplotlib Development Team
-      Copyright and license information:
-           Additional_Legal/matplotlib_Copyright_and_License.txt
-      Original source:
-           http://matplotlib.org/users/license.html
-      License type: BSD-style license 
+      Copyright and license information: additional_legal/matplotlib_Copyright_and_License.txt
+      Original source: http://matplotlib.org/users/license.html
+      License type: BSD-style license
 
     PyDAP
       Provided by: Roberto De Almeida
-      Copyright and license information:
-           Additional_Legal/PyDAP_Copyright_and_License.txt
-      Original source:
-           http://www.pydap.org/license.html
+      Copyright and license information: additional_legal/PyDAP_Copyright_and_License.txt
+      Original source: http://www.pydap.org/license.html
       License type: BSD-style license
\ No newline at end of file
diff --git a/docs/make.bat b/docs/make.bat
new file mode 100644
index 0000000..9f091e7
--- /dev/null
+++ b/docs/make.bat
@@ -0,0 +1,263 @@
+ at ECHO OFF
+
+REM Command file for Sphinx documentation
+
+if "%SPHINXBUILD%" == "" (
+	set SPHINXBUILD=sphinx-build
+)
+set BUILDDIR=_build
+set ALLSPHINXOPTS=-d %BUILDDIR%/doctrees %SPHINXOPTS% .
+set I18NSPHINXOPTS=%SPHINXOPTS% .
+if NOT "%PAPER%" == "" (
+	set ALLSPHINXOPTS=-D latex_paper_size=%PAPER% %ALLSPHINXOPTS%
+	set I18NSPHINXOPTS=-D latex_paper_size=%PAPER% %I18NSPHINXOPTS%
+)
+
+if "%1" == "" goto help
+
+if "%1" == "help" (
+	:help
+	echo.Please use `make ^<target^>` where ^<target^> is one of
+	echo.  html       to make standalone HTML files
+	echo.  dirhtml    to make HTML files named index.html in directories
+	echo.  singlehtml to make a single large HTML file
+	echo.  pickle     to make pickle files
+	echo.  json       to make JSON files
+	echo.  htmlhelp   to make HTML files and a HTML help project
+	echo.  qthelp     to make HTML files and a qthelp project
+	echo.  devhelp    to make HTML files and a Devhelp project
+	echo.  epub       to make an epub
+	echo.  latex      to make LaTeX files, you can set PAPER=a4 or PAPER=letter
+	echo.  text       to make text files
+	echo.  man        to make manual pages
+	echo.  texinfo    to make Texinfo files
+	echo.  gettext    to make PO message catalogs
+	echo.  changes    to make an overview over all changed/added/deprecated items
+	echo.  xml        to make Docutils-native XML files
+	echo.  pseudoxml  to make pseudoxml-XML files for display purposes
+	echo.  linkcheck  to check all external links for integrity
+	echo.  doctest    to run all doctests embedded in the documentation if enabled
+	echo.  coverage   to run coverage check of the documentation if enabled
+	goto end
+)
+
+if "%1" == "clean" (
+	for /d %%i in (%BUILDDIR%\*) do rmdir /q /s %%i
+	del /q /s %BUILDDIR%\*
+	goto end
+)
+
+
+REM Check if sphinx-build is available and fallback to Python version if any
+%SPHINXBUILD% 2> nul
+if errorlevel 9009 goto sphinx_python
+goto sphinx_ok
+
+:sphinx_python
+
+set SPHINXBUILD=python -m sphinx.__init__
+%SPHINXBUILD% 2> nul
+if errorlevel 9009 (
+	echo.
+	echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
+	echo.installed, then set the SPHINXBUILD environment variable to point
+	echo.to the full path of the 'sphinx-build' executable. Alternatively you
+	echo.may add the Sphinx directory to PATH.
+	echo.
+	echo.If you don't have Sphinx installed, grab it from
+	echo.http://sphinx-doc.org/
+	exit /b 1
+)
+
+:sphinx_ok
+
+
+if "%1" == "html" (
+	%SPHINXBUILD% -b html %ALLSPHINXOPTS% %BUILDDIR%/html
+	if errorlevel 1 exit /b 1
+	echo.
+	echo.Build finished. The HTML pages are in %BUILDDIR%/html.
+	goto end
+)
+
+if "%1" == "dirhtml" (
+	%SPHINXBUILD% -b dirhtml %ALLSPHINXOPTS% %BUILDDIR%/dirhtml
+	if errorlevel 1 exit /b 1
+	echo.
+	echo.Build finished. The HTML pages are in %BUILDDIR%/dirhtml.
+	goto end
+)
+
+if "%1" == "singlehtml" (
+	%SPHINXBUILD% -b singlehtml %ALLSPHINXOPTS% %BUILDDIR%/singlehtml
+	if errorlevel 1 exit /b 1
+	echo.
+	echo.Build finished. The HTML pages are in %BUILDDIR%/singlehtml.
+	goto end
+)
+
+if "%1" == "pickle" (
+	%SPHINXBUILD% -b pickle %ALLSPHINXOPTS% %BUILDDIR%/pickle
+	if errorlevel 1 exit /b 1
+	echo.
+	echo.Build finished; now you can process the pickle files.
+	goto end
+)
+
+if "%1" == "json" (
+	%SPHINXBUILD% -b json %ALLSPHINXOPTS% %BUILDDIR%/json
+	if errorlevel 1 exit /b 1
+	echo.
+	echo.Build finished; now you can process the JSON files.
+	goto end
+)
+
+if "%1" == "htmlhelp" (
+	%SPHINXBUILD% -b htmlhelp %ALLSPHINXOPTS% %BUILDDIR%/htmlhelp
+	if errorlevel 1 exit /b 1
+	echo.
+	echo.Build finished; now you can run HTML Help Workshop with the ^
+.hhp project file in %BUILDDIR%/htmlhelp.
+	goto end
+)
+
+if "%1" == "qthelp" (
+	%SPHINXBUILD% -b qthelp %ALLSPHINXOPTS% %BUILDDIR%/qthelp
+	if errorlevel 1 exit /b 1
+	echo.
+	echo.Build finished; now you can run "qcollectiongenerator" with the ^
+.qhcp project file in %BUILDDIR%/qthelp, like this:
+	echo.^> qcollectiongenerator %BUILDDIR%\qthelp\HDFCompass.qhcp
+	echo.To view the help file:
+	echo.^> assistant -collectionFile %BUILDDIR%\qthelp\HDFCompass.ghc
+	goto end
+)
+
+if "%1" == "devhelp" (
+	%SPHINXBUILD% -b devhelp %ALLSPHINXOPTS% %BUILDDIR%/devhelp
+	if errorlevel 1 exit /b 1
+	echo.
+	echo.Build finished.
+	goto end
+)
+
+if "%1" == "epub" (
+	%SPHINXBUILD% -b epub %ALLSPHINXOPTS% %BUILDDIR%/epub
+	if errorlevel 1 exit /b 1
+	echo.
+	echo.Build finished. The epub file is in %BUILDDIR%/epub.
+	goto end
+)
+
+if "%1" == "latex" (
+	%SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex
+	if errorlevel 1 exit /b 1
+	echo.
+	echo.Build finished; the LaTeX files are in %BUILDDIR%/latex.
+	goto end
+)
+
+if "%1" == "latexpdf" (
+	%SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex
+	cd %BUILDDIR%/latex
+	make all-pdf
+	cd %~dp0
+	echo.
+	echo.Build finished; the PDF files are in %BUILDDIR%/latex.
+	goto end
+)
+
+if "%1" == "latexpdfja" (
+	%SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex
+	cd %BUILDDIR%/latex
+	make all-pdf-ja
+	cd %~dp0
+	echo.
+	echo.Build finished; the PDF files are in %BUILDDIR%/latex.
+	goto end
+)
+
+if "%1" == "text" (
+	%SPHINXBUILD% -b text %ALLSPHINXOPTS% %BUILDDIR%/text
+	if errorlevel 1 exit /b 1
+	echo.
+	echo.Build finished. The text files are in %BUILDDIR%/text.
+	goto end
+)
+
+if "%1" == "man" (
+	%SPHINXBUILD% -b man %ALLSPHINXOPTS% %BUILDDIR%/man
+	if errorlevel 1 exit /b 1
+	echo.
+	echo.Build finished. The manual pages are in %BUILDDIR%/man.
+	goto end
+)
+
+if "%1" == "texinfo" (
+	%SPHINXBUILD% -b texinfo %ALLSPHINXOPTS% %BUILDDIR%/texinfo
+	if errorlevel 1 exit /b 1
+	echo.
+	echo.Build finished. The Texinfo files are in %BUILDDIR%/texinfo.
+	goto end
+)
+
+if "%1" == "gettext" (
+	%SPHINXBUILD% -b gettext %I18NSPHINXOPTS% %BUILDDIR%/locale
+	if errorlevel 1 exit /b 1
+	echo.
+	echo.Build finished. The message catalogs are in %BUILDDIR%/locale.
+	goto end
+)
+
+if "%1" == "changes" (
+	%SPHINXBUILD% -b changes %ALLSPHINXOPTS% %BUILDDIR%/changes
+	if errorlevel 1 exit /b 1
+	echo.
+	echo.The overview file is in %BUILDDIR%/changes.
+	goto end
+)
+
+if "%1" == "linkcheck" (
+	%SPHINXBUILD% -b linkcheck %ALLSPHINXOPTS% %BUILDDIR%/linkcheck
+	if errorlevel 1 exit /b 1
+	echo.
+	echo.Link check complete; look for any errors in the above output ^
+or in %BUILDDIR%/linkcheck/output.txt.
+	goto end
+)
+
+if "%1" == "doctest" (
+	%SPHINXBUILD% -b doctest %ALLSPHINXOPTS% %BUILDDIR%/doctest
+	if errorlevel 1 exit /b 1
+	echo.
+	echo.Testing of doctests in the sources finished, look at the ^
+results in %BUILDDIR%/doctest/output.txt.
+	goto end
+)
+
+if "%1" == "coverage" (
+	%SPHINXBUILD% -b coverage %ALLSPHINXOPTS% %BUILDDIR%/coverage
+	if errorlevel 1 exit /b 1
+	echo.
+	echo.Testing of coverage in the sources finished, look at the ^
+results in %BUILDDIR%/coverage/python.txt.
+	goto end
+)
+
+if "%1" == "xml" (
+	%SPHINXBUILD% -b xml %ALLSPHINXOPTS% %BUILDDIR%/xml
+	if errorlevel 1 exit /b 1
+	echo.
+	echo.Build finished. The XML files are in %BUILDDIR%/xml.
+	goto end
+)
+
+if "%1" == "pseudoxml" (
+	%SPHINXBUILD% -b pseudoxml %ALLSPHINXOPTS% %BUILDDIR%/pseudoxml
+	if errorlevel 1 exit /b 1
+	echo.
+	echo.Build finished. The pseudo-XML files are in %BUILDDIR%/pseudoxml.
+	goto end
+)
+
+:end
diff --git a/docs/requirements.rst b/docs/requirements.rst
new file mode 100644
index 0000000..0ca59f3
--- /dev/null
+++ b/docs/requirements.rst
@@ -0,0 +1,4 @@
+Requirements
+============
+
+TBD
\ No newline at end of file

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/hdf-compass.git



More information about the debian-science-commits mailing list