Skip to main content

No project description provided

Project description

DunderLab's Documentation Guide

This Python module allows to create Sphinx Documntation from simple Jupyter Notebooks. Is basically a preconfigured environment that use nbsphinx in background with a set of custom styles and preloaded modules.

Installation

$ pip install -U dunderlab-docs

After to generate the Sphinx documentation via sphinx-quickstart.
In the conf.py file (from sphinx), add nbsphinx and dunderlab.docs to the list of extensions.

extensions = [
    'nbsphinx',
    'dunderlab.docs',
]

Configuration

dunderlab_custom_index

Can be used to insert custom ReStructuredText index the ìndex.rst file, this one will be rendered after the main index, and also in the sidebar.

dunderlab_custom_index = f"""
.. toctree::
   :glob:
   :maxdepth: 2
   :name: mastertoc3
   :caption: Submodule 1

   notebooks/submodule1/*


.. toctree::
   :glob:
   :maxdepth: 2
   :name: mastertoc3
   :caption: Submodule 2

   notebooks/submodule2/*
    """

dunderlab_color_links

You can customize the appearance of your documentation by changing the color of the links. This can help give your documentation a bit of personality and make it more visually appealing. This will change the color of all links in your documentation to blue. You can experiment with different colors and styles to find the look that best suits your needs. Keep in mind that modifying the stylesheet will affect the appearance of your entire documentation, so make sure to test your changes thoroughly before publishing your documentation.

dunderlab_color_links = '#4db6ac'

dunderlab_code_reference

This configuration value can be used to disable the generation of certain index inputs in Sphinx documentation. Specifically, setting to True will enable the generation of the index inputs genindex, modindex, and search, while setting it to False will disable their generation.

dunderlab_code_reference = False

dunderlab_github_repository

This configuration specifies the project repository, which will be used to adjust the URLs of the images in the README.md file.

Notebooks

In the first build, for example make clean html, the system will create (if not yet exist) the folder notebooks with some files in it.

docs/
    build/
    source/
        conf.py
        index.rst
        _modules/
        _static/
        _templates/
->      notebooks/
->          01-getting_started.ipynb
->          readme.ipynb
->          __sandbox.ipynb

The notebook readme.ipynb is mandatory, this will be used to generate the README.md in the root of the Python package. All documentation notebooks are sortered by name, so, is recommendable to name then with numeric prefixes. Notebooks names that starts with __ will not be rendered into the documentation.

Special Notebooks names

readme.ipynb

This notebook is used to generate the main documentation page, which is typically the index.rst file. The notebook is converted into a ReStructuredText file, which is then rendered as HTML to create the main documentation page. Additionally, the readme.ipynb notebook is also used to generate the README.md file that is typically found in the root of your project. This file can provide a brief overview of your project and its purpose, along with any relevant installation or usage instructions.

license.ipynb

This notebook is used to generate the LICENSE file that is typically found in the root of your project. This file specifies the terms under which your code is licensed and provides information about how others can use and modify your code. It is recommended that the license.ipynb notebook contain a single Markdown or plain text cell that includes the full text of your project's license. This can help ensure that the license text is accurate and up-to-date, and can simplify the process of updating the license if needed.

footer.ipynb

This notebook is used to generate a footer that appears at the bottom of the main documentation page and the project's README.md file. It can contain any content you want to include in the footer, such as copyright information, acknowledgments, or links to related resources. During the documentation build process, the notebook is converted into HTML and added to the bottom of the main documentation page and README.md file.

Features

  • Automatic generation of README.md
  • Automatic index in html view
  • Compatibe with Read the Docs

Troubleshooting

Index and Module Index is empty:
Just add the target module to the PATH in the conf.py file.

import os
import sys

sys.path.insert(0, os.path.abspath('relative_path_to_module'))

Images in README.md are not visible:
The images used in the readme.ipynb notebook should be placed in a folder called _images.

Recommendations

Add a custom command in Makefile, to update modules from source code:

buildapi:
    rm -f source/_modules/*
    sphinx-apidoc -fMeETl -o source/_modules ../dunderlab/docs

Then the documentation can be entirely updated and compiled with the command:

$ make clean buildapi html

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dunderlab-docs-0.28.tar.gz (14.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dunderlab_docs-0.28-py3-none-any.whl (13.0 kB view details)

Uploaded Python 3

File details

Details for the file dunderlab-docs-0.28.tar.gz.

File metadata

  • Download URL: dunderlab-docs-0.28.tar.gz
  • Upload date:
  • Size: 14.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for dunderlab-docs-0.28.tar.gz
Algorithm Hash digest
SHA256 625c3ac26dbe0d25f5cfc8b22f4c8477fb52f9f7038550267e969c432b10328c
MD5 db46937cd2765251597d4eebb36134c4
BLAKE2b-256 ea0c8db89accab3d5d9291983bea3e2e473edb339251bd84b4af85b8d967b877

See more details on using hashes here.

File details

Details for the file dunderlab_docs-0.28-py3-none-any.whl.

File metadata

  • Download URL: dunderlab_docs-0.28-py3-none-any.whl
  • Upload date:
  • Size: 13.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for dunderlab_docs-0.28-py3-none-any.whl
Algorithm Hash digest
SHA256 9d2e6e2a7e3032423d9e60f3517fe56db2438b369da2b4dca32e4eb1fba01baa
MD5 f92163651bfe5d3fc8a3db91bddd3523
BLAKE2b-256 b7390c44a7142e7dfeeb4535a31a3a4c29d41cb1176d60524715c2ab82b62e6a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page