Skip to main content

Sphinx "matlabdomain" extension

Project description

https://travis-ci.org/sphinx-contrib/matlabdomain.svg?branch=master

This package contains the MATLAB Sphinx domain and autodoc extensions.

Changes

Installation

Use Pip, Setuptools Easy Install or Python Distributions Utilities (Distutils).

Pip:

~$ pip install -U sphinxcontrib-matlabdomain

Easy Install:

~$ easy_install -U sphinxcontrib-matlabdomain

Distutils:

~/downloads$ curl https://pypi.python.org/packages/source/s/sphinxcontrib-matlabdomain/sphinxcontrib-matlabdomain-0.X.tar.gz
~/downloads$ tar -xf sphinxcontrib-matlabdomain-0.X.tar.gz
~/downloads$ cd sphinxcontrib_matlabdomain-0.X
~/downloads/sphinxcontrib_matlabdomain-0.X$ python setup.py install

Requirements

This package is an extension to Sphinx.

Usage

In general usage is the same as for documenting Python code.

Configuration

In your Sphinx conf.py file add sphinxcontrib.matlab to the list of extensions. To use auto-documentation features, also add sphinx.ext.autodoc to the list of extensions.

In order for the Sphinx MATLAB domain to auto-document MATLAB source code, set the config value of matlab_src_dir to the absolute path instead of adding them to sys.path. Currently only one MATLAB path can be specified, but all subfolders in that tree will be searched.

For convenience the primary domain can be set to mat.

Roles and Directives

Please see Sphinx Domains and sphinx.ext.autodoc for documentation on the use of roles and directives. MATLAB code can be documented using the following roles and directives:

Directive

MATLAB object

.. module:: foldername

folders, packages and namespaces

.. curremtmodule:: foldername

  • set folder but do not link

.. automodule:: foldername

  • auto-document

:mod:`foldername`

  • reference

.. function:: funcname

function definition and signature

.. autofunction:: funcname()

  • auto-document

:func:`funcname`

  • reference

.. script:: scriptname

script definition

.. autoscript:: scriptname

  • auto-document

:scpt:`scriptname`

  • reference

.. class:: classname()

class definition and optional signature

.. autoclass:: classname

  • auto-document

:class:`classname`

  • reference

.. method:: methname()

method definition and signature

.. automethod:: methname

  • auto-document

:meth:`methname`

  • reference

.. staticmethod:: statmethname()

static method definition and signature

.. automethod:: statmethname

  • auto-document

:meth:`methname`

  • reference

.. attribute:: attrname

property definition

.. autoattribute:: attrname

  • auto-document

:attr:`attrname`

  • reference

Several options are available for auto-directives.

  • :members: auto-document public members

  • :show-inheritance: list bases

  • :undoc-members: document members without docstrings

  • :annotation: specifies attribute annotation instead of default

There are also several config values that can be set in conf.py that will affect auto-docementation.

  • autoclass_content can be set to class, both or init, which determines which docstring is used for classes. The constructor docstring is used when this is set to init.

  • autodoc_member_order can be set to alphabetical, groupwise or bysource.

  • autodoc_default_flags can be set to a list of options to apply. Use the no-flag directive option to disable this config value once.

Example: given the following MATLAB source in folder test_data:

classdef MyHandleClass < handle & my.super.Class
    % a handle class
    %
    % :param x: a variable

    %% some comments
    properties
        x % a property
    end
    methods
        function h = MyHandleClass(x)
            h.x = x
        end
        function x = get.x(obj)
        % how is this displayed?
            x = obj.x
        end
    end
    methods (Static)
        function w = my_static_function(z)
        % A static function in :class:`MyHandleClass`.
        %
        % :param z: input z
        % :returns: w

            w = z
        end
    end
end

Use the following to document:

Test Data
=========
This is the test data module.

.. automodule:: test_data

:mod:`test_data` is a really cool module.

My Handle Class
---------------
This is the handle class definition.

.. autoclass:: MyHandleClass
    :show-inheritance:
    :members:

Online Demo

The test docs in the repository are online here: http://bwanamarko.alwaysdata.net/matlabdomain/

Users

Project details


Release history Release notifications | RSS feed

This version

0.7.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sphinxcontrib-matlabdomain-0.7.1.tar.gz (36.9 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

sphinxcontrib_matlabdomain-0.7.1-py3-none-any.whl (34.0 kB view details)

Uploaded Python 3

sphinxcontrib_matlabdomain-0.7.1-py2-none-any.whl (34.0 kB view details)

Uploaded Python 2

File details

Details for the file sphinxcontrib-matlabdomain-0.7.1.tar.gz.

File metadata

  • Download URL: sphinxcontrib-matlabdomain-0.7.1.tar.gz
  • Upload date:
  • Size: 36.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.9.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.3

File hashes

Hashes for sphinxcontrib-matlabdomain-0.7.1.tar.gz
Algorithm Hash digest
SHA256 714e7f92d141cea2f799145e6e3eff3b544448357ae1c89c797c0f4930aa1c78
MD5 d4f15e9a94d4e2ff88e0be4a4ae58222
BLAKE2b-256 279f400da890f1d17b5a3eadcb477d83d44b79ab59e95ac28b04e1f8019c30f2

See more details on using hashes here.

File details

Details for the file sphinxcontrib_matlabdomain-0.7.1-py3-none-any.whl.

File metadata

  • Download URL: sphinxcontrib_matlabdomain-0.7.1-py3-none-any.whl
  • Upload date:
  • Size: 34.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.9.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.3

File hashes

Hashes for sphinxcontrib_matlabdomain-0.7.1-py3-none-any.whl
Algorithm Hash digest
SHA256 fa3bb262b918221fdfc75fb3f45a1ba4ebc62d5310b6ff528ef1d586fdde9d56
MD5 c9ad53a17d2bd83e337e72af728b50c4
BLAKE2b-256 2026f7f667d4873fd60f4f103dd2199412f410e88e4622787611eec80b9eb957

See more details on using hashes here.

File details

Details for the file sphinxcontrib_matlabdomain-0.7.1-py2-none-any.whl.

File metadata

  • Download URL: sphinxcontrib_matlabdomain-0.7.1-py2-none-any.whl
  • Upload date:
  • Size: 34.0 kB
  • Tags: Python 2
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.9.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/2.7.14

File hashes

Hashes for sphinxcontrib_matlabdomain-0.7.1-py2-none-any.whl
Algorithm Hash digest
SHA256 1581cbf3ce395aa63769dc162bad77dfbe0bc9d7eeab49faeb9ee362e811b165
MD5 ca04661ae3bb10871d32e045e27c2656
BLAKE2b-256 4cf0bcc6d82fb091bf7f66cffbcd06f08dc351de0aecebf329ded3e6e4981540

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page