diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index abc50b24075ff92f18832462441b969f54908035..6fcbd43486f29bc775970dc2034376f764d2c9cb 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,6 +1,7 @@ stages: - install - test + - deploy .junit_template: &junit_definition artifacts: @@ -35,3 +36,15 @@ test_py37: --cov-report=xml --cov-report=term <<: *junit_definition + +pages: + stage: deploy + image: python:3.7-alpine + script: + - pip install -U sphinx + - sphinx-build -b html docs public + artifacts: + paths: + - public + only: + - master diff --git a/README.md b/README.md index e6ab968198bdddc9baa47b9753b3bb0347bacb14..c944d8da4777c2e940b6e10c9f1115a020077ecb 100644 --- a/README.md +++ b/README.md @@ -7,4 +7,7 @@ https://gitlab.in2p3.fr/escape2020/wp3/eossr/-/commits/master) https://gitlab.in2p3.fr/escape2020/wp3/eossr/-/commits/master) -ESCAPE OSSR library \ No newline at end of file +ESCAPE OSSR library + +* Code: https://gitlab.in2p3.fr/escape2020/wp3/eossr +* Documentation: https://escape2020.pages.in2p3.fr/wp3/eossr/ \ No newline at end of file diff --git a/docs/Makefile b/docs/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..d4bb2cbb9eddb1bb1b4f366623044af8e4830919 --- /dev/null +++ b/docs/Makefile @@ -0,0 +1,20 @@ +# Minimal makefile for Sphinx documentation +# + +# You can set these variables from the command line, and also +# from the environment for the first two. +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) diff --git a/docs/README.rst b/docs/README.rst new file mode 100644 index 0000000000000000000000000000000000000000..d51cf8301a8feabeac3cff8e39ed0e6c12d06e08 --- /dev/null +++ b/docs/README.rst @@ -0,0 +1,5 @@ +README +====== + +.. literalinclude:: ../README.md + :lines: 9- \ No newline at end of file diff --git a/docs/conf.py b/docs/conf.py new file mode 100644 index 0000000000000000000000000000000000000000..06aaace4cde11d7265ae399c352cdff6a7834af4 --- /dev/null +++ b/docs/conf.py @@ -0,0 +1,70 @@ +# Configuration file for the Sphinx documentation builder. +# +# This file only contains a selection of the most common options. For a full +# list see the documentation: +# https://www.sphinx-doc.org/en/master/usage/configuration.html + +# -- 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 +import shutil +sys.path.insert(0, os.path.abspath('..')) +notebook_dir = '../eossr/examples/notebooks/' +if not os.path.exists('examples'): + os.mkdir('examples') +[shutil.copy(notebook_dir + file, 'examples') for file in os.listdir(notebook_dir) if file.endswith('.ipynb')] + +# -- Project information ----------------------------------------------------- + +project = 'eossr' +copyright = '2021, ESCAPE WP3-OSSR developers and contributors' +author = 'Thomas Vuillaume & Enrique Garcia' + +release = '' + +# -- General configuration --------------------------------------------------- + +# 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.napoleon' +] + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] + +# Parsers +source_parsers = { + '.md': 'recommonmark.parser.CommonMarkParser', +} + +# The suffix(es) of source filenames. +# You can specify multiple suffix as a list of string: +# +source_suffix = ['.rst', '.md'] + + +# 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 = ['_build', 'Thumbs.db', '.DS_Store'] + + +# -- 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' + +# 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'] \ No newline at end of file diff --git a/docs/docstring.rst b/docs/docstring.rst new file mode 100644 index 0000000000000000000000000000000000000000..73fe2f0f1b40e7e18fbd522ee40816bcea925c31 --- /dev/null +++ b/docs/docstring.rst @@ -0,0 +1,22 @@ +===================== +Package Documentation +===================== + +Autogenerated documentation from docstrings. + +API module +------------- + +.. automodule:: eossr.api.zenodo + :members: + :undoc-members: + :show-inheritance: + + +Metadata module +---------------------- + +.. automodule:: eossr.metadata.codemeta2zenodo + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/examples.rst b/docs/examples.rst new file mode 100644 index 0000000000000000000000000000000000000000..cebfa10790e2eacbedbf796293955504762af59f --- /dev/null +++ b/docs/examples.rst @@ -0,0 +1,10 @@ +Examples +======== + +Work in progress. + +.. toctree:: + :maxdepth: 0 + + examples/Harvest_zenodo.ipynb + ../examples/notebooks/Harvest_zenodo.ipynb diff --git a/docs/index.rst b/docs/index.rst new file mode 100644 index 0000000000000000000000000000000000000000..23c80d6a0c9f366bc38c13f09d13b075175f7846 --- /dev/null +++ b/docs/index.rst @@ -0,0 +1,26 @@ +.. eossr documentation master file, created by + sphinx-quickstart on Wed Sep 8 16:24:23 2021. + You can adapt this file completely to your liking, but it should at least + contain the root `toctree` directive. + +Welcome to eossr's documentation! +================================= + +.. toctree:: + :maxdepth: 2 + :caption: Contents: + + README + license + docstring + examples + + + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`modindex` +* :ref:`search` + diff --git a/docs/license.rst b/docs/license.rst new file mode 100644 index 0000000000000000000000000000000000000000..4466ef5ee9750bfaedd1fc3e0b18c044a7703b1c --- /dev/null +++ b/docs/license.rst @@ -0,0 +1,4 @@ +License +============= + +.. include:: ../LICENSE \ No newline at end of file diff --git a/docs/make.bat b/docs/make.bat new file mode 100644 index 0000000000000000000000000000000000000000..2119f51099bf37e4fdb6071dce9f451ea44c62dd --- /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% %O% +goto end + +:help +%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% + +:end +popd diff --git a/eossr/api/__init__.py b/eossr/api/__init__.py index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..e21b9f2977eab05e74a3ed690065046d7827633d 100644 --- a/eossr/api/__init__.py +++ b/eossr/api/__init__.py @@ -0,0 +1 @@ +from . import zenodo diff --git a/eossr/metadata/__init__.py b/eossr/metadata/__init__.py index 5836648be3aaa1be04656c7c2d73caa0affc5fbf..d57dd4a8e32bc8efe60f7084b55a486a7ce932bb 100644 --- a/eossr/metadata/__init__.py +++ b/eossr/metadata/__init__.py @@ -1 +1 @@ -from . import codemeta2zenodo \ No newline at end of file +from . import codemeta2zenodo