Skip to content

Commit 3e0bf3b

Browse files
authored
Merge pull request #108 from developmentseed/enh/62-docs
Add sphinx docs
2 parents 81bf1a4 + 1c204a3 commit 3e0bf3b

File tree

11 files changed

+513
-1
lines changed

11 files changed

+513
-1
lines changed

.circleci/config.yml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,3 +27,27 @@ jobs:
2727
sudo pip install .
2828
python -m unittest discover -v -s test/integration
2929
30+
- add_ssh_keys:
31+
fingerprints:
32+
- "79:16:39:74:e9:b3:39:52:87:2c:90:aa:ee:3c:09:13"
33+
34+
- run:
35+
name: Deploy documentation
36+
command: |
37+
if [ "${CIRCLE_BRANCH}" == "${PRODUCTION_BRANCH}" ]; then
38+
cd docs
39+
make html
40+
cd _build/html
41+
git init
42+
git config user.name "Devseed-CI"
43+
git config user.email "[email protected]"
44+
touch .nojekyll # Add this so GitHub doesn't try and build site
45+
git add .
46+
git commit -m "CI deploy [skip ci]"
47+
git remote add origin [email protected]:developmentseed/label-maker.git
48+
git fetch
49+
git push origin --force --quiet HEAD:gh-pages
50+
rm -rf .git
51+
else
52+
echo "Not the branch you're looking for, skipping documentation deploy"
53+
fi

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,4 @@ config.json
1313
stdout*
1414
/integration*
1515
.idea/
16+
docs/_build/

docs/Makefile

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# Minimal makefile for Sphinx documentation
2+
#
3+
4+
# You can set these variables from the command line.
5+
SPHINXOPTS =
6+
SPHINXBUILD = sphinx-build
7+
SOURCEDIR = .
8+
BUILDDIR = _build
9+
10+
# Put it first so that "make" without argument is like "make help".
11+
help:
12+
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
13+
14+
.PHONY: help Makefile
15+
16+
# Catch-all target: route all unknown targets to Sphinx using the new
17+
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
18+
%: Makefile
19+
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)

docs/conf.py

Lines changed: 182 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,182 @@
1+
# -*- coding: utf-8 -*-
2+
#
3+
# Configuration file for the Sphinx documentation builder.
4+
#
5+
# This file does only contain a selection of the most common options. For a
6+
# full list see the documentation:
7+
# http://www.sphinx-doc.org/en/master/config
8+
9+
# -- Path setup --------------------------------------------------------------
10+
11+
# If extensions (or modules to document with autodoc) are in another directory,
12+
# add these directories to sys.path here. If the directory is relative to the
13+
# documentation root, use os.path.abspath to make it absolute, like shown here.
14+
#
15+
import os
16+
import sys
17+
sys.path.insert(0, os.path.abspath('.'))
18+
sys.path.insert(0, os.path.abspath('../label_maker'))
19+
20+
21+
# -- Project information -----------------------------------------------------
22+
23+
project = 'label-maker'
24+
copyright = '2018, Development Seed'
25+
author = 'Development Seed'
26+
27+
# The short X.Y version
28+
version = '0.3.2'
29+
# The full version, including alpha/beta/rc tags
30+
release = '0.3.2'
31+
32+
33+
# -- General configuration ---------------------------------------------------
34+
35+
# If your documentation needs a minimal Sphinx version, state it here.
36+
#
37+
# needs_sphinx = '1.0'
38+
39+
# Add any Sphinx extension module names here, as strings. They can be
40+
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
41+
# ones.
42+
extensions = [
43+
'sphinx.ext.autodoc',
44+
'sphinx.ext.viewcode',
45+
'sphinx.ext.napoleon',
46+
'sphinx.ext.githubpages',
47+
'sphinxcontrib.fulltoc'
48+
]
49+
50+
# Add any paths that contain templates here, relative to this directory.
51+
templates_path = ['_templates']
52+
53+
# The suffix(es) of source filenames.
54+
# You can specify multiple suffix as a list of string:
55+
#
56+
# source_suffix = ['.rst', '.md']
57+
source_suffix = '.rst'
58+
59+
# The master toctree document.
60+
master_doc = 'index'
61+
62+
# The language for content autogenerated by Sphinx. Refer to documentation
63+
# for a list of supported languages.
64+
#
65+
# This is also used if you do content translation via gettext catalogs.
66+
# Usually you set "language" from the command line for these cases.
67+
language = None
68+
69+
# List of patterns, relative to source directory, that match files and
70+
# directories to ignore when looking for source files.
71+
# This pattern also affects html_static_path and html_extra_path.
72+
exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']
73+
74+
# The name of the Pygments (syntax highlighting) style to use.
75+
pygments_style = None
76+
77+
78+
# -- Options for HTML output -------------------------------------------------
79+
80+
# The theme to use for HTML and HTML Help pages. See the documentation for
81+
# a list of builtin themes.
82+
#
83+
html_theme = 'alabaster'
84+
85+
# Theme options are theme-specific and customize the look and feel of a theme
86+
# further. For a list of options available for each theme, see the
87+
# documentation.
88+
#
89+
# html_theme_options = {}
90+
91+
# Add any paths that contain custom static files (such as style sheets) here,
92+
# relative to this directory. They are copied after the builtin static files,
93+
# so a file named "default.css" will overwrite the builtin "default.css".
94+
html_static_path = ['_static']
95+
96+
# Custom sidebar templates, must be a dictionary that maps document names
97+
# to template names.
98+
#
99+
# The default sidebars (for documents that don't match any pattern) are
100+
# defined by theme itself. Builtin themes are using these templates by
101+
# default: ``['localtoc.html', 'relations.html', 'sourcelink.html',
102+
# 'searchbox.html']``.
103+
#
104+
# html_sidebars = {}
105+
106+
107+
# -- Options for HTMLHelp output ---------------------------------------------
108+
109+
# Output file base name for HTML help builder.
110+
htmlhelp_basename = 'label-makerdoc'
111+
112+
113+
# -- Options for LaTeX output ------------------------------------------------
114+
115+
latex_elements = {
116+
# The paper size ('letterpaper' or 'a4paper').
117+
#
118+
# 'papersize': 'letterpaper',
119+
120+
# The font size ('10pt', '11pt' or '12pt').
121+
#
122+
# 'pointsize': '10pt',
123+
124+
# Additional stuff for the LaTeX preamble.
125+
#
126+
# 'preamble': '',
127+
128+
# Latex figure (float) alignment
129+
#
130+
# 'figure_align': 'htbp',
131+
}
132+
133+
# Grouping the document tree into LaTeX files. List of tuples
134+
# (source start file, target name, title,
135+
# author, documentclass [howto, manual, or own class]).
136+
latex_documents = [
137+
(master_doc, 'label-maker.tex', 'label-maker Documentation',
138+
'Development Seed', 'manual'),
139+
]
140+
141+
142+
# -- Options for manual page output ------------------------------------------
143+
144+
# One entry per manual page. List of tuples
145+
# (source start file, name, description, authors, manual section).
146+
man_pages = [
147+
(master_doc, 'label-maker', 'label-maker Documentation',
148+
[author], 1)
149+
]
150+
151+
152+
# -- Options for Texinfo output ----------------------------------------------
153+
154+
# Grouping the document tree into Texinfo files. List of tuples
155+
# (source start file, target name, title, author,
156+
# dir menu entry, description, category)
157+
texinfo_documents = [
158+
(master_doc, 'label-maker', 'label-maker Documentation',
159+
author, 'label-maker', 'Data preparation for machine learning on overhead imagery.',
160+
'Miscellaneous'),
161+
]
162+
163+
164+
# -- Options for Epub output -------------------------------------------------
165+
166+
# Bibliographic Dublin Core info.
167+
epub_title = project
168+
169+
# The unique identifier of the text. This can be a ISBN number
170+
# or the project homepage.
171+
#
172+
# epub_identifier = ''
173+
174+
# A unique identification for the text.
175+
#
176+
# epub_uid = ''
177+
178+
# A list of files that should not be packed into the epub file.
179+
epub_exclude_files = ['search.html']
180+
181+
182+
# -- Extension configuration -------------------------------------------------

docs/contributing.rst

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
Contributing
2+
============
3+
4+
A list of issues and ongoing work is available on the Label Maker `issues page <https://github.com/developmentseed/label-maker/issues>`_. If you want to contribute code, the best way is to coordinate with the core developers via an issue or pull request conversation.
5+
6+
Development installation
7+
^^^^^^^^^^^^^^^^^^^^^^^^
8+
Fork Label Maker into your Github account. Then, clone the repo and install it locally with pip as follows:
9+
10+
.. code-block:: bash
11+
12+
$ git clone [email protected]:your_user_name/label-maker.git
13+
$ cd label-maker
14+
$ pip install -e .
15+
16+
Testing
17+
^^^^^^^
18+
Label Maker runs tests using ``unittest``. You can find unit tests at ``tests/unit`` and integration tests at ``tests/integration``.
19+
20+
Run a single test with:
21+
22+
.. code-block:: bash
23+
24+
python -m unittest test/unit/test_validate.py
25+
26+
or an entire folder using:
27+
28+
.. code-block:: bash
29+
30+
python -m unittest discover -v -s test/unit
31+
32+
More details on using ``unittest`` are `here <https://docs.python.org/3/library/unittest.html>`_.

docs/examples.rst

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
Examples
2+
########
3+
4+
Examples live `here <https://github.com/developmentseed/label-maker/tree/master/examples>`_
5+
6+
ToDo: move these to their own page within this docs website.

0 commit comments

Comments
 (0)