From cf429e56a171e6c5749cf33b95190be95cb81736 Mon Sep 17 00:00:00 2001 From: Filipe Fernandes Date: Thu, 28 Sep 2017 11:19:17 -0300 Subject: [PATCH 01/12] build docs on Travis-CI --- .travis.yml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/.travis.yml b/.travis.yml index 6625cb8..5a9f651 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,3 +1,5 @@ +# use http://lint.travis-ci.org/ to check the file. + language: python sudo: required @@ -48,6 +50,8 @@ matrix: env: TEST_TARGET=default - python: 2.7 env: TEST_TARGET=coding_standards + - python: 3.6 + env: TEST_TARGET=docs allow_failures: - python: 2.7 env: TEST_TARGET=coding_standards @@ -89,3 +93,13 @@ script: - if [[ $TEST_TARGET == 'coding_standards' ]]; then find . -type f -name "*.py" ! -name 'conf.py' | xargs flake8 --max-line-length=100 ; fi + + - if [[ $TEST_TARGET == 'docs' ]]; then + set -e ; + conda install doctr ; + pushd docs ; + make clean html linkcheck ; + popd ; + # python -m doctr deploy --sync .; + # python -m doctr deploy --sync --no-require-master --built-docs docs/_build/html "docs-$TRAVIS_BRANCH" ; + fi From ac153149a0a9956f573c8522762473a81ed264ab Mon Sep 17 00:00:00 2001 From: Filipe Fernandes Date: Thu, 28 Sep 2017 11:20:07 -0300 Subject: [PATCH 02/12] more coding standards tests and sphinx for docs --- requirements-dev.txt | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/requirements-dev.txt b/requirements-dev.txt index 122ec9e..a254343 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -1,9 +1,18 @@ flake8 +flake8-builtins +flake8-comprehensions +flake8-import-order +flake8-mutable +flake8-print +flake8-quotes +pycodestyle mock psycopg2 pymysql pytest pytest-cov +sphinx +nbsphinx # FIXME: I am not sure these are needed. # pysqlite # sqlite From e0bdb10c195e5cbbeda668fe90c54ad92ea31339 Mon Sep 17 00:00:00 2001 From: Filipe Fernandes Date: Thu, 28 Sep 2017 11:20:30 -0300 Subject: [PATCH 03/12] move current doc to docs/NOTES --- {doc => docs/_NOTES}/APIFunctionList.md | 0 {doc => docs/_NOTES}/DatabaseNotes.md | 0 {doc => docs/_NOTES}/MySql.md | 0 {doc => docs/_NOTES}/distribution_notes.txt | 0 {doc => docs/_NOTES}/notes_sqlacodegen.txt | 0 {doc => docs/_NOTES}/wxFormBuilder/dbConfigurationPnl.fbp | 0 6 files changed, 0 insertions(+), 0 deletions(-) rename {doc => docs/_NOTES}/APIFunctionList.md (100%) rename {doc => docs/_NOTES}/DatabaseNotes.md (100%) rename {doc => docs/_NOTES}/MySql.md (100%) rename {doc => docs/_NOTES}/distribution_notes.txt (100%) rename {doc => docs/_NOTES}/notes_sqlacodegen.txt (100%) rename {doc => docs/_NOTES}/wxFormBuilder/dbConfigurationPnl.fbp (100%) diff --git a/doc/APIFunctionList.md b/docs/_NOTES/APIFunctionList.md similarity index 100% rename from doc/APIFunctionList.md rename to docs/_NOTES/APIFunctionList.md diff --git a/doc/DatabaseNotes.md b/docs/_NOTES/DatabaseNotes.md similarity index 100% rename from doc/DatabaseNotes.md rename to docs/_NOTES/DatabaseNotes.md diff --git a/doc/MySql.md b/docs/_NOTES/MySql.md similarity index 100% rename from doc/MySql.md rename to docs/_NOTES/MySql.md diff --git a/doc/distribution_notes.txt b/docs/_NOTES/distribution_notes.txt similarity index 100% rename from doc/distribution_notes.txt rename to docs/_NOTES/distribution_notes.txt diff --git a/doc/notes_sqlacodegen.txt b/docs/_NOTES/notes_sqlacodegen.txt similarity index 100% rename from doc/notes_sqlacodegen.txt rename to docs/_NOTES/notes_sqlacodegen.txt diff --git a/doc/wxFormBuilder/dbConfigurationPnl.fbp b/docs/_NOTES/wxFormBuilder/dbConfigurationPnl.fbp similarity index 100% rename from doc/wxFormBuilder/dbConfigurationPnl.fbp rename to docs/_NOTES/wxFormBuilder/dbConfigurationPnl.fbp From 291d5ec12c0e982dcbb655e1a9edc788a7a03a1b Mon Sep 17 00:00:00 2001 From: Filipe Fernandes Date: Thu, 28 Sep 2017 11:20:55 -0300 Subject: [PATCH 04/12] sphinx-quickstart --- docs/Makefile | 20 +++++ docs/source/conf.py | 171 +++++++++++++++++++++++++++++++++++++ docs/source/credits.rst | 10 +++ docs/source/index.rst | 22 +++++ docs/source/installing.rst | 72 ++++++++++++++++ docs/source/modules.rst | 7 ++ 6 files changed, 302 insertions(+) create mode 100644 docs/Makefile create mode 100644 docs/source/conf.py create mode 100644 docs/source/credits.rst create mode 100644 docs/source/index.rst create mode 100644 docs/source/installing.rst create mode 100644 docs/source/modules.rst diff --git a/docs/Makefile b/docs/Makefile new file mode 100644 index 0000000..e421db0 --- /dev/null +++ b/docs/Makefile @@ -0,0 +1,20 @@ +# Minimal makefile for Sphinx documentation +# + +# You can set these variables from the command line. +SPHINXOPTS = +SPHINXBUILD = python -msphinx +SPHINXPROJ = ODM2PythonAPI +SOURCEDIR = source +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/source/conf.py b/docs/source/conf.py new file mode 100644 index 0000000..fdfcc03 --- /dev/null +++ b/docs/source/conf.py @@ -0,0 +1,171 @@ +# -*- coding: utf-8 -*- +# +# ODM2PythonAPI documentation build configuration file, created by +# sphinx-quickstart on Thu Sep 28 11:03:57 2017. +# +# This file is execfile()d with the current directory set to its +# containing dir. +# +# Note that not all possible configuration values are present in this +# autogenerated file. +# +# All configuration values have a default; values that are commented out +# serve to show the default. + +# 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('.')) + + +# -- 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 = [ + 'sphinx.ext.autodoc', + 'sphinx.ext.viewcode', + 'sphinx.ext.githubpages' +] + +# 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' + +# General information about the project. +project = u'ODM2PythonAPI' +copyright = u'2017, Stephanie Reeder' +author = u'Stephanie Reeder' + +# The version info for the project you're documenting, acts as replacement for +# |version| and |release|, also used in various other places throughout the +# built documents. + +from odm2api._version import get_versions +version = release = get_versions()['version'] +del get_versions + +# 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 patterns also effect to html_static_path and html_extra_path +exclude_patterns = [] + +# The name of the Pygments (syntax highlighting) style to use. +pygments_style = 'sphinx' + +# If true, `todo` and `todoList` produce output, else they produce nothing. +todo_include_todos = False + + +# -- 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. +# +# This is required for the alabaster theme +# refs: http://alabaster.readthedocs.io/en/latest/installation.html#sidebars +html_sidebars = { + '**': [ + 'about.html', + 'navigation.html', + 'relations.html', # needs 'show_related': True theme option to display + 'searchbox.html', + 'donate.html', + ] +} + + +# -- Options for HTMLHelp output ------------------------------------------ + +# Output file base name for HTML help builder. +htmlhelp_basename = 'ODM2PythonAPIdoc' + + +# -- 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, 'ODM2PythonAPI.tex', u'ODM2PythonAPI Documentation', + u'Stephanie Reeder', '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, 'odm2pythonapi', u'ODM2PythonAPI 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, 'ODM2PythonAPI', u'ODM2PythonAPI Documentation', + author, 'ODM2PythonAPI', 'One line description of project.', + 'Miscellaneous'), +] diff --git a/docs/source/credits.rst b/docs/source/credits.rst new file mode 100644 index 0000000..4ab87dd --- /dev/null +++ b/docs/source/credits.rst @@ -0,0 +1,10 @@ +Credits +------- + +This work was supported by National Science Foundation Grants +`EAR-1224638 `__ +and +`ACI-1339834 `__. +Any opinions, findings, and conclusions or recommendations expressed in +this material are those of the author(s) and do not necessarily reflect +the views of the National Science Foundation. diff --git a/docs/source/index.rst b/docs/source/index.rst new file mode 100644 index 0000000..03814c9 --- /dev/null +++ b/docs/source/index.rst @@ -0,0 +1,22 @@ +ODM2 Python API +=============== + +A Python-based application programmer's interface for the `Observations Data Model 2 (ODM2) `__. +`List of current and planned functions included in the +API `__ + + +.. toctree:: + :maxdepth: 2 + :caption: Contents: + + installing + modules + credits + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`modindex` +* :ref:`search` diff --git a/docs/source/installing.rst b/docs/source/installing.rst new file mode 100644 index 0000000..eb3cf4a --- /dev/null +++ b/docs/source/installing.rst @@ -0,0 +1,72 @@ +Installation +------------ + +The easiest and most reliable way to install the ODM2 Python API +(``odm2api``) is using the `Conda package management +system `__ via either +`Anaconda `__ or +`Miniconda `__. To start using +conda (if it's not your system default), add conda to the PATH; on +MacOSX and Linux, it's something like +``export PATH=$HOME/miniconda/bin:$PATH``, but the exact path may vary. + +To activate a conda environment, say, "myenv": + +.. code:: bash + + activate myenv # On Windows + source activate myenv # On MacOSX or Linux + +**Note:** ``odm2api`` currently is only tested on Python 2.7. Some +changes have been made to support Python 3.x, but they haven't been +tested thoroughly. + +Latest release, from ODM2 anaconda.org channel +---------------------------------------------- + +The `latest ``odm2api`` +release `__ is available +on the `ODM2 anaconda.org channel `__ +for all major OS paltforms (linux, OSX, win32/win64). To install it on +an existing conda environment: + +:: + + conda install -c odm2 odm2api + +All dependencies are installed, including Pandas and its dependencies +(numpy, etc). + +To create a new environment "myenv" with the ``odm2api`` package: + +:: + + conda create -n myenv -c odm2 python=2.7 odm2api + + +Installing the development version from the ``master`` branch on GitHub +----------------------------------------------------------------------- + +**Note from 4/26/2016:** These instructions may be slightly outdated. +Follow these directions for installing the bleeding edge GitHub master +branch, mainly for development and testing purposes. + +To create a new environment "myenv" with ``odm2api``, first download the +conda environment file +`condaenvironment\_1.yml `__. +Go to the directory where ``condaenvironment_1.yml`` was downloaded. +Then, on a terminal shell: + +.. code:: bash + + conda env create -n myenv --file py2_conda_environment.yml + +Activate the new environment, then install ``odm2api`` into the +environment: + +.. code:: bash + + activate myenv # On Windows + source activate myenv # On MacOSX or Linux + + pip install --process-dependency-links git+https://github.com/ODM2/ODM2PythonAPI.git diff --git a/docs/source/modules.rst b/docs/source/modules.rst new file mode 100644 index 0000000..9f4fe1b --- /dev/null +++ b/docs/source/modules.rst @@ -0,0 +1,7 @@ +:mod:`ODMconnection` +--------------------- + +.. automodule:: odm2api.ODMconnection + :members: + :undoc-members: + :show-inheritance: From ed65a54e6233d09023846d8bcc36918942c08ac6 Mon Sep 17 00:00:00 2001 From: Filipe Fernandes Date: Thu, 28 Sep 2017 11:31:31 -0300 Subject: [PATCH 05/12] fix links --- docs/source/credits.rst | 4 ++-- docs/source/index.rst | 2 +- docs/source/installing.rst | 22 +++++++--------------- 3 files changed, 10 insertions(+), 18 deletions(-) diff --git a/docs/source/credits.rst b/docs/source/credits.rst index 4ab87dd..9ba5d88 100644 --- a/docs/source/credits.rst +++ b/docs/source/credits.rst @@ -2,9 +2,9 @@ Credits ------- This work was supported by National Science Foundation Grants -`EAR-1224638 `__ +`EAR-1224638 `__ and -`ACI-1339834 `__. +`ACI-1339834 `__. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation. diff --git a/docs/source/index.rst b/docs/source/index.rst index 03814c9..02f02c7 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -1,7 +1,7 @@ ODM2 Python API =============== -A Python-based application programmer's interface for the `Observations Data Model 2 (ODM2) `__. +A Python-based application programmer's interface for the `Observations Data Model 2 (ODM2) `__. `List of current and planned functions included in the API `__ diff --git a/docs/source/installing.rst b/docs/source/installing.rst index eb3cf4a..a1b04ce 100644 --- a/docs/source/installing.rst +++ b/docs/source/installing.rst @@ -3,11 +3,11 @@ Installation The easiest and most reliable way to install the ODM2 Python API (``odm2api``) is using the `Conda package management -system `__ via either -`Anaconda `__ or -`Miniconda `__. To start using +system `__ via either +`Anaconda `__ or +`Miniconda `__. To start using conda (if it's not your system default), add conda to the PATH; on -MacOSX and Linux, it's something like +OS X and Linux, it's something like ``export PATH=$HOME/miniconda/bin:$PATH``, but the exact path may vary. To activate a conda environment, say, "myenv": @@ -27,7 +27,7 @@ Latest release, from ODM2 anaconda.org channel The `latest ``odm2api`` release `__ is available on the `ODM2 anaconda.org channel `__ -for all major OS paltforms (linux, OSX, win32/win64). To install it on +for all major OS paltforms (linux, OS X, win32/win64). To install it on an existing conda environment: :: @@ -47,19 +47,13 @@ To create a new environment "myenv" with the ``odm2api`` package: Installing the development version from the ``master`` branch on GitHub ----------------------------------------------------------------------- -**Note from 4/26/2016:** These instructions may be slightly outdated. -Follow these directions for installing the bleeding edge GitHub master -branch, mainly for development and testing purposes. - -To create a new environment "myenv" with ``odm2api``, first download the -conda environment file -`condaenvironment\_1.yml `__. -Go to the directory where ``condaenvironment_1.yml`` was downloaded. +To create a new environment "myenv" with ``odm2api``, first clone the repository. Then, on a terminal shell: .. code:: bash conda env create -n myenv --file py2_conda_environment.yml + conda create --name myenv python=2.7 --file requirements.txt --file requirements-dev.txt Activate the new environment, then install ``odm2api`` into the environment: @@ -68,5 +62,3 @@ environment: activate myenv # On Windows source activate myenv # On MacOSX or Linux - - pip install --process-dependency-links git+https://github.com/ODM2/ODM2PythonAPI.git From 1c2b8ac36c905b9f7279d202d392e4cf13b45185 Mon Sep 17 00:00:00 2001 From: Filipe Fernandes Date: Thu, 28 Sep 2017 11:48:18 -0300 Subject: [PATCH 06/12] config Alabaster --- docs/source/conf.py | 7 +++++-- requirements-dev.txt | 5 +++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/docs/source/conf.py b/docs/source/conf.py index fdfcc03..4b4a399 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -91,7 +91,11 @@ # further. For a list of options available for each theme, see the # documentation. # -# html_theme_options = {} +html_theme_options = { + 'logo': 'logo.png', + 'github_repo': 'ODM2', + 'github_repo': 'ODM2PythonAPI', +} # 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, @@ -113,7 +117,6 @@ ] } - # -- Options for HTMLHelp output ------------------------------------------ # Output file base name for HTML help builder. diff --git a/requirements-dev.txt b/requirements-dev.txt index a254343..71bb791 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -1,3 +1,4 @@ +alabaster flake8 flake8-builtins flake8-comprehensions @@ -5,14 +6,14 @@ flake8-import-order flake8-mutable flake8-print flake8-quotes -pycodestyle mock +nbsphinx psycopg2 +pycodestyle pymysql pytest pytest-cov sphinx -nbsphinx # FIXME: I am not sure these are needed. # pysqlite # sqlite From b5d202fe521b6088d269c482c6cb888f052dff11 Mon Sep 17 00:00:00 2001 From: Filipe Fernandes Date: Thu, 28 Sep 2017 11:53:57 -0300 Subject: [PATCH 07/12] config Alabaster --- docs/source/conf.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/source/conf.py b/docs/source/conf.py index 4b4a399..b05f916 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -93,8 +93,12 @@ # html_theme_options = { 'logo': 'logo.png', - 'github_repo': 'ODM2', + 'logo_name': 'ODM2', + 'github_user': 'ODM2', 'github_repo': 'ODM2PythonAPI', + 'github_banner': True, + 'travis_button': True, + 'fixed_sidebar': True, } # Add any paths that contain custom static files (such as style sheets) here, From 2a6f92942ef4b9437d4261d217f0a316f077509a Mon Sep 17 00:00:00 2001 From: Filipe Fernandes Date: Thu, 28 Sep 2017 11:54:14 -0300 Subject: [PATCH 08/12] add logo --- docs/source/_static/logo.png | Bin 0 -> 11909 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/source/_static/logo.png diff --git a/docs/source/_static/logo.png b/docs/source/_static/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..ce53b6df89da4343115537507d23d058d22964bc GIT binary patch literal 11909 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 Date: Thu, 28 Sep 2017 12:01:42 -0300 Subject: [PATCH 09/12] minor corrections --- docs/source/index.rst | 3 --- docs/source/installing.rst | 18 ++++++++---------- 2 files changed, 8 insertions(+), 13 deletions(-) diff --git a/docs/source/index.rst b/docs/source/index.rst index 02f02c7..554e7ae 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -2,9 +2,6 @@ ODM2 Python API =============== A Python-based application programmer's interface for the `Observations Data Model 2 (ODM2) `__. -`List of current and planned functions included in the -API `__ - .. toctree:: :maxdepth: 2 diff --git a/docs/source/installing.rst b/docs/source/installing.rst index a1b04ce..dc9b164 100644 --- a/docs/source/installing.rst +++ b/docs/source/installing.rst @@ -8,7 +8,7 @@ system `__ via either `Miniconda `__. To start using conda (if it's not your system default), add conda to the PATH; on OS X and Linux, it's something like -``export PATH=$HOME/miniconda/bin:$PATH``, but the exact path may vary. +``export PATH=$HOME/miniconda3/bin:$PATH``, but the exact path may vary. To activate a conda environment, say, "myenv": @@ -24,15 +24,14 @@ tested thoroughly. Latest release, from ODM2 anaconda.org channel ---------------------------------------------- -The `latest ``odm2api`` -release `__ is available +The `latest release `__ is available on the `ODM2 anaconda.org channel `__ -for all major OS paltforms (linux, OS X, win32/win64). To install it on +for all major OS platforms (linux, OS X, win32/win64). To install it on an existing conda environment: :: - conda install -c odm2 odm2api + conda install odm2api --channel odm2 All dependencies are installed, including Pandas and its dependencies (numpy, etc). @@ -44,16 +43,15 @@ To create a new environment "myenv" with the ``odm2api`` package: conda create -n myenv -c odm2 python=2.7 odm2api -Installing the development version from the ``master`` branch on GitHub ------------------------------------------------------------------------ +Installing the development version +---------------------------------- To create a new environment "myenv" with ``odm2api``, first clone the repository. Then, on a terminal shell: .. code:: bash - conda env create -n myenv --file py2_conda_environment.yml - conda create --name myenv python=2.7 --file requirements.txt --file requirements-dev.txt + conda create --name myenv python=2.7 --file requirements.txt --file requirements-dev.txt -c odm2 Activate the new environment, then install ``odm2api`` into the environment: @@ -61,4 +59,4 @@ environment: .. code:: bash activate myenv # On Windows - source activate myenv # On MacOSX or Linux + source activate myenv # On OS X or Linux From 2205e3850a86197a290a63b8a668cc7a106a5cbc Mon Sep 17 00:00:00 2001 From: Filipe Fernandes Date: Thu, 28 Sep 2017 12:05:19 -0300 Subject: [PATCH 10/12] add these later --- .travis.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 5a9f651..190f8fa 100644 --- a/.travis.yml +++ b/.travis.yml @@ -100,6 +100,4 @@ script: pushd docs ; make clean html linkcheck ; popd ; - # python -m doctr deploy --sync .; - # python -m doctr deploy --sync --no-require-master --built-docs docs/_build/html "docs-$TRAVIS_BRANCH" ; fi From 75d0f02aede99fab2e5cddf62a2f2adfae2eda2d Mon Sep 17 00:00:00 2001 From: Filipe Fernandes Date: Thu, 28 Sep 2017 12:24:27 -0300 Subject: [PATCH 11/12] try fetching packages from cf --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 190f8fa..2e1a961 100644 --- a/.travis.yml +++ b/.travis.yml @@ -76,6 +76,7 @@ before_install: - export PATH="$HOME/miniconda/bin:$PATH" - conda config --set always_yes yes --set changeps1 no --set show_channel_urls true - conda update conda + - conda config --add channels conda-forge --force - conda config --add channels odm2 --force - conda create --name TEST python=$TRAVIS_PYTHON_VERSION --file requirements.txt --file requirements-dev.txt - source activate TEST From 427c78f0ae7f4bc15905332977e747457cf08b1b Mon Sep 17 00:00:00 2001 From: Filipe Fernandes Date: Thu, 28 Sep 2017 12:58:54 -0300 Subject: [PATCH 12/12] doctr --- .travis.yml | 10 ++++++++++ docs/source/conf.py | 1 - github_deploy_key.enc | 1 + 3 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 github_deploy_key.enc diff --git a/.travis.yml b/.travis.yml index 2e1a961..830a5de 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,6 +10,10 @@ cache: directories: - $HOME/miniconda +env: + global: + - secure:` "yxu/J/VNed5R6Fs1D5YJZ9hN3bMFAOBxFOkVyoxSfzTsDWeJ0rNLMljn7TTFeBBFpNI6PG3RFIzeOd3AAbtZKr4dQ/aL70woQ2nF7lNDbofudE+bdc/K0fKhS4dZZeMKyeRI3LItQgGJ1vSOYDGfpq0EhOd17d1oo9pqjDli+pTzjJ6qvDQ41e5mmRPVXIqJ2mLpnf+jZdvHJTzog0d4kS+BQOqhLYe1AATyYyHFrs95kroAVkLbuPhQ0KVQX3h8NV3OD+x+qQjmM2Zl6mygoABh8jbkAv2/Kx/WcBR/rLO6WG2z+ZBwdP/2R7/Gh0Tac9An+Kvf8L1GCdyeMoS55XlUTwyqbpOQydASs8PlGnQuNFk3QaeJcjWJgFJjoYUDC8yQt/avkjkiPPa6kraUQalEYD66t5dKrL2UICCUUJ4lXkHGD532tLOFS2dJTRRgUQD/d8q4cNzdNY9X4LaHYDJxhFWi+sV/gOYrSSc1uF4pxlpU8naBR/eaJHN1+eGb5h76LC1uF7zcjYLFmsP+YmMVwyVKU3bbcPmHNsoDgrtAY0bF4gDVLDeqmZzt4OLz9ATtHNRST9yEjmiyjUXX9O+kXYFGOd14XMw+S0vdqwSPeobavFTaUmz0+AUQiPkJf0FpLbHmUHfY/0m3PvlwQYFyskgYzjjhNtR362fCtgg=" + # Removing the directory will remove the env but leave the cached packages # at $HOME/miniconda/pkgs. That is a win-win because when re-creating the # env we will download only the new packages. @@ -101,4 +105,10 @@ script: pushd docs ; make clean html linkcheck ; popd ; + python -m doctr deploy --sync .; + python -m doctr deploy --sync --no-require-master --built-docs docs/build/html "docs-$TRAVIS_BRANCH" ; fi + +doctr: + require-master: true + sync: False diff --git a/docs/source/conf.py b/docs/source/conf.py index b05f916..80574df 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -33,7 +33,6 @@ extensions = [ 'sphinx.ext.autodoc', 'sphinx.ext.viewcode', - 'sphinx.ext.githubpages' ] # Add any paths that contain templates here, relative to this directory. diff --git a/github_deploy_key.enc b/github_deploy_key.enc new file mode 100644 index 0000000..73ce4ef --- /dev/null +++ b/github_deploy_key.enc @@ -0,0 +1 @@ +gAAAAABZzR8jV8tLA-UYXPm9LOmRhSt9G3CH9z04Zu1RqllofDhvfqVeLJzc14API4ebFXyxV40utk-4vYE-613lUhdGk9ZMotUUszBfnzmXMKAJL0iu-59SgIM8jTMJR09IutvRzmO6bL9y3LOFvbfMBL9aXRqPag36SJzQqn5v8p9wefZGoGZTrP_0n2Umt_qFrh6HCFQD3SBzoPyXHj2V8C07qjHQAFt9myH_JJpgET0vz3S0DOvHjCqDYFBtWw5B3JS7ymg8xdnD7Yq7q-gnQn6-FO4IYrCQna_CN0FjE8AA3lnaxaSiD3D_vsl_5Pyq0qb2AXZLk7QH3dULFGTgheVEmpumVjDsjX2N8dgY2r6e6YWDxeEvNNjtUaoJHweiEBEHgVPUvdEZlU-MQHBom3jYr-mijNU8AHLpKs4ybHSykl5EA0RyV3yZ0KsDxWKoi8U6OalHZOuUJmlwtAsQKMslxhQP-h2Fdw9MVuAnzugpZxFr2uR99pivkeybyWiRXaKTcFb2C4-d1Y9I9sFgOPtiImIFwpyt0vYLd5md-RusBKXLAmxVS8YK28SMEPxsJ6Bs9BYumgo3-sOr2PfUJKAzTrEl47XEevrMd_GuqI-Cj7RmhlKWh70BRbnHxUDxy1kO8AJOsCbFUgAT_yz_5LbwIXkk8f1HQAAMUo1ZeiyVr9Ju5f8MRel0K7wmHP3AnG-TS4AmrSq88ItZr5dy7gsFDjTKe_g7KRo75xo7mI9IgJSzs3LE7e-cHr57-gMzsfCgW8d61mT8gR3IXjcuSKEaozJEZBsk-EJbiKAEldPFkYUJC41tpv_64M7gXLAzxcRCf3Dx2WAd0j3QFuFn0gZhSCckaDG0jemQVnPbJtzChgocpHWqjFkB_akP5qtq8XSmPaWhVf7Jq-AKU3PjC17FF0_BNgBj8aJ7ACQswQhnV_D-qqswDX4QZgQ0C58_jXGR4oyDVo0NkiG7JYMsp7lHyXoomRyG1l3D0Etyspac8EZ43m5Jnn90AN2OZ4qNHDzjDeGzYZP3nZuitqwVxk82VmCJZu7LCgykWp7hGMIMEJDV1zjWZoQ15YziBbZWUxEjpP6RjijiQmIC9J8yX9HLrrFImimzc-FAOaNd8D8KM_Sn7_u7xvfegJwMgvR0PsrXnUc_YEfR5lBqQTv03AzzQorH5FbSfOooUhq64gzm3YCDUZislM0Z3G6Poc_bbWPzHDQTCaFub8NPR55JtI4FhIr9eBBGsDomrE9nEAn2yYjDV6I0whwcCigieK8axiyA9O0KZT0buyhbWrfXoUAvo8-lWoydNM013aFLI-ZD9pKazauTeTamS5NQoXOdgOKXLzP3E409qlyFZdrz4bUDV2l-0CYX6r6WmnfeapwyIiTEOLy1wK-ccizdWuq8oGgDnjIfU0Fw7-hFNU0Q8-FtMd9Pn841qZh3Tnr3yZQNYWP0lX9ibqY4L1R59kI61ss4RkK4N0uZcVa0j8awvoMaN9UPqzJS36z0ibvjLgZEChTgK0vXAKy9qAQra20R5UBMKqcgFLRHv4V0KluL9Ml480_km2UGXj1xlOBCq5rQ00iceUTKkkjLbkjRAfOH8LPq1DmNGrz4W-LZgd7q6I_y6zWkCPsaXVUelv_Hogz14kpXm5Ox_HhlwPtfBeLv6Jk0fjhj3I3YCg9KiLDIXuzj8P3Wd76pIK4YB4l0D6M8pHfPX2x1-55tPSoj88Bk43S8Wgv_gQhxtqcAQt8SJaroacN3m5hGlEpIqQNQOHgj9emdGekmPJSN6UXXHXOqCWOo6wAp9DFpiUyo-gox1Gu3YMU10yt17ZDVTbB8G6xZ-VKDinsjVlmM92OasLJth3ec3acrz_c-QeFg1bBQwuciMRqGrbJr5CoHOxWXiF7GVrzh0borwzNhl6YQrBYR7lykRVksOCpOT69eKse75KUUdBqgH4kNoQoFpa32P53s1wEfKfBq3ZrSIRIREn6CpliYtF8ugcrO7bS1v7V-UQRFEGlfowzOqiTKqPHFeO2TJWcqCBiTmkOQz6T5yrUSdWLqo9aNl1mSJxQ27ouqF8AIplwLeNofFIJcvbj_3bJfPNXemLtpk2EUFATr39XKStjoBhMwuSTZg1xmhFKSFmg5z4O250xntOPruJIZ8-y8FdMeV-5RMpD_wdAm4PdWHXbRM_9fZ36ma7NsuKfI2-l_8dS5YJ3QxxFYGZAKhiIx8khKA_f_eo4WvjVulTJdMmdW5bI8c6HyNoZv3tbiIFILr-9vEmWzM2ujidpU35a42ONlKpgLeQzrqdi_z5M6l6NpqmJ1E29bskxX5nihbd3tjJY4NUQTugwTpOyzYMqDULtK0yo9fSLUuDDdK3clKvmIHsghqAMNH9Ya6j1SnZNE5Qy9-R9qkf2fUDlal8CrcIcVze1GAXTnXum1FdKyl7BHkrgm3V9vsEEyhdzj4ldp4Ibz6RLZ2pqXSIhB9XSHYm63ur6kwKcNHvZCNooLXsfz43h8GVcVJrsFOFNFfp1MU0VrB9H2xcGemUm1DfroZK0Ymv6rAvAbbOtxN9ZtDiAAVaI-1ZpW_stxS__hIr_PI7m6wP0Fc64zBfJPonUiCke2bZt9nJNNM0hmDsAzXIoooPVWgdAVGKDG8TDF2Oa0RSYyJ9yt6OJ5wH5GncHTOw4wEnAQhWZee4w65fufNuSNy-nQpn4G2zoM4TkN8m6BVKCUoef3xY2ByJVk50SgEvR5xC2F93BNXFoBzVryFxHY4luuJAnx4nf7AEevKiGefBJyHPAGFfckYOr4_nT2F01aJ1O02tavP0AMyZSiFaBMb1MKfNY99hQhlUdIS68bI2KP7l6QQiFrh0u1U3Mj0WKBeqKWGH3Uy5_QRQeXfcat53GMULB9iGkG0UHsHT4VkQWIA8fuk160IZtolpAiTAMsTXEt31l61AlJIV3XXsf4BhdUKSsj8usENpRDosQx56q1sqFbGl80KQwToYiZzig3iTLhszUUor9BEYDmvhpswAh5jWTppzuSg5xDTmpELVniy9_95MA70iaakbKOgztgT90qJdMJFDpAkl_qzYWJmbamYmZUUf93ZgwzAohPYT865dab_2u9HNJTA4r9Fq1R86keptr3Cm3Gb3lZ4vD1HifwiEhBwzvdhyD7VWJAaxl9ekE0w68keKtkbK5HIrN5lhEe5nk_fVzXvcd5SE6pSqw5XtXYz2NKaubcJ0VBLkcgOwq-MY95cirbm_ocM99VhZIi2E74s-zxb8sJleMH4z1Ioe06ss_s9bN1xZuLvzEkY53sDYCBzihXBmoBsSWdFdz-pZ5puqU4TH4Yz-nmR0jbAp2FHimVxCP4sgNMJsXLlaVJwcSkMBZH0ZP4zE_gbRmev9t-JrbGeUPTzrHlP4pQYs-AwRNdgojllZhI6R2RqvhRFkZgpOZPgJbrHO6yHAT8pPGBRSLkPIsNGAHFjz0uCAk_LJsLqvNnGjthJJPhFHp6WOgyFAU8dN06JzPELVW6o5LEg-EJW022uS4B7txzEcHp90iwC6Wjyts8RDVgUX9o0tjnvmh78le_XDo8mYOS2uMAuZBbk988SRgWZDIECNJV_4SaUZgDkJPk3sb-KaQ_E924KL-tjiqGyiEq7ylvyQp6hgmylfLeAf8z4hTVPSJ0y4ibJ_ZlUpSUgnbwTAo0JhOGna0EwRF7F-CbsMDggFRfNsNvyzzCfhPiYoh6BPn9uxusPt1yofstqpcNep4MGbuoj28rPK5BMu7jP2id1lBT252NGI2spSWcAa4kdBlAoQXFj1czr8MeEhj2HkjLYGbupTaYLo-C0XXabmp4mhTh3TQ0uJxnz6RkrXPqZ1jD9CtnMVcavuubGag__CC1-6t0_wmIgm3-PJG1Zs8km47lgxqXynEzebAUbUm9Rs6mq5GpDRzFfAtLi6cf3OY4nEHdHoJzSZv-sd_XMkx2JDxnWsUtjgCCsnAaYEgVbdZ0wT_qy9V0pDC7nZhPacR8Zce3diIw3bjUagtT2P_SzLCVMt8KYJY983Y04OKuV75p59QGa4Tcd7BphKJ68AUtKR1sjsEJx2ktgaPfQI0UC7MmhEe9qdF8_KB7PNTKKZxhMfStciGKmjZb1Zrmw2wunmuNGgDLISAWpGjQ-2OWePfQYi_Wdn-ful4q6G7agrdwwMD3kM5a8QTBdaoXOYa_ZvHY51ek1JEI-5PpBA8KJAhnHgm84GCa7QKnKXYgZXmiRwOF_jHHlLjNvDUW5SgAeB9KaLa7wC-A8PZ-ybXiq9EAbcFKVeav1WAMFC3MhJW3pfKHOC4tp6pfaCPMqQoWA-8Z6lUyBwcBVyTsCVZLxXCWKqcD3srDxac8JCqqepjRt8u89V_FS4s01eSjN4yad56q51amAax0zrUpaZ0= \ No newline at end of file