Skip to main content

LSST the Docs build tool

Project description

####################
LSST the Docs: Mason
####################

**Mason** is the build tool for LSST software documentation that runs in the Jenkins build environment.
It is a part of the **LSST the Docs** (LTD) service for continuous documentation deployment.
You can learn more about LTD in our `SQR-006`_ technote.

Installation
============

Mason is intended to work with either Python 2.7, 3.4, or 3.5.

We recommend that you install Mason inside a `virtual environment <https://packaging.python.org/en/latest/installing/#creating-virtual-environments>`_ (such as `virtualenv <https://packaging.python.org/en/latest/projects/#virtualenv>`_ / `virtualenvwrapper <http://virtualenvwrapper.readthedocs.org>`_ on Python 2.7/3 or the built-in `pyenv <http://docs.python.org/3.4/library/venv.html>`_ for Python 3).

If the Sphinx project being built uses Python introspection to build an API reference with `autodoc <http://www.sphinx-doc.org/en/stable/ext/autodoc.html>`_ or `numpydoc <https://pypi-hypernode.com/pypi/numpydoc>`_, then the Python package being documented must be installed in the same virtual environment as Mason.

Install for production
----------------------

Mason is available on PyPI:

::

pip install ltd-mason

Installing for development/testing
----------------------------------

Once the environment is ready, install Mason from this Git repository via:

::

pip install -r requirements.txt
python setup.py develop

See :ref:`Testing` for information on testing.

Usage
=====

Mason is intended to be used as a command line app, ``ltd-mason``.
A YAML-encoded manifest file tells ``ltd-mason`` what documentation to built, and where to find individual LSST Stack packages built by lsstsw_.
The manifest's schema is described in `SQR-006`_, and examples are also available here in the :file:`tests/` and :file:`integration_tests/` directories.

Typical usage is::

ltd-mason --manifest manifest.yaml

Run ``ltd-mason --help`` for more information.

Testing
=======

Unit and integration tests are available.

Unit tests
----------

Developers can run unit tests via `pytest <http://pytest.org>`_::

py.test

To run the full set of tests, the :envvar:`STACK_AFW` environment variable should be set to the path of the installed ``afw`` package in the ``lsstsw/stack`` directory.
Some tests will be skipped if :envvar:`STACK_AFW` is not set.

Integration tests
-----------------

We have separate integration tests to exercise code that interacts with AWS S3 and ltd-keeper.
See :file:`integration_tests/README.rst` for instructions on how to run these integration tests.

****

Copyright 2016 AURA/LSST.

License: MIT.

.. _SQR-006: http://sqr-006.lsst.io
.. _lsstsw: https://github.com/lsst/lsstsw

Project details


Download files

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

Source Distribution

ltd-mason-0.1.0.tar.gz (14.5 kB view details)

Uploaded Source

Built Distribution

ltd_mason-0.1.0-py3-none-any.whl (16.9 kB view details)

Uploaded Python 3

File details

Details for the file ltd-mason-0.1.0.tar.gz.

File metadata

  • Download URL: ltd-mason-0.1.0.tar.gz
  • Upload date:
  • Size: 14.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for ltd-mason-0.1.0.tar.gz
Algorithm Hash digest
SHA256 f77f98d47743d8d160aeabec0edb22cde7b7d01c96733d435f07553f7adb106e
MD5 24d46bfeeae2e27fd5f7c9c0d1c7d1b3
BLAKE2b-256 fd240badb410c522d12bcf87e6ec5c41223cc45136bebde0ff08d8f308ffcd3d

See more details on using hashes here.

File details

Details for the file ltd_mason-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for ltd_mason-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f4dfea71100cd3949ab6410a0ac39a2bce497297cfb0cd0c1c8d90e64e1b01e5
MD5 6fe7826cb0d6eb84097d03934ec622f2
BLAKE2b-256 9c39dd2b75ea8f9bd0a3d49cd43d56ba9f082b85b42c1669a1f89e27e05990c9

See more details on using hashes here.

Supported by

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