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
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
Release history Release notifications | RSS feed
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)
Built Distribution
ltd_mason-0.1.0-py3-none-any.whl
(16.9 kB
view details)
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | f77f98d47743d8d160aeabec0edb22cde7b7d01c96733d435f07553f7adb106e |
|
MD5 | 24d46bfeeae2e27fd5f7c9c0d1c7d1b3 |
|
BLAKE2b-256 | fd240badb410c522d12bcf87e6ec5c41223cc45136bebde0ff08d8f308ffcd3d |
File details
Details for the file ltd_mason-0.1.0-py3-none-any.whl
.
File metadata
- Download URL: ltd_mason-0.1.0-py3-none-any.whl
- Upload date:
- Size: 16.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f4dfea71100cd3949ab6410a0ac39a2bce497297cfb0cd0c1c8d90e64e1b01e5 |
|
MD5 | 6fe7826cb0d6eb84097d03934ec622f2 |
|
BLAKE2b-256 | 9c39dd2b75ea8f9bd0a3d49cd43d56ba9f082b85b42c1669a1f89e27e05990c9 |