[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