diff --git a/.copier-answers.yml b/.copier-answers.yml index 8fc6d00..d8b012d 100644 --- a/.copier-answers.yml +++ b/.copier-answers.yml @@ -1,12 +1,21 @@ -_commit: v0.0.14 +_commit: v0.0.14-13-g199528f _src_path: gh:dfm/copier-python author_email: foreman.mackey@gmail.com author_fullname: Dan Foreman-Mackey -author_username: dfm code_of_conduct_email: foreman.mackey@gmail.com copyright_holder: Dan Foreman-Mackey copyright_license: BSD -copyright_year: 2013-2022 +copyright_year: '2013' +documentation_build_type: dirhtml +documentation_enable: true +documentation_enable_binder: true +documentation_enable_colab: true +documentation_enable_execution: true +documentation_execution_dependencies: '"arviz>=0.9"' +documentation_execution_excludepatterns: '' +documentation_favicon_filename: logo.svg +documentation_logo_filename: logo.svg +documentation_sphinx_theme: sphinx_book_theme documentation_url: https://corner.readthedocs.io enable_mypy: false enable_pybind11: false @@ -20,8 +29,10 @@ python_formal_min_version: 6 python_max_version: 10 python_min_version: 7 python_nox_sessions: '"tests"' +python_optional_dependencies: arviz = ["arviz>=0.9"] python_package_distribution_name: corner python_package_import_name: corner +python_test_dependencies: '"arviz>=0.9"' readthedocs_project_name: corner repository_name: corner.py repository_namespace: dfm diff --git a/.gitignore b/.gitignore index 06d01ca..c6a07e9 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,4 @@ _skbuild dist build result_images +result_images diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index a67191b..0c6e67c 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -7,7 +7,7 @@ repos: language: fail files: "\\.rej$" - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v4.3.0 + rev: "v4.3.0" hooks: - id: trailing-whitespace - id: end-of-file-fixer diff --git a/docs/.gitignore b/docs/.gitignore index d20889f..e35d885 100644 --- a/docs/.gitignore +++ b/docs/.gitignore @@ -1,5 +1 @@ -_* -!_static -!*.png -modules -examples +_build diff --git a/docs/Makefile b/docs/Makefile index 93d2fa4..23da889 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -1,231 +1,16 @@ -# Makefile for Sphinx documentation - default: dirhtml -# You can set these variables from the command line. -SPHINXOPTS = +SPHINXOPTS = -W --keep-going -n SPHINXBUILD = sphinx-build -PAPER = BUILDDIR = _build - -# User-friendly check for sphinx-build -ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1) - $(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/) -endif - -# Internal variables. -PAPEROPT_a4 = -D latex_paper_size=a4 -PAPEROPT_letter = -D latex_paper_size=letter -ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . -# the i18n builder cannot share the environment and doctrees with the others -I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . - -.PHONY: help -help: - @echo "Please use \`make ' where is one of" - @echo " html to make standalone HTML files" - @echo " dirhtml to make HTML files named index.html in directories" - @echo " singlehtml to make a single large HTML file" - @echo " pickle to make pickle files" - @echo " json to make JSON files" - @echo " htmlhelp to make HTML files and a HTML help project" - @echo " qthelp to make HTML files and a qthelp project" - @echo " applehelp to make an Apple Help Book" - @echo " devhelp to make HTML files and a Devhelp project" - @echo " epub to make an epub" - @echo " epub3 to make an epub3" - @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" - @echo " latexpdf to make LaTeX files and run them through pdflatex" - @echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx" - @echo " text to make text files" - @echo " man to make manual pages" - @echo " texinfo to make Texinfo files" - @echo " info to make Texinfo files and run them through makeinfo" - @echo " gettext to make PO message catalogs" - @echo " changes to make an overview of all changed/added/deprecated items" - @echo " xml to make Docutils-native XML files" - @echo " pseudoxml to make pseudoxml-XML files for display purposes" - @echo " linkcheck to check all external links for integrity" - @echo " doctest to run all doctests embedded in the documentation (if enabled)" - @echo " coverage to run coverage check of the documentation (if enabled)" - @echo " dummy to check syntax errors of document sources" +ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(SPHINXOPTS) . .PHONY: clean clean: - rm -rf $(BUILDDIR)/* $(PAGES) - -.PHONY: html -html: - $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html - @echo - @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." + rm -rf $(BUILDDIR)/* .PHONY: dirhtml -dirhtml: $(PAGES) +dirhtml: $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml @echo @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." - -.PHONY: singlehtml -singlehtml: - $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml - @echo - @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." - -.PHONY: pickle -pickle: - $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle - @echo - @echo "Build finished; now you can process the pickle files." - -.PHONY: json -json: - $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json - @echo - @echo "Build finished; now you can process the JSON files." - -.PHONY: htmlhelp -htmlhelp: - $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp - @echo - @echo "Build finished; now you can run HTML Help Workshop with the" \ - ".hhp project file in $(BUILDDIR)/htmlhelp." - -.PHONY: qthelp -qthelp: - $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp - @echo - @echo "Build finished; now you can run "qcollectiongenerator" with the" \ - ".qhcp project file in $(BUILDDIR)/qthelp, like this:" - @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/cornerpy.qhcp" - @echo "To view the help file:" - @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/cornerpy.qhc" - -.PHONY: applehelp -applehelp: - $(SPHINXBUILD) -b applehelp $(ALLSPHINXOPTS) $(BUILDDIR)/applehelp - @echo - @echo "Build finished. The help book is in $(BUILDDIR)/applehelp." - @echo "N.B. You won't be able to view it unless you put it in" \ - "~/Library/Documentation/Help or install it in your application" \ - "bundle." - -.PHONY: devhelp -devhelp: - $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp - @echo - @echo "Build finished." - @echo "To view the help file:" - @echo "# mkdir -p $$HOME/.local/share/devhelp/cornerpy" - @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/cornerpy" - @echo "# devhelp" - -.PHONY: epub -epub: - $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub - @echo - @echo "Build finished. The epub file is in $(BUILDDIR)/epub." - -.PHONY: epub3 -epub3: - $(SPHINXBUILD) -b epub3 $(ALLSPHINXOPTS) $(BUILDDIR)/epub3 - @echo - @echo "Build finished. The epub3 file is in $(BUILDDIR)/epub3." - -.PHONY: latex -latex: - $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex - @echo - @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." - @echo "Run \`make' in that directory to run these through (pdf)latex" \ - "(use \`make latexpdf' here to do that automatically)." - -.PHONY: latexpdf -latexpdf: - $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex - @echo "Running LaTeX files through pdflatex..." - $(MAKE) -C $(BUILDDIR)/latex all-pdf - @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." - -.PHONY: latexpdfja -latexpdfja: - $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex - @echo "Running LaTeX files through platex and dvipdfmx..." - $(MAKE) -C $(BUILDDIR)/latex all-pdf-ja - @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." - -.PHONY: text -text: - $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text - @echo - @echo "Build finished. The text files are in $(BUILDDIR)/text." - -.PHONY: man -man: - $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man - @echo - @echo "Build finished. The manual pages are in $(BUILDDIR)/man." - -.PHONY: texinfo -texinfo: - $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo - @echo - @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo." - @echo "Run \`make' in that directory to run these through makeinfo" \ - "(use \`make info' here to do that automatically)." - -.PHONY: info -info: - $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo - @echo "Running Texinfo files through makeinfo..." - make -C $(BUILDDIR)/texinfo info - @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo." - -.PHONY: gettext -gettext: - $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale - @echo - @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale." - -.PHONY: changes -changes: - $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes - @echo - @echo "The overview file is in $(BUILDDIR)/changes." - -.PHONY: linkcheck -linkcheck: - $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck - @echo - @echo "Link check complete; look for any errors in the above output " \ - "or in $(BUILDDIR)/linkcheck/output.txt." - -.PHONY: doctest -doctest: - $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest - @echo "Testing of doctests in the sources finished, look at the " \ - "results in $(BUILDDIR)/doctest/output.txt." - -.PHONY: coverage -coverage: - $(SPHINXBUILD) -b coverage $(ALLSPHINXOPTS) $(BUILDDIR)/coverage - @echo "Testing of coverage in the sources finished, look at the " \ - "results in $(BUILDDIR)/coverage/python.txt." - -.PHONY: xml -xml: - $(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml - @echo - @echo "Build finished. The XML files are in $(BUILDDIR)/xml." - -.PHONY: pseudoxml -pseudoxml: - $(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml - @echo - @echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml." - -.PHONY: dummy -dummy: - $(SPHINXBUILD) -b dummy $(ALLSPHINXOPTS) $(BUILDDIR)/dummy - @echo - @echo "Build finished. Dummy builder generates no files." diff --git a/docs/_static/README.md b/docs/_static/README.md new file mode 100644 index 0000000..f2a84bc --- /dev/null +++ b/docs/_static/README.md @@ -0,0 +1 @@ +Default logo attribution: https://feathericons.com diff --git a/docs/_static/logo.svg b/docs/_static/logo.svg new file mode 100644 index 0000000..5afe634 --- /dev/null +++ b/docs/_static/logo.svg @@ -0,0 +1 @@ + diff --git a/docs/conf.py b/docs/conf.py index f074d37..a1f32fa 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -1,25 +1,35 @@ -# -*- coding: utf-8 -*- - import corner +language = "en" +master_doc = "index" + extensions = [ "sphinx.ext.autodoc", + "sphinx.ext.autosummary", "sphinx.ext.mathjax", "sphinx.ext.napoleon", + "sphinx.ext.viewcode", "myst_nb", ] -master_doc = "index" + +myst_enable_extensions = ["dollarmath", "colon_fence"] +source_suffix = { + ".rst": "restructuredtext", + ".ipynb": "myst-nb", +} +templates_path = ["_templates"] # General information about the project. project = "corner.py" -copyright = "2013-2021 Dan Foreman-Mackey & contributors" - +copyright = "2013-2022 Dan Foreman-Mackey" version = corner.__version__ release = corner.__version__ exclude_patterns = ["_build"] html_theme = "sphinx_book_theme" html_title = "corner.py" +html_logo = "_static/logo.svg" +html_favicon = "_static/logo.svg" html_static_path = ["_static"] html_show_sourcelink = False html_theme_options = { @@ -28,16 +38,15 @@ "repository_branch": "main", "launch_buttons": { "binderhub_url": "https://mybinder.org", - "colab_url": "https://colab.research.google.com/", "notebook_interface": "jupyterlab", + "colab_url": "https://colab.research.google.com/", }, "use_edit_page_button": True, "use_issues_button": True, "use_repository_button": True, "use_download_button": True, } -html_baseurl = "https://corner.readthedocs.io/en/latest/" -nb_execution_mode = "force" -# download notebooks as .ipynb and not as .ipynb.txt -html_sourcelink_suffix = "" +nb_execution_mode = "auto" +nb_execution_excludepatterns = [] +nb_execution_timeout = -1 diff --git a/docs/index.md b/docs/index.md index d3dfb77..6a32bb5 100644 --- a/docs/index.md +++ b/docs/index.md @@ -60,10 +60,7 @@ If you make use of this code, please cite [the JOSS paper](https://dx.doi.org/10 } ``` -## Authors & License +## Authors & license -Copyright 2013-2021 Dan Foreman-Mackey - -Built by [Dan Foreman-Mackey](https://github.com/dfm) and contributors (see -[the contribution graph](https://github.com/dfm/corner.py/graphs/contributors) for the most -up to date list). Licensed under the 2-clause BSD license (see `LICENSE`). +```{include} license.md +``` diff --git a/docs/license.md b/docs/license.md new file mode 100644 index 0000000..8ea10a2 --- /dev/null +++ b/docs/license.md @@ -0,0 +1,5 @@ +Copyright 2013-2022 Dan Foreman-Mackey + +Licensed under the BSD license (see `LICENSE`). +See [the contribution graph](https://github.com/dfm/corner.py/graphs/contributors) +for the most up-to-date list of contributors. diff --git a/pyproject.toml b/pyproject.toml index 151ab41..4e8d760 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -20,9 +20,9 @@ dependencies = ["matplotlib>=2.1"] "Bug Tracker" = "https://github.com/dfm/corner.py/issues" [project.optional-dependencies] -test = ["pytest"] +test = ["pytest", "arviz>=0.9"] +docs = ["sphinx>=3.3", "sphinx_book_theme", "myst-nb", "arviz>=0.9"] arviz = ["arviz>=0.9"] -docs = ["arviz>=0.9", "sphinx>=1.7.5", "pandoc", "myst-nb", "sphinx-book-theme"] [build-system] requires = ["setuptools>=62.0", "wheel", "setuptools_scm"] @@ -52,6 +52,7 @@ omit = [ "tests/*", "*/corner/version.py", ] +arviz = ["arviz>=0.9"] [tool.coverage.paths] source = ["src", "*/site-packages"] diff --git a/readthedocs.yaml b/readthedocs.yaml index b59224b..f9dbdd9 100644 --- a/readthedocs.yaml +++ b/readthedocs.yaml @@ -5,6 +5,8 @@ submodules: build: os: ubuntu-20.04 + apt_packages: + - fonts-liberation tools: python: "3.10"