From 5342061c9e34e88a759ad274f6f328426b1bf18e Mon Sep 17 00:00:00 2001 From: Leticia Portella Date: Wed, 5 Dec 2018 11:12:14 -0200 Subject: [PATCH 01/16] Add docs with sphinx --- docs/Makefile | 19 +++++ docs/conf.py | 173 ++++++++++++++++++++++++++++++++++++++++++++ docs/index.rst | 21 ++++++ docs/make.bat | 35 +++++++++ docs/quickstart.rst | 29 ++++++++ 5 files changed, 277 insertions(+) create mode 100644 docs/Makefile create mode 100644 docs/conf.py create mode 100644 docs/index.rst create mode 100644 docs/make.bat create mode 100644 docs/quickstart.rst diff --git a/docs/Makefile b/docs/Makefile new file mode 100644 index 0000000..298ea9e --- /dev/null +++ b/docs/Makefile @@ -0,0 +1,19 @@ +# Minimal makefile for Sphinx documentation +# + +# You can set these variables from the command line. +SPHINXOPTS = +SPHINXBUILD = sphinx-build +SOURCEDIR = . +BUILDDIR = _build + +# Put it first so that "make" without argument is like "make help". +help: + @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + +.PHONY: help Makefile + +# Catch-all target: route all unknown targets to Sphinx using the new +# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). +%: Makefile + @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) \ No newline at end of file diff --git a/docs/conf.py b/docs/conf.py new file mode 100644 index 0000000..165c4af --- /dev/null +++ b/docs/conf.py @@ -0,0 +1,173 @@ +# -*- coding: utf-8 -*- +# +# Configuration file for the Sphinx documentation builder. +# +# This file does only contain a selection of the most common options. For a +# full list see the documentation: +# http://www.sphinx-doc.org/en/master/config + +# -- Path setup -------------------------------------------------------------- + +# If extensions (or modules to document with autodoc) are in another directory, +# add these directories to sys.path here. If the directory is relative to the +# documentation root, use os.path.abspath to make it absolute, like shown here. +# +# import os +# import sys +# sys.path.insert(0, os.path.abspath('.')) + + +# -- Project information ----------------------------------------------------- + +project = u'Native Authenticator' +copyright = u'2018, Leticia Portella' +author = u'Leticia Portella' + +# The short X.Y version +version = u'' +# The full version, including alpha/beta/rc tags +release = u'' + + +# -- General configuration --------------------------------------------------- + +# If your documentation needs a minimal Sphinx version, state it here. +# +# needs_sphinx = '1.0' + +# Add any Sphinx extension module names here, as strings. They can be +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom +# ones. +extensions = [ +] + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] + +# The suffix(es) of source filenames. +# You can specify multiple suffix as a list of string: +# +# source_suffix = ['.rst', '.md'] +source_suffix = '.rst' + +# The master toctree document. +master_doc = 'index' + +# The language for content autogenerated by Sphinx. Refer to documentation +# for a list of supported languages. +# +# This is also used if you do content translation via gettext catalogs. +# Usually you set "language" from the command line for these cases. +language = None + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +# This pattern also affects html_static_path and html_extra_path. +exclude_patterns = [u'_build', 'Thumbs.db', '.DS_Store'] + +# The name of the Pygments (syntax highlighting) style to use. +pygments_style = 'sphinx' + + +# -- Options for HTML output ------------------------------------------------- + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +# +html_theme = 'alabaster' + +# Theme options are theme-specific and customize the look and feel of a theme +# further. For a list of options available for each theme, see the +# documentation. +# +# html_theme_options = {} + +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". +html_static_path = ['_static'] + +# Custom sidebar templates, must be a dictionary that maps document names +# to template names. +# +# The default sidebars (for documents that don't match any pattern) are +# defined by theme itself. Builtin themes are using these templates by +# default: ``['localtoc.html', 'relations.html', 'sourcelink.html', +# 'searchbox.html']``. +# +# html_sidebars = {} + + +# -- Options for HTMLHelp output --------------------------------------------- + +# Output file base name for HTML help builder. +htmlhelp_basename = 'NativeAuthenticatordoc' + + +# -- Options for LaTeX output ------------------------------------------------ + +latex_elements = { + # The paper size ('letterpaper' or 'a4paper'). + # + # 'papersize': 'letterpaper', + + # The font size ('10pt', '11pt' or '12pt'). + # + # 'pointsize': '10pt', + + # Additional stuff for the LaTeX preamble. + # + # 'preamble': '', + + # Latex figure (float) alignment + # + # 'figure_align': 'htbp', +} + +# Grouping the document tree into LaTeX files. List of tuples +# (source start file, target name, title, +# author, documentclass [howto, manual, or own class]). +latex_documents = [ + (master_doc, 'NativeAuthenticator.tex', u'Native Authenticator Documentation', + u'Leticia Portella', 'manual'), +] + + +# -- Options for manual page output ------------------------------------------ + +# One entry per manual page. List of tuples +# (source start file, name, description, authors, manual section). +man_pages = [ + (master_doc, 'nativeauthenticator', u'Native Authenticator Documentation', + [author], 1) +] + + +# -- Options for Texinfo output ---------------------------------------------- + +# Grouping the document tree into Texinfo files. List of tuples +# (source start file, target name, title, author, +# dir menu entry, description, category) +texinfo_documents = [ + (master_doc, 'NativeAuthenticator', u'Native Authenticator Documentation', + author, 'NativeAuthenticator', 'One line description of project.', + 'Miscellaneous'), +] + + +# -- Options for Epub output ------------------------------------------------- + +# Bibliographic Dublin Core info. +epub_title = project + +# The unique identifier of the text. This can be a ISBN number +# or the project homepage. +# +# epub_identifier = '' + +# A unique identification for the text. +# +# epub_uid = '' + +# A list of files that should not be packed into the epub file. +epub_exclude_files = ['search.html'] \ No newline at end of file diff --git a/docs/index.rst b/docs/index.rst new file mode 100644 index 0000000..bcc2533 --- /dev/null +++ b/docs/index.rst @@ -0,0 +1,21 @@ +.. Native Authenticator documentation master file, created by + sphinx-quickstart on Wed Dec 5 10:28:37 2018. + You can adapt this file completely to your liking, but it should at least + contain the root `toctree` directive. + +Welcome to Native Authenticator's documentation! +================================================ + +Welcome to Native Authenticator's documentation! + +Native Authenticator is a plugin Authenticator for the `JupyterHub `_. Be sure you have JupyterHub already running on your machine before installing this authenticator. + +Indices and tables +================== + +.. toctree:: + :maxdepth: 2 + :caption: Contents: + + quickstart + diff --git a/docs/make.bat b/docs/make.bat new file mode 100644 index 0000000..27f573b --- /dev/null +++ b/docs/make.bat @@ -0,0 +1,35 @@ +@ECHO OFF + +pushd %~dp0 + +REM Command file for Sphinx documentation + +if "%SPHINXBUILD%" == "" ( + set SPHINXBUILD=sphinx-build +) +set SOURCEDIR=. +set BUILDDIR=_build + +if "%1" == "" goto help + +%SPHINXBUILD% >NUL 2>NUL +if errorlevel 9009 ( + echo. + echo.The 'sphinx-build' command was not found. Make sure you have Sphinx + echo.installed, then set the SPHINXBUILD environment variable to point + echo.to the full path of the 'sphinx-build' executable. Alternatively you + echo.may add the Sphinx directory to PATH. + echo. + echo.If you don't have Sphinx installed, grab it from + echo.http://sphinx-doc.org/ + exit /b 1 +) + +%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% +goto end + +:help +%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% + +:end +popd diff --git a/docs/quickstart.rst b/docs/quickstart.rst new file mode 100644 index 0000000..8e20db5 --- /dev/null +++ b/docs/quickstart.rst @@ -0,0 +1,29 @@ +Quickstart +========== + +Native Authenticator is a plugin Authenticator for the +`JupyterHub `_. Be sure you have JupyterHub +already running on your machine before installing this authenticator. + +You must install this authenticator throught the project's repository. This is +a temporary solution until we have the package on the `Pypi `_: + +.. code-block:: bash + + $ git clone https://github.com/jupyterhub/nativeauthenticator.git + $ pip install -e . + + +Then, you must create the configuration file for JupyterHub: + +.. code-block:: bash + + $ jupyterhub --generate-config -f /etc/jupyterhub/jupyterhub_config.py + + +And change the default Authenticator class for our Native Authenticator class: + +`c.JupyterHub.authenticator_class = 'nativeauthenticator.NativeAuthenticator'` + + +Run your JupyterHub normally, and the authenticator will be running with it. From 008c03989b343ce14b7940f44faab410148045d1 Mon Sep 17 00:00:00 2001 From: Leticia Portella Date: Wed, 5 Dec 2018 12:24:02 -0200 Subject: [PATCH 02/16] Add circleci for flake8 --- .circleci/config.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 .circleci/config.yml diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 0000000..a4ffa32 --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,11 @@ +version: 2.0 +jobs: + build: + docker: + - image: circleci/python:3.7.0 + steps: + - run: + name: Running flake8 + command: | + pip install flake8 + flake8 . From 3d1df267972a987015cfffc9d6cf33e958080ad0 Mon Sep 17 00:00:00 2001 From: Leticia Portella Date: Wed, 5 Dec 2018 12:31:32 -0200 Subject: [PATCH 03/16] Change circle ci identation --- .circleci/config.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index a4ffa32..c557dda 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -5,7 +5,7 @@ jobs: - image: circleci/python:3.7.0 steps: - run: - name: Running flake8 - command: | - pip install flake8 - flake8 . + name: Running flake8 + command: | + pip install flake8 + flake8 . From 0297322e29624f9b2a08185e5af0dc3a60ac6ae2 Mon Sep 17 00:00:00 2001 From: Leticia Portella Date: Wed, 5 Dec 2018 12:35:47 -0200 Subject: [PATCH 04/16] Add flake8 install on circle ci as sudo command --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index c557dda..185afb7 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -7,5 +7,5 @@ jobs: - run: name: Running flake8 command: | - pip install flake8 + sudo pip install flake8 flake8 . From 71f897478f22d4ad81007361a4b88981a78db297 Mon Sep 17 00:00:00 2001 From: Leticia Portella Date: Wed, 5 Dec 2018 12:38:36 -0200 Subject: [PATCH 05/16] Add install of dev-dependencies on circle ci --- .circleci/config.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index 185afb7..2b89c53 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -9,3 +9,6 @@ jobs: command: | sudo pip install flake8 flake8 . + - run: + name: Installing dev-dependencies + command: sudo pip install -r dev-requirements.txt From 0bd1c69ae0b68360cfb0ee88f617314bc1088f58 Mon Sep 17 00:00:00 2001 From: Leticia Portella Date: Wed, 5 Dec 2018 13:55:28 -0200 Subject: [PATCH 06/16] Add dev-requirements file --- dev-requirements.txt | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 dev-requirements.txt diff --git a/dev-requirements.txt b/dev-requirements.txt new file mode 100644 index 0000000..ee4ba01 --- /dev/null +++ b/dev-requirements.txt @@ -0,0 +1,2 @@ +pytest +pytest-asyncio From 1f549385c445c8ad7ccb4f1b40bcca4dea36e623 Mon Sep 17 00:00:00 2001 From: Leticia Portella Date: Wed, 5 Dec 2018 14:02:55 -0200 Subject: [PATCH 07/16] Add working dir on circleci config file --- .circleci/config.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index 2b89c53..ef56e9d 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -3,6 +3,7 @@ jobs: build: docker: - image: circleci/python:3.7.0 + working_directory: ~/nativeauthenticator steps: - run: name: Running flake8 From 4b7f76be8f625cb58fe1a413c3637229705a1c3b Mon Sep 17 00:00:00 2001 From: Leticia Portella Date: Wed, 5 Dec 2018 14:12:49 -0200 Subject: [PATCH 08/16] Add checkout to circleci config file --- .circleci/config.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index ef56e9d..7f35373 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -5,6 +5,7 @@ jobs: - image: circleci/python:3.7.0 working_directory: ~/nativeauthenticator steps: + - checkout - run: name: Running flake8 command: | From 7176b77292b14c77ac2b932eb7101b5cdab62395 Mon Sep 17 00:00:00 2001 From: Leticia Portella Date: Wed, 5 Dec 2018 14:14:36 -0200 Subject: [PATCH 09/16] Add flake8 to dev dependencies --- .circleci/config.yml | 10 ++++------ dev-requirements.txt | 1 + 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 7f35373..3cefb4a 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -7,10 +7,8 @@ jobs: steps: - checkout - run: - name: Running flake8 - command: | - sudo pip install flake8 - flake8 . - - run: - name: Installing dev-dependencies + name: Installing dependencies command: sudo pip install -r dev-requirements.txt + - run: + name: Running flake8 + command: flake8 . diff --git a/dev-requirements.txt b/dev-requirements.txt index ee4ba01..24f3ce7 100644 --- a/dev-requirements.txt +++ b/dev-requirements.txt @@ -1,2 +1,3 @@ pytest pytest-asyncio +flake8 From 89b83264a08f4878922c542d34e6c166f28efc02 Mon Sep 17 00:00:00 2001 From: Leticia Portella Date: Wed, 5 Dec 2018 14:16:30 -0200 Subject: [PATCH 10/16] Add tests on circleci pipeline --- .circleci/config.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index 3cefb4a..f692291 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -12,3 +12,6 @@ jobs: - run: name: Running flake8 command: flake8 . + - run: + name: Running tests + command: pytest From 5527a0228b18f50a63ed0edade68f11b090506e7 Mon Sep 17 00:00:00 2001 From: Leticia Portella Date: Wed, 5 Dec 2018 14:21:11 -0200 Subject: [PATCH 11/16] Move tests folder from root to project folder --- {tests => nativeauthenticator/tests}/test_authenticator.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename {tests => nativeauthenticator/tests}/test_authenticator.py (87%) diff --git a/tests/test_authenticator.py b/nativeauthenticator/tests/test_authenticator.py similarity index 87% rename from tests/test_authenticator.py rename to nativeauthenticator/tests/test_authenticator.py index 44c3ff4..c6aeaf8 100644 --- a/tests/test_authenticator.py +++ b/nativeauthenticator/tests/test_authenticator.py @@ -19,5 +19,5 @@ def tmpcwd(tmpdir): async def test_basic(tmpcwd): auth = NativeAuthenticator() response = await auth.authenticate(Mock(), {'username': 'name', - 'password': '123'}) + 'password': '123'}) assert response == 'name' From c6bfe9a29e2268462de1a729f738e1200d677eaa Mon Sep 17 00:00:00 2001 From: Leticia Portella Date: Wed, 5 Dec 2018 14:30:35 -0200 Subject: [PATCH 12/16] Add which folder to run pytest on circleci --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index f692291..10bd7c1 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -14,4 +14,4 @@ jobs: command: flake8 . - run: name: Running tests - command: pytest + command: pytest nativeauthenticator From 5ca982ce6ecf12e450f4214bbe10e19b379513a0 Mon Sep 17 00:00:00 2001 From: Leticia Portella Date: Wed, 5 Dec 2018 14:41:52 -0200 Subject: [PATCH 13/16] Add init file on tests folder --- nativeauthenticator/tests/__init__.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 nativeauthenticator/tests/__init__.py diff --git a/nativeauthenticator/tests/__init__.py b/nativeauthenticator/tests/__init__.py new file mode 100644 index 0000000..e69de29 From 02ccfec1d806ad652c609cd428cfb269210ae8a4 Mon Sep 17 00:00:00 2001 From: Leticia Portella Date: Wed, 5 Dec 2018 17:42:53 -0200 Subject: [PATCH 14/16] Add install of NativeAuth on CircleCi --- .circleci/config.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 10bd7c1..c28276f 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -8,7 +8,9 @@ jobs: - checkout - run: name: Installing dependencies - command: sudo pip install -r dev-requirements.txt + command: | + pip install . --user + pip install -r dev-requirements.txt --user - run: name: Running flake8 command: flake8 . From cf0efad8723f25def2ad99621190a52d6533cece Mon Sep 17 00:00:00 2001 From: Leticia Portella Date: Thu, 6 Dec 2018 08:51:23 -0200 Subject: [PATCH 15/16] Separeted install commands on Circle Ci --- .circleci/config.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index c28276f..38eb553 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -7,10 +7,11 @@ jobs: steps: - checkout - run: - name: Installing dependencies - command: | - pip install . --user - pip install -r dev-requirements.txt --user + name: Installing Native Authenticator + command: sudo pip install . + - run: + name: Installing Native Authenticator + command: sudo pip install -r dev-requirements.txt - run: name: Running flake8 command: flake8 . From 4c5640c74ef081ece0d96b30c9daf58a96a2fbc0 Mon Sep 17 00:00:00 2001 From: Leticia Portella Date: Wed, 5 Dec 2018 11:12:14 -0200 Subject: [PATCH 16/16] Add docs with sphinx --- docs/Makefile | 19 +++++ docs/conf.py | 173 ++++++++++++++++++++++++++++++++++++++++++++ docs/index.rst | 21 ++++++ docs/make.bat | 35 +++++++++ docs/quickstart.rst | 29 ++++++++ 5 files changed, 277 insertions(+) create mode 100644 docs/Makefile create mode 100644 docs/conf.py create mode 100644 docs/index.rst create mode 100644 docs/make.bat create mode 100644 docs/quickstart.rst diff --git a/docs/Makefile b/docs/Makefile new file mode 100644 index 0000000..298ea9e --- /dev/null +++ b/docs/Makefile @@ -0,0 +1,19 @@ +# Minimal makefile for Sphinx documentation +# + +# You can set these variables from the command line. +SPHINXOPTS = +SPHINXBUILD = sphinx-build +SOURCEDIR = . +BUILDDIR = _build + +# Put it first so that "make" without argument is like "make help". +help: + @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + +.PHONY: help Makefile + +# Catch-all target: route all unknown targets to Sphinx using the new +# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). +%: Makefile + @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) \ No newline at end of file diff --git a/docs/conf.py b/docs/conf.py new file mode 100644 index 0000000..165c4af --- /dev/null +++ b/docs/conf.py @@ -0,0 +1,173 @@ +# -*- coding: utf-8 -*- +# +# Configuration file for the Sphinx documentation builder. +# +# This file does only contain a selection of the most common options. For a +# full list see the documentation: +# http://www.sphinx-doc.org/en/master/config + +# -- Path setup -------------------------------------------------------------- + +# If extensions (or modules to document with autodoc) are in another directory, +# add these directories to sys.path here. If the directory is relative to the +# documentation root, use os.path.abspath to make it absolute, like shown here. +# +# import os +# import sys +# sys.path.insert(0, os.path.abspath('.')) + + +# -- Project information ----------------------------------------------------- + +project = u'Native Authenticator' +copyright = u'2018, Leticia Portella' +author = u'Leticia Portella' + +# The short X.Y version +version = u'' +# The full version, including alpha/beta/rc tags +release = u'' + + +# -- General configuration --------------------------------------------------- + +# If your documentation needs a minimal Sphinx version, state it here. +# +# needs_sphinx = '1.0' + +# Add any Sphinx extension module names here, as strings. They can be +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom +# ones. +extensions = [ +] + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] + +# The suffix(es) of source filenames. +# You can specify multiple suffix as a list of string: +# +# source_suffix = ['.rst', '.md'] +source_suffix = '.rst' + +# The master toctree document. +master_doc = 'index' + +# The language for content autogenerated by Sphinx. Refer to documentation +# for a list of supported languages. +# +# This is also used if you do content translation via gettext catalogs. +# Usually you set "language" from the command line for these cases. +language = None + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +# This pattern also affects html_static_path and html_extra_path. +exclude_patterns = [u'_build', 'Thumbs.db', '.DS_Store'] + +# The name of the Pygments (syntax highlighting) style to use. +pygments_style = 'sphinx' + + +# -- Options for HTML output ------------------------------------------------- + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +# +html_theme = 'alabaster' + +# Theme options are theme-specific and customize the look and feel of a theme +# further. For a list of options available for each theme, see the +# documentation. +# +# html_theme_options = {} + +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". +html_static_path = ['_static'] + +# Custom sidebar templates, must be a dictionary that maps document names +# to template names. +# +# The default sidebars (for documents that don't match any pattern) are +# defined by theme itself. Builtin themes are using these templates by +# default: ``['localtoc.html', 'relations.html', 'sourcelink.html', +# 'searchbox.html']``. +# +# html_sidebars = {} + + +# -- Options for HTMLHelp output --------------------------------------------- + +# Output file base name for HTML help builder. +htmlhelp_basename = 'NativeAuthenticatordoc' + + +# -- Options for LaTeX output ------------------------------------------------ + +latex_elements = { + # The paper size ('letterpaper' or 'a4paper'). + # + # 'papersize': 'letterpaper', + + # The font size ('10pt', '11pt' or '12pt'). + # + # 'pointsize': '10pt', + + # Additional stuff for the LaTeX preamble. + # + # 'preamble': '', + + # Latex figure (float) alignment + # + # 'figure_align': 'htbp', +} + +# Grouping the document tree into LaTeX files. List of tuples +# (source start file, target name, title, +# author, documentclass [howto, manual, or own class]). +latex_documents = [ + (master_doc, 'NativeAuthenticator.tex', u'Native Authenticator Documentation', + u'Leticia Portella', 'manual'), +] + + +# -- Options for manual page output ------------------------------------------ + +# One entry per manual page. List of tuples +# (source start file, name, description, authors, manual section). +man_pages = [ + (master_doc, 'nativeauthenticator', u'Native Authenticator Documentation', + [author], 1) +] + + +# -- Options for Texinfo output ---------------------------------------------- + +# Grouping the document tree into Texinfo files. List of tuples +# (source start file, target name, title, author, +# dir menu entry, description, category) +texinfo_documents = [ + (master_doc, 'NativeAuthenticator', u'Native Authenticator Documentation', + author, 'NativeAuthenticator', 'One line description of project.', + 'Miscellaneous'), +] + + +# -- Options for Epub output ------------------------------------------------- + +# Bibliographic Dublin Core info. +epub_title = project + +# The unique identifier of the text. This can be a ISBN number +# or the project homepage. +# +# epub_identifier = '' + +# A unique identification for the text. +# +# epub_uid = '' + +# A list of files that should not be packed into the epub file. +epub_exclude_files = ['search.html'] \ No newline at end of file diff --git a/docs/index.rst b/docs/index.rst new file mode 100644 index 0000000..bcc2533 --- /dev/null +++ b/docs/index.rst @@ -0,0 +1,21 @@ +.. Native Authenticator documentation master file, created by + sphinx-quickstart on Wed Dec 5 10:28:37 2018. + You can adapt this file completely to your liking, but it should at least + contain the root `toctree` directive. + +Welcome to Native Authenticator's documentation! +================================================ + +Welcome to Native Authenticator's documentation! + +Native Authenticator is a plugin Authenticator for the `JupyterHub `_. Be sure you have JupyterHub already running on your machine before installing this authenticator. + +Indices and tables +================== + +.. toctree:: + :maxdepth: 2 + :caption: Contents: + + quickstart + diff --git a/docs/make.bat b/docs/make.bat new file mode 100644 index 0000000..27f573b --- /dev/null +++ b/docs/make.bat @@ -0,0 +1,35 @@ +@ECHO OFF + +pushd %~dp0 + +REM Command file for Sphinx documentation + +if "%SPHINXBUILD%" == "" ( + set SPHINXBUILD=sphinx-build +) +set SOURCEDIR=. +set BUILDDIR=_build + +if "%1" == "" goto help + +%SPHINXBUILD% >NUL 2>NUL +if errorlevel 9009 ( + echo. + echo.The 'sphinx-build' command was not found. Make sure you have Sphinx + echo.installed, then set the SPHINXBUILD environment variable to point + echo.to the full path of the 'sphinx-build' executable. Alternatively you + echo.may add the Sphinx directory to PATH. + echo. + echo.If you don't have Sphinx installed, grab it from + echo.http://sphinx-doc.org/ + exit /b 1 +) + +%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% +goto end + +:help +%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% + +:end +popd diff --git a/docs/quickstart.rst b/docs/quickstart.rst new file mode 100644 index 0000000..8e20db5 --- /dev/null +++ b/docs/quickstart.rst @@ -0,0 +1,29 @@ +Quickstart +========== + +Native Authenticator is a plugin Authenticator for the +`JupyterHub `_. Be sure you have JupyterHub +already running on your machine before installing this authenticator. + +You must install this authenticator throught the project's repository. This is +a temporary solution until we have the package on the `Pypi `_: + +.. code-block:: bash + + $ git clone https://github.com/jupyterhub/nativeauthenticator.git + $ pip install -e . + + +Then, you must create the configuration file for JupyterHub: + +.. code-block:: bash + + $ jupyterhub --generate-config -f /etc/jupyterhub/jupyterhub_config.py + + +And change the default Authenticator class for our Native Authenticator class: + +`c.JupyterHub.authenticator_class = 'nativeauthenticator.NativeAuthenticator'` + + +Run your JupyterHub normally, and the authenticator will be running with it.