Mitch Garnaat

Adding docs directory. Still needs lots of work.

1 +# Makefile for Sphinx documentation
2 +#
3 +
4 +# You can set these variables from the command line.
5 +SPHINXOPTS =
6 +SPHINXBUILD = sphinx-build
7 +PAPER =
8 +BUILDDIR = _build
9 +
10 +# User-friendly check for sphinx-build
11 +ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1)
12 +$(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/)
13 +endif
14 +
15 +# Internal variables.
16 +PAPEROPT_a4 = -D latex_paper_size=a4
17 +PAPEROPT_letter = -D latex_paper_size=letter
18 +ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
19 +# the i18n builder cannot share the environment and doctrees with the others
20 +I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
21 +
22 +.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest coverage gettext
23 +
24 +help:
25 + @echo "Please use \`make <target>' where <target> is one of"
26 + @echo " html to make standalone HTML files"
27 + @echo " dirhtml to make HTML files named index.html in directories"
28 + @echo " singlehtml to make a single large HTML file"
29 + @echo " pickle to make pickle files"
30 + @echo " json to make JSON files"
31 + @echo " htmlhelp to make HTML files and a HTML help project"
32 + @echo " qthelp to make HTML files and a qthelp project"
33 + @echo " applehelp to make an Apple Help Book"
34 + @echo " devhelp to make HTML files and a Devhelp project"
35 + @echo " epub to make an epub"
36 + @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
37 + @echo " latexpdf to make LaTeX files and run them through pdflatex"
38 + @echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx"
39 + @echo " text to make text files"
40 + @echo " man to make manual pages"
41 + @echo " texinfo to make Texinfo files"
42 + @echo " info to make Texinfo files and run them through makeinfo"
43 + @echo " gettext to make PO message catalogs"
44 + @echo " changes to make an overview of all changed/added/deprecated items"
45 + @echo " xml to make Docutils-native XML files"
46 + @echo " pseudoxml to make pseudoxml-XML files for display purposes"
47 + @echo " linkcheck to check all external links for integrity"
48 + @echo " doctest to run all doctests embedded in the documentation (if enabled)"
49 + @echo " coverage to run coverage check of the documentation (if enabled)"
50 +
51 +clean:
52 + rm -rf $(BUILDDIR)/*
53 +
54 +html:
55 + $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
56 + @echo
57 + @echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
58 +
59 +dirhtml:
60 + $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
61 + @echo
62 + @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
63 +
64 +singlehtml:
65 + $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
66 + @echo
67 + @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
68 +
69 +pickle:
70 + $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
71 + @echo
72 + @echo "Build finished; now you can process the pickle files."
73 +
74 +json:
75 + $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
76 + @echo
77 + @echo "Build finished; now you can process the JSON files."
78 +
79 +htmlhelp:
80 + $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
81 + @echo
82 + @echo "Build finished; now you can run HTML Help Workshop with the" \
83 + ".hhp project file in $(BUILDDIR)/htmlhelp."
84 +
85 +qthelp:
86 + $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
87 + @echo
88 + @echo "Build finished; now you can run "qcollectiongenerator" with the" \
89 + ".qhcp project file in $(BUILDDIR)/qthelp, like this:"
90 + @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/kappa.qhcp"
91 + @echo "To view the help file:"
92 + @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/kappa.qhc"
93 +
94 +applehelp:
95 + $(SPHINXBUILD) -b applehelp $(ALLSPHINXOPTS) $(BUILDDIR)/applehelp
96 + @echo
97 + @echo "Build finished. The help book is in $(BUILDDIR)/applehelp."
98 + @echo "N.B. You won't be able to view it unless you put it in" \
99 + "~/Library/Documentation/Help or install it in your application" \
100 + "bundle."
101 +
102 +devhelp:
103 + $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
104 + @echo
105 + @echo "Build finished."
106 + @echo "To view the help file:"
107 + @echo "# mkdir -p $$HOME/.local/share/devhelp/kappa"
108 + @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/kappa"
109 + @echo "# devhelp"
110 +
111 +epub:
112 + $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
113 + @echo
114 + @echo "Build finished. The epub file is in $(BUILDDIR)/epub."
115 +
116 +latex:
117 + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
118 + @echo
119 + @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
120 + @echo "Run \`make' in that directory to run these through (pdf)latex" \
121 + "(use \`make latexpdf' here to do that automatically)."
122 +
123 +latexpdf:
124 + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
125 + @echo "Running LaTeX files through pdflatex..."
126 + $(MAKE) -C $(BUILDDIR)/latex all-pdf
127 + @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
128 +
129 +latexpdfja:
130 + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
131 + @echo "Running LaTeX files through platex and dvipdfmx..."
132 + $(MAKE) -C $(BUILDDIR)/latex all-pdf-ja
133 + @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
134 +
135 +text:
136 + $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
137 + @echo
138 + @echo "Build finished. The text files are in $(BUILDDIR)/text."
139 +
140 +man:
141 + $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
142 + @echo
143 + @echo "Build finished. The manual pages are in $(BUILDDIR)/man."
144 +
145 +texinfo:
146 + $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
147 + @echo
148 + @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
149 + @echo "Run \`make' in that directory to run these through makeinfo" \
150 + "(use \`make info' here to do that automatically)."
151 +
152 +info:
153 + $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
154 + @echo "Running Texinfo files through makeinfo..."
155 + make -C $(BUILDDIR)/texinfo info
156 + @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."
157 +
158 +gettext:
159 + $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
160 + @echo
161 + @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."
162 +
163 +changes:
164 + $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
165 + @echo
166 + @echo "The overview file is in $(BUILDDIR)/changes."
167 +
168 +linkcheck:
169 + $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
170 + @echo
171 + @echo "Link check complete; look for any errors in the above output " \
172 + "or in $(BUILDDIR)/linkcheck/output.txt."
173 +
174 +doctest:
175 + $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
176 + @echo "Testing of doctests in the sources finished, look at the " \
177 + "results in $(BUILDDIR)/doctest/output.txt."
178 +
179 +coverage:
180 + $(SPHINXBUILD) -b coverage $(ALLSPHINXOPTS) $(BUILDDIR)/coverage
181 + @echo "Testing of coverage in the sources finished, look at the " \
182 + "results in $(BUILDDIR)/coverage/python.txt."
183 +
184 +xml:
185 + $(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml
186 + @echo
187 + @echo "Build finished. The XML files are in $(BUILDDIR)/xml."
188 +
189 +pseudoxml:
190 + $(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml
191 + @echo
192 + @echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml."
1 +Commands
2 +========
3 +
4 +Kappa is a command line tool. The basic command format is:
5 +
6 +``kappa [options] <command> [optional command args]``
7 +
8 +Available ``options`` are:
9 +
10 +* --config <config_file> to specify where to find the kappa config file. The
11 + default is to look in ``kappa.yml``.
12 +* --env <environment> to specify which environment in your config file you are
13 + using. The default is ``dev``.
14 +* --debug/--no-debug to turn on/off the debug logging.
15 +* --help to access command line help.
16 +
17 +And ``command`` is one of:
18 +
19 +* deploy
20 +* delete
21 +* invoke
22 +* tag
23 +* tail
24 +* event_sources
25 +* status
26 +
27 +Details of each command are provided below.
28 +
29 +deploy
30 +------
31 +
32 +The ``deploy`` command does whatever is required to deploy the
33 +current version of your Lambda function such as creating/updating policies and
34 +roles and creating or updating the function itself.
35 +
36 +When the command is run the first time, it creates all of the relevant
37 +resources required. On subsequent invocations, it will attempt to determine
38 +what, if anything, has changed in the project and only update those resources.
39 +
40 +delete
41 +------
42 +
43 +The ``delete`` command deletes the Lambda function, remove any event sources,
44 +delete the IAM policy and role.
45 +
46 +invoke
47 +------
48 +
49 +The ``invoke`` command makes a synchronous call to your Lambda function,
50 +passing test data and display the resulting log data and any response returned
51 +from your Lambda function.
52 +
53 +tag
54 +---
55 +
56 +The ``tag`` command tags the current version of the Lambda function with a
57 +symbolic tag. In Lambda terms, this creates an ``alias``.
58 +
59 +The ``tag`` command requires two additional positional arguments:
60 +
61 +* name - the name of tag or alias
62 +* description - the description of the alias
63 +
64 +tail
65 +----
66 +
67 +The ``tail`` command displays the most recent log events for the function
68 +(remember that it can take several minutes before log events are available from CloudWatch)
69 +
70 +test
71 +----
72 +
73 +The ``test`` command provides a way to run unit tests of code in your Lambda
74 +function. By default, it uses the ``nose`` Python testrunner but this can be
75 +overridden my specifying an alternative value using the ``unit_test_runner``
76 +attribute in the kappa config file.
77 +
78 +When using nose, it expects to find standard Python unit tests in the
79 +``_tests/unit`` directory of your project. It will then run those tests in an
80 +environment that also makes any python modules in your ``_src`` directory
81 +available to the tests.
82 +
83 +event_sources
84 +-------------
85 +
86 +The ``event_sources`` command provides access the commands available for
87 +dealing with event sources. This command has an additional option:
88 +
89 +* --command - the command to run (add|update|enable|disable)
90 +
91 +status
92 +------
93 +
94 +The ``status`` command displays summary information about functions, stacks,
95 +and event sources related to your project.
1 +# -*- coding: utf-8 -*-
2 +#
3 +# kappa documentation build configuration file, created by
4 +# sphinx-quickstart on Tue Oct 13 12:59:27 2015.
5 +#
6 +# This file is execfile()d with the current directory set to its
7 +# containing dir.
8 +#
9 +# Note that not all possible configuration values are present in this
10 +# autogenerated file.
11 +#
12 +# All configuration values have a default; values that are commented out
13 +# serve to show the default.
14 +
15 +import sys
16 +import os
17 +import shlex
18 +
19 +# If extensions (or modules to document with autodoc) are in another directory,
20 +# add these directories to sys.path here. If the directory is relative to the
21 +# documentation root, use os.path.abspath to make it absolute, like shown here.
22 +#sys.path.insert(0, os.path.abspath('.'))
23 +
24 +# -- General configuration ------------------------------------------------
25 +
26 +# If your documentation needs a minimal Sphinx version, state it here.
27 +#needs_sphinx = '1.0'
28 +
29 +# Add any Sphinx extension module names here, as strings. They can be
30 +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
31 +# ones.
32 +extensions = [
33 + 'sphinx.ext.autodoc',
34 +]
35 +
36 +# Add any paths that contain templates here, relative to this directory.
37 +templates_path = ['_templates']
38 +
39 +# The suffix(es) of source filenames.
40 +# You can specify multiple suffix as a list of string:
41 +# source_suffix = ['.rst', '.md']
42 +source_suffix = '.rst'
43 +
44 +# The encoding of source files.
45 +#source_encoding = 'utf-8-sig'
46 +
47 +# The master toctree document.
48 +master_doc = 'index'
49 +
50 +# General information about the project.
51 +project = u'kappa'
52 +copyright = u'2015, Mitch Garnaat'
53 +author = u'Mitch Garnaat'
54 +
55 +# The version info for the project you're documenting, acts as replacement for
56 +# |version| and |release|, also used in various other places throughout the
57 +# built documents.
58 +#
59 +# The short X.Y version.
60 +version = '0.4.0'
61 +# The full version, including alpha/beta/rc tags.
62 +release = '0.4.0'
63 +
64 +# The language for content autogenerated by Sphinx. Refer to documentation
65 +# for a list of supported languages.
66 +#
67 +# This is also used if you do content translation via gettext catalogs.
68 +# Usually you set "language" from the command line for these cases.
69 +language = None
70 +
71 +# There are two options for replacing |today|: either, you set today to some
72 +# non-false value, then it is used:
73 +#today = ''
74 +# Else, today_fmt is used as the format for a strftime call.
75 +#today_fmt = '%B %d, %Y'
76 +
77 +# List of patterns, relative to source directory, that match files and
78 +# directories to ignore when looking for source files.
79 +exclude_patterns = ['_build']
80 +
81 +# The reST default role (used for this markup: `text`) to use for all
82 +# documents.
83 +#default_role = None
84 +
85 +# If true, '()' will be appended to :func: etc. cross-reference text.
86 +#add_function_parentheses = True
87 +
88 +# If true, the current module name will be prepended to all description
89 +# unit titles (such as .. function::).
90 +#add_module_names = True
91 +
92 +# If true, sectionauthor and moduleauthor directives will be shown in the
93 +# output. They are ignored by default.
94 +#show_authors = False
95 +
96 +# The name of the Pygments (syntax highlighting) style to use.
97 +pygments_style = 'sphinx'
98 +
99 +# A list of ignored prefixes for module index sorting.
100 +#modindex_common_prefix = []
101 +
102 +# If true, keep warnings as "system message" paragraphs in the built documents.
103 +#keep_warnings = False
104 +
105 +# If true, `todo` and `todoList` produce output, else they produce nothing.
106 +todo_include_todos = False
107 +
108 +
109 +# -- Options for HTML output ----------------------------------------------
110 +
111 +# The theme to use for HTML and HTML Help pages. See the documentation for
112 +# a list of builtin themes.
113 +html_theme = 'alabaster'
114 +
115 +# Theme options are theme-specific and customize the look and feel of a theme
116 +# further. For a list of options available for each theme, see the
117 +# documentation.
118 +#html_theme_options = {}
119 +
120 +# Add any paths that contain custom themes here, relative to this directory.
121 +#html_theme_path = []
122 +
123 +# The name for this set of Sphinx documents. If None, it defaults to
124 +# "<project> v<release> documentation".
125 +#html_title = None
126 +
127 +# A shorter title for the navigation bar. Default is the same as html_title.
128 +#html_short_title = None
129 +
130 +# The name of an image file (relative to this directory) to place at the top
131 +# of the sidebar.
132 +#html_logo = None
133 +
134 +# The name of an image file (within the static path) to use as favicon of the
135 +# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
136 +# pixels large.
137 +#html_favicon = None
138 +
139 +# Add any paths that contain custom static files (such as style sheets) here,
140 +# relative to this directory. They are copied after the builtin static files,
141 +# so a file named "default.css" will overwrite the builtin "default.css".
142 +html_static_path = ['_static']
143 +
144 +# Add any extra paths that contain custom files (such as robots.txt or
145 +# .htaccess) here, relative to this directory. These files are copied
146 +# directly to the root of the documentation.
147 +#html_extra_path = []
148 +
149 +# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
150 +# using the given strftime format.
151 +#html_last_updated_fmt = '%b %d, %Y'
152 +
153 +# If true, SmartyPants will be used to convert quotes and dashes to
154 +# typographically correct entities.
155 +#html_use_smartypants = True
156 +
157 +# Custom sidebar templates, maps document names to template names.
158 +#html_sidebars = {}
159 +
160 +# Additional templates that should be rendered to pages, maps page names to
161 +# template names.
162 +#html_additional_pages = {}
163 +
164 +# If false, no module index is generated.
165 +#html_domain_indices = True
166 +
167 +# If false, no index is generated.
168 +#html_use_index = True
169 +
170 +# If true, the index is split into individual pages for each letter.
171 +#html_split_index = False
172 +
173 +# If true, links to the reST sources are added to the pages.
174 +#html_show_sourcelink = True
175 +
176 +# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
177 +#html_show_sphinx = True
178 +
179 +# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
180 +#html_show_copyright = True
181 +
182 +# If true, an OpenSearch description file will be output, and all pages will
183 +# contain a <link> tag referring to it. The value of this option must be the
184 +# base URL from which the finished HTML is served.
185 +#html_use_opensearch = ''
186 +
187 +# This is the file name suffix for HTML files (e.g. ".xhtml").
188 +#html_file_suffix = None
189 +
190 +# Language to be used for generating the HTML full-text search index.
191 +# Sphinx supports the following languages:
192 +# 'da', 'de', 'en', 'es', 'fi', 'fr', 'hu', 'it', 'ja'
193 +# 'nl', 'no', 'pt', 'ro', 'ru', 'sv', 'tr'
194 +#html_search_language = 'en'
195 +
196 +# A dictionary with options for the search language support, empty by default.
197 +# Now only 'ja' uses this config value
198 +#html_search_options = {'type': 'default'}
199 +
200 +# The name of a javascript file (relative to the configuration directory) that
201 +# implements a search results scorer. If empty, the default will be used.
202 +#html_search_scorer = 'scorer.js'
203 +
204 +# Output file base name for HTML help builder.
205 +htmlhelp_basename = 'kappadoc'
206 +
207 +# -- Options for LaTeX output ---------------------------------------------
208 +
209 +latex_elements = {
210 +# The paper size ('letterpaper' or 'a4paper').
211 +#'papersize': 'letterpaper',
212 +
213 +# The font size ('10pt', '11pt' or '12pt').
214 +#'pointsize': '10pt',
215 +
216 +# Additional stuff for the LaTeX preamble.
217 +#'preamble': '',
218 +
219 +# Latex figure (float) alignment
220 +#'figure_align': 'htbp',
221 +}
222 +
223 +# Grouping the document tree into LaTeX files. List of tuples
224 +# (source start file, target name, title,
225 +# author, documentclass [howto, manual, or own class]).
226 +latex_documents = [
227 + (master_doc, 'kappa.tex', u'kappa Documentation',
228 + u'Mitch Garnaat', 'manual'),
229 +]
230 +
231 +# The name of an image file (relative to this directory) to place at the top of
232 +# the title page.
233 +#latex_logo = None
234 +
235 +# For "manual" documents, if this is true, then toplevel headings are parts,
236 +# not chapters.
237 +#latex_use_parts = False
238 +
239 +# If true, show page references after internal links.
240 +#latex_show_pagerefs = False
241 +
242 +# If true, show URL addresses after external links.
243 +#latex_show_urls = False
244 +
245 +# Documents to append as an appendix to all manuals.
246 +#latex_appendices = []
247 +
248 +# If false, no module index is generated.
249 +#latex_domain_indices = True
250 +
251 +
252 +# -- Options for manual page output ---------------------------------------
253 +
254 +# One entry per manual page. List of tuples
255 +# (source start file, name, description, authors, manual section).
256 +man_pages = [
257 + (master_doc, 'kappa', u'kappa Documentation',
258 + [author], 1)
259 +]
260 +
261 +# If true, show URL addresses after external links.
262 +#man_show_urls = False
263 +
264 +
265 +# -- Options for Texinfo output -------------------------------------------
266 +
267 +# Grouping the document tree into Texinfo files. List of tuples
268 +# (source start file, target name, title, author,
269 +# dir menu entry, description, category)
270 +texinfo_documents = [
271 + (master_doc, 'kappa', u'kappa Documentation',
272 + author, 'kappa', 'One line description of project.',
273 + 'Miscellaneous'),
274 +]
275 +
276 +# Documents to append as an appendix to all manuals.
277 +#texinfo_appendices = []
278 +
279 +# If false, no module index is generated.
280 +#texinfo_domain_indices = True
281 +
282 +# How to display URL addresses: 'footnote', 'no', or 'inline'.
283 +#texinfo_show_urls = 'footnote'
284 +
285 +# If true, do not generate a @detailmenu in the "Top" node's menu.
286 +#texinfo_no_detailmenu = False
1 +The Config File
2 +===============
3 +
4 +The config file is at the heart of kappa. It is what describes your functions
5 +and drives your deployments. This section provides a reference for all of the
6 +elements of the kappa config file.
7 +
8 +Example
9 +-------
10 +
11 +Here is a simple example config file from the sample/simple directory::
12 +
13 + ---
14 + name: foobar
15 + environments:
16 + dev:
17 + profile: fiebaz-dev
18 + region: us-west-2
19 + policy:
20 + arn: arn:aws:iam::aws:policy/service-role/AWSLambdaRole
21 + prod:
22 + profile: fiebaz-prod
23 + region: us-west-2
24 + policy:
25 + arn: arn:aws:iam::aws:policy/service-role/AWSLambdaRole
26 + lambda:
27 + description: A simple Python Lambda example
28 + path: code/
29 + handler: foobar.handler
30 + runtime: python2.7
31 + memory_size: 256
32 + timeout: 3
33 + test_data: input.json
34 +
35 +This config file is defining
36 +
1 +.. kappa documentation master file, created by
2 + sphinx-quickstart on Tue Oct 13 12:59:27 2015.
3 + You can adapt this file completely to your liking, but it should at least
4 + contain the root `toctree` directive.
5 +
6 +Welcome to kappa's documentation!
7 +=================================
8 +
9 +Contents:
10 +
11 +.. toctree::
12 + :maxdepth: 2
13 +
14 + why
15 + config_file
16 + commands
17 +
18 +
19 +
20 +Indices and tables
21 +==================
22 +
23 +* :ref:`genindex`
24 +* :ref:`modindex`
25 +* :ref:`search`
26 +
1 +@ECHO OFF
2 +
3 +REM Command file for Sphinx documentation
4 +
5 +if "%SPHINXBUILD%" == "" (
6 + set SPHINXBUILD=sphinx-build
7 +)
8 +set BUILDDIR=_build
9 +set ALLSPHINXOPTS=-d %BUILDDIR%/doctrees %SPHINXOPTS% .
10 +set I18NSPHINXOPTS=%SPHINXOPTS% .
11 +if NOT "%PAPER%" == "" (
12 + set ALLSPHINXOPTS=-D latex_paper_size=%PAPER% %ALLSPHINXOPTS%
13 + set I18NSPHINXOPTS=-D latex_paper_size=%PAPER% %I18NSPHINXOPTS%
14 +)
15 +
16 +if "%1" == "" goto help
17 +
18 +if "%1" == "help" (
19 + :help
20 + echo.Please use `make ^<target^>` where ^<target^> is one of
21 + echo. html to make standalone HTML files
22 + echo. dirhtml to make HTML files named index.html in directories
23 + echo. singlehtml to make a single large HTML file
24 + echo. pickle to make pickle files
25 + echo. json to make JSON files
26 + echo. htmlhelp to make HTML files and a HTML help project
27 + echo. qthelp to make HTML files and a qthelp project
28 + echo. devhelp to make HTML files and a Devhelp project
29 + echo. epub to make an epub
30 + echo. latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter
31 + echo. text to make text files
32 + echo. man to make manual pages
33 + echo. texinfo to make Texinfo files
34 + echo. gettext to make PO message catalogs
35 + echo. changes to make an overview over all changed/added/deprecated items
36 + echo. xml to make Docutils-native XML files
37 + echo. pseudoxml to make pseudoxml-XML files for display purposes
38 + echo. linkcheck to check all external links for integrity
39 + echo. doctest to run all doctests embedded in the documentation if enabled
40 + echo. coverage to run coverage check of the documentation if enabled
41 + goto end
42 +)
43 +
44 +if "%1" == "clean" (
45 + for /d %%i in (%BUILDDIR%\*) do rmdir /q /s %%i
46 + del /q /s %BUILDDIR%\*
47 + goto end
48 +)
49 +
50 +
51 +REM Check if sphinx-build is available and fallback to Python version if any
52 +%SPHINXBUILD% 2> nul
53 +if errorlevel 9009 goto sphinx_python
54 +goto sphinx_ok
55 +
56 +:sphinx_python
57 +
58 +set SPHINXBUILD=python -m sphinx.__init__
59 +%SPHINXBUILD% 2> nul
60 +if errorlevel 9009 (
61 + echo.
62 + echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
63 + echo.installed, then set the SPHINXBUILD environment variable to point
64 + echo.to the full path of the 'sphinx-build' executable. Alternatively you
65 + echo.may add the Sphinx directory to PATH.
66 + echo.
67 + echo.If you don't have Sphinx installed, grab it from
68 + echo.http://sphinx-doc.org/
69 + exit /b 1
70 +)
71 +
72 +:sphinx_ok
73 +
74 +
75 +if "%1" == "html" (
76 + %SPHINXBUILD% -b html %ALLSPHINXOPTS% %BUILDDIR%/html
77 + if errorlevel 1 exit /b 1
78 + echo.
79 + echo.Build finished. The HTML pages are in %BUILDDIR%/html.
80 + goto end
81 +)
82 +
83 +if "%1" == "dirhtml" (
84 + %SPHINXBUILD% -b dirhtml %ALLSPHINXOPTS% %BUILDDIR%/dirhtml
85 + if errorlevel 1 exit /b 1
86 + echo.
87 + echo.Build finished. The HTML pages are in %BUILDDIR%/dirhtml.
88 + goto end
89 +)
90 +
91 +if "%1" == "singlehtml" (
92 + %SPHINXBUILD% -b singlehtml %ALLSPHINXOPTS% %BUILDDIR%/singlehtml
93 + if errorlevel 1 exit /b 1
94 + echo.
95 + echo.Build finished. The HTML pages are in %BUILDDIR%/singlehtml.
96 + goto end
97 +)
98 +
99 +if "%1" == "pickle" (
100 + %SPHINXBUILD% -b pickle %ALLSPHINXOPTS% %BUILDDIR%/pickle
101 + if errorlevel 1 exit /b 1
102 + echo.
103 + echo.Build finished; now you can process the pickle files.
104 + goto end
105 +)
106 +
107 +if "%1" == "json" (
108 + %SPHINXBUILD% -b json %ALLSPHINXOPTS% %BUILDDIR%/json
109 + if errorlevel 1 exit /b 1
110 + echo.
111 + echo.Build finished; now you can process the JSON files.
112 + goto end
113 +)
114 +
115 +if "%1" == "htmlhelp" (
116 + %SPHINXBUILD% -b htmlhelp %ALLSPHINXOPTS% %BUILDDIR%/htmlhelp
117 + if errorlevel 1 exit /b 1
118 + echo.
119 + echo.Build finished; now you can run HTML Help Workshop with the ^
120 +.hhp project file in %BUILDDIR%/htmlhelp.
121 + goto end
122 +)
123 +
124 +if "%1" == "qthelp" (
125 + %SPHINXBUILD% -b qthelp %ALLSPHINXOPTS% %BUILDDIR%/qthelp
126 + if errorlevel 1 exit /b 1
127 + echo.
128 + echo.Build finished; now you can run "qcollectiongenerator" with the ^
129 +.qhcp project file in %BUILDDIR%/qthelp, like this:
130 + echo.^> qcollectiongenerator %BUILDDIR%\qthelp\kappa.qhcp
131 + echo.To view the help file:
132 + echo.^> assistant -collectionFile %BUILDDIR%\qthelp\kappa.ghc
133 + goto end
134 +)
135 +
136 +if "%1" == "devhelp" (
137 + %SPHINXBUILD% -b devhelp %ALLSPHINXOPTS% %BUILDDIR%/devhelp
138 + if errorlevel 1 exit /b 1
139 + echo.
140 + echo.Build finished.
141 + goto end
142 +)
143 +
144 +if "%1" == "epub" (
145 + %SPHINXBUILD% -b epub %ALLSPHINXOPTS% %BUILDDIR%/epub
146 + if errorlevel 1 exit /b 1
147 + echo.
148 + echo.Build finished. The epub file is in %BUILDDIR%/epub.
149 + goto end
150 +)
151 +
152 +if "%1" == "latex" (
153 + %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex
154 + if errorlevel 1 exit /b 1
155 + echo.
156 + echo.Build finished; the LaTeX files are in %BUILDDIR%/latex.
157 + goto end
158 +)
159 +
160 +if "%1" == "latexpdf" (
161 + %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex
162 + cd %BUILDDIR%/latex
163 + make all-pdf
164 + cd %~dp0
165 + echo.
166 + echo.Build finished; the PDF files are in %BUILDDIR%/latex.
167 + goto end
168 +)
169 +
170 +if "%1" == "latexpdfja" (
171 + %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex
172 + cd %BUILDDIR%/latex
173 + make all-pdf-ja
174 + cd %~dp0
175 + echo.
176 + echo.Build finished; the PDF files are in %BUILDDIR%/latex.
177 + goto end
178 +)
179 +
180 +if "%1" == "text" (
181 + %SPHINXBUILD% -b text %ALLSPHINXOPTS% %BUILDDIR%/text
182 + if errorlevel 1 exit /b 1
183 + echo.
184 + echo.Build finished. The text files are in %BUILDDIR%/text.
185 + goto end
186 +)
187 +
188 +if "%1" == "man" (
189 + %SPHINXBUILD% -b man %ALLSPHINXOPTS% %BUILDDIR%/man
190 + if errorlevel 1 exit /b 1
191 + echo.
192 + echo.Build finished. The manual pages are in %BUILDDIR%/man.
193 + goto end
194 +)
195 +
196 +if "%1" == "texinfo" (
197 + %SPHINXBUILD% -b texinfo %ALLSPHINXOPTS% %BUILDDIR%/texinfo
198 + if errorlevel 1 exit /b 1
199 + echo.
200 + echo.Build finished. The Texinfo files are in %BUILDDIR%/texinfo.
201 + goto end
202 +)
203 +
204 +if "%1" == "gettext" (
205 + %SPHINXBUILD% -b gettext %I18NSPHINXOPTS% %BUILDDIR%/locale
206 + if errorlevel 1 exit /b 1
207 + echo.
208 + echo.Build finished. The message catalogs are in %BUILDDIR%/locale.
209 + goto end
210 +)
211 +
212 +if "%1" == "changes" (
213 + %SPHINXBUILD% -b changes %ALLSPHINXOPTS% %BUILDDIR%/changes
214 + if errorlevel 1 exit /b 1
215 + echo.
216 + echo.The overview file is in %BUILDDIR%/changes.
217 + goto end
218 +)
219 +
220 +if "%1" == "linkcheck" (
221 + %SPHINXBUILD% -b linkcheck %ALLSPHINXOPTS% %BUILDDIR%/linkcheck
222 + if errorlevel 1 exit /b 1
223 + echo.
224 + echo.Link check complete; look for any errors in the above output ^
225 +or in %BUILDDIR%/linkcheck/output.txt.
226 + goto end
227 +)
228 +
229 +if "%1" == "doctest" (
230 + %SPHINXBUILD% -b doctest %ALLSPHINXOPTS% %BUILDDIR%/doctest
231 + if errorlevel 1 exit /b 1
232 + echo.
233 + echo.Testing of doctests in the sources finished, look at the ^
234 +results in %BUILDDIR%/doctest/output.txt.
235 + goto end
236 +)
237 +
238 +if "%1" == "coverage" (
239 + %SPHINXBUILD% -b coverage %ALLSPHINXOPTS% %BUILDDIR%/coverage
240 + if errorlevel 1 exit /b 1
241 + echo.
242 + echo.Testing of coverage in the sources finished, look at the ^
243 +results in %BUILDDIR%/coverage/python.txt.
244 + goto end
245 +)
246 +
247 +if "%1" == "xml" (
248 + %SPHINXBUILD% -b xml %ALLSPHINXOPTS% %BUILDDIR%/xml
249 + if errorlevel 1 exit /b 1
250 + echo.
251 + echo.Build finished. The XML files are in %BUILDDIR%/xml.
252 + goto end
253 +)
254 +
255 +if "%1" == "pseudoxml" (
256 + %SPHINXBUILD% -b pseudoxml %ALLSPHINXOPTS% %BUILDDIR%/pseudoxml
257 + if errorlevel 1 exit /b 1
258 + echo.
259 + echo.Build finished. The pseudo-XML files are in %BUILDDIR%/pseudoxml.
260 + goto end
261 +)
262 +
263 +:end
1 +Why kappa?
2 +==========
3 +
4 +You can do everything kappa does by using the AWS Management Console so why use
5 +kappa? Basically, because using GUI interfaces to drive your production
6 +environment is a really bad idea. You can't really automate GUI interfaces,
7 +you can't debug GUI interfaces, and you can't easily share techniques and best
8 +practices with a GUI.
9 +
10 +The goal of kappa is to put everything about your AWS Lambda function into
11 +files on a filesystem which can be easily versioned and shared. Once your
12 +files are in git, people on your team can create pull requests to merge new
13 +changes in and those pull requests can be reviewed, commented on, and
14 +eventually approved. This is a tried and true approach that has worked for
15 +more traditional deployment methodologies and will also work for AWS Lambda.