Close Menu
    Trending
    • Claude for Finance Teams: DCF, Comps & Reconciliation
    • Causal Inference Is Eating Machine Learning
    • Neuro-Symbolic Fraud Detection: Catching Concept Drift Before F1 Drops (Label-Free)
    • I Built a Podcast Clipping App in One Weekend Using Vibe Coding
    • The Bay Area’s animal welfare movement wants to recruit AI
    • Prompt Caching with the OpenAI API: A Full Hands-On Python tutorial
    • Building a Navier-Stokes Solver in Python from Scratch: Simulating Airflow
    • Escaping the SQL Jungle | Towards Data Science
    ProfitlyAI
    • Home
    • Latest News
    • AI Technology
    • Latest AI Innovations
    • AI Tools & Technologies
    • Artificial Intelligence
    ProfitlyAI
    Home » Apply Sphinx’s Functionality to Create Documentation for Your Next Data Science Project
    Artificial Intelligence

    Apply Sphinx’s Functionality to Create Documentation for Your Next Data Science Project

    ProfitlyAIBy ProfitlyAIJune 17, 2025No Comments7 Mins Read
    Share Facebook Twitter Pinterest LinkedIn Tumblr Reddit Telegram Email
    Share
    Facebook Twitter LinkedIn Pinterest Email


    Properly-written documentation is essential for nearly any information science venture because it enhances readability, facilitates collaboration, and ensures reproducibility. Clear and concise documentation supplies context for the venture’s targets, methodologies, and findings, making it simpler for different workforce members (particularly, newbies) and stakeholders to grasp the which means behind work accomplished. Moreover, documentation serves as a reference for future enhancements or troubleshooting, decreasing time spent on re-explaining and even refreshing the principle ideas. 

    Sounds engaging, isn’t it? However have you learnt that you may create useful documentation by way of Sphinx documentation device in a constant model just by utilizing docstrings? For those who don’t know an excessive amount of about Sphinx’s performance but, this put up will help you to determine it out.

    Few phrases about docstrings
    Docstrings are the remark blocks that seem in any class, class technique, and performance throughout the code.

    Three predominant docstring codecs are formally supported by way of Sphinx: Google [1], NumPy [2], and reStructuredText (reST) [3]. Which one to decide on is as much as you, however on this put up I’ll work with the reST format, due to its versatility.

    On this article, I’ll introduce you to 3 most spectacular functionalities of Sphinx’s device, which may robotically generate documentation for Python modules. Earlier than contemplating these three circumstances I assume that you just’ve already created a documentation listing and put in Sphinx in your machine. If not, please, learn the TDS article on the best way to set up and arrange Sphinx first [4].

    After putting in Sphinx, create a brand new Sphinx venture by command sphinx-quickstart. Comply with the prompts to arrange your venture. This can populate your listing with a number of recordsdata, together with conf.py and index.rst.

    Case 1. Use cross-references for fast navigation

    In line with the official web site of Sphinx, one in all its most helpful options is creating automated cross-references by semantic cross-referencing roles. Cross-references can be utilized to hyperlink to features, lessons, modules, and even sections inside your documentation.

    As an example, the cross reference to an object description, corresponding to :func:`.title`, will create a hyperlink to the place the place title() is documented.

    Let’s look at how it’s in observe. Think about that we have now a easy Python module referred to as mymodule.py with two fundamental features inside.

    First perform is about summing two numbers:

    def add(a: int, b: int) -> int:
        """
        Add two numbers.
    
        :param a: First quantity.
        :param b: Second quantity.
        :return: Sum of a and b.
        """
        return a + b

    Second is about subtracting one quantity from the opposite:

    def subtract(c: int, d: int) -> int:
        """
        Subtract two numbers.
    
        :param c: First quantity.
        :param d: Second quantity.
        :return: Subtracting d from c.
        """
        return c - d

    It’s potential to make use of :func: to create cross-references to those two features throughout the documentation (:func:.add, :func:.subtract). Let’s create one other file (predominant.py), which can use the features from mymodule.py. You may add docstrings right here if you wish to doc this file as properly:

    from mymodule import add, subtract
    def predominant():
       """
       Essential perform to display using two features.
    
       It makes use of :func:`.add` and :func:`.subtract` features from mymodule.py.
       """
       # Name the primary perform
       first = add(2,3)
       print(first)
    
       # Name the second perform
       second = subtract(9,8)
       print(second)
    
    if __name__ == "__main__":
       predominant()

    To robotically generate documentation out of your code, you’ll be able to allow the autodoc extension in your conf.py file. Add 'sphinx.ext.autodoc' to the extensions checklist:

    extensions = ['sphinx.ext.autodoc']

    Be certain to incorporate the trail to your module in order that Sphinx can discover it. Add the next strains on the high of conf.py:

    import os
    import sys
    sys.path.insert(0,  os.path.abspath('../src')) # mymodule.py and predominant.py are positioned in src folder in documentation listing

    Then we have to generate .rst recordsdata of our Python packages. They’re Sphinx’s personal format and have to be generated earlier than making HTML-files. It’s sooner to make use of the apidoc command to take care of .rst. Run within the terminal:

    sphinx-apidoc -o supply src

    Right here -o supply defines the listing to put the output recordsdata, and src units the situation of Python modules we have to describe. After operating this command, newly generated .rst recordsdata will seem in your folder.

    Lastly, navigate to your documentation’s folder and run:

    make html

    This can generate HTML documentation within the _build/html listing. Open the generated HTML recordsdata in an online browser. You need to see your documentation with cross-references to the add and subtract features:

    Click on right here on the perform names and you may be taken to a web page with their description:

    Case 2. Add hyperlinks to exterior assets

    Along with the flexibility to insert cross-references, Sphinx lets you add hyperlinks to exterior assets. Beneath is an instance of how one can create a perform in mymodule.py file that makes use of the built-in abs() perform to display the way it’s potential so as to add a hyperlink to the official Python documentation in its docstrings:

    def calculate_distance(point1, point2):
       """
       Calculate the space between two factors in a 2D house.
    
       This perform makes use of the built-in `abs()` perform to compute absolutely the     
       variations within the x and y coordinates of the 2 factors.
    
       For extra particulars, see the official Python documentation for `abs()`:
       `abs() <https://docs.python.org/3/library/features.html#abs>`_.
       """
       a, b = point1
       c, d = point2
    
       # Calculate the variations in x and y coordinates
       delta_x = abs(c - a)
       delta_y = abs(d - b)
    
       # Calculate the Euclidean distance utilizing the Pythagorean theorem
       distance = (delta_x**2 + delta_y**2) ** 0.5
       return distance

    Operating make html command for this case present you the next output:

    Case 3. Create particular directives and examples for higher visible results

    In Sphinx you’ll be able to create brief paragraphs with completely different admonitions, messages, and warnings, in addition to with concrete examples of obtained outcomes. Let’s enrich our module with a word directive and instance.

    def calculate_distance(point1, point2):
       """
       Calculate the space between two factors in a 2D house.
    
       This perform makes use of the built-in `abs()` perform to compute absolutely the
       variations within the x and y coordinates of the 2 factors.
    
       For extra particulars, see the official Python documentation for `abs()`:
       `abs() <https://docs.python.org/3/library/features.html#abs>`_.
    
       Instance:
           >>> calculate_distance((1, 2), (4, 6))
           5.0
    
       .. word::
           There's a perform that calculates the Euclidean distance straight - `math.hypot() <https://docs.python.org/3/library/math.html#math.hypot>`_.
       """
       a, b = point1
       c, d = point2
    
       # Calculate the variations in x and y coordinates
       delta_x = abs(c - a)
       delta_y = abs(d - b)
    
       # Calculate the Euclidean distance utilizing the Pythagorean theorem
       distance = (delta_x**2 + delta_y**2) ** 0.5
       return distance

    And the ensuing HTML web page seems to be as follows:

    Due to this fact, for including any instance throughout the docstrings it’s good to use >>>. And to specify a word there, simply use .. word::. A superb factor is that you just would possibly add hyperlinks to exterior assets contained in the word.

    Conclusion

    Thorough documentation permits others not solely to higher perceive the topic of studying, however to deeply work together with it, which is crucial for technical and scientific documentation. General, good documentation promotes environment friendly data switch and helps keep the venture’s longevity, finally contributing to its success and affect.

    On this put up we thought-about the best way to create a easy, but well-written documentation utilizing Sphinx documentation device. Not solely did we learn to create a Sphinx venture from scratch, but in addition realized the best way to use its performance, together with cross-references, hyperlinks to exterior assets, and particular directives. Hope, you discovered this data useful for your self!

    Notice: all photos within the article had been made by creator.

    References

    [1] Google Python Type Information: https://google.github.io/styleguide/pyguide.html make html

    [2] NumPy Type Information: https://numpydoc.readthedocs.io/en/latest/format.html 

    [3] reStructuredText Type Information: https://docutils.sourceforge.io/rst.html 

    [4] Submit “Step by Step Fundamentals: Code Autodocumentation”: https://towardsdatascience.com/step-by-step-basics-code-autodocumentation-fa0d9ae4ac71 

    [5] Official web site of Sphinx documentation device: https://www.sphinx-doc.org/en/master/ 



    Source link

    Share. Facebook Twitter Pinterest LinkedIn Tumblr Email
    Previous Article“Gentle Singularity” Is Here, AI and Jobs & News Sites Getting Crushed by AI Search
    Next Article LLaVA on a Budget: Multimodal AI with Limited Resources
    ProfitlyAI
    • Website

    Related Posts

    Artificial Intelligence

    Causal Inference Is Eating Machine Learning

    March 23, 2026
    Artificial Intelligence

    Neuro-Symbolic Fraud Detection: Catching Concept Drift Before F1 Drops (Label-Free)

    March 23, 2026
    Artificial Intelligence

    I Built a Podcast Clipping App in One Weekend Using Vibe Coding

    March 23, 2026
    Add A Comment
    Leave A Reply Cancel Reply

    Top Posts

    AI Agent with Multi-Session Memory

    June 26, 2025

    Think Your Python Code Is Slow? Stop Guessing and Start Measuring

    December 26, 2025

    New AI system uncovers hidden cell subtypes, boosts precision medicine | MIT News

    July 11, 2025

    New method enables small language models to solve complex reasoning tasks | MIT News

    December 12, 2025

    Revolutionizing Aging Research and Care

    April 10, 2025
    Categories
    • AI Technology
    • AI Tools & Technologies
    • Artificial Intelligence
    • Latest AI Innovations
    • Latest News
    Most Popular

    A Billion Dollar Partnership Signals New Era

    December 16, 2025

    Real-Time Intelligence in Microsoft Fabric: The Ultimate Guide

    October 4, 2025

    Work Data Is the Next Frontier for GenAI

    July 9, 2025
    Our Picks

    Claude for Finance Teams: DCF, Comps & Reconciliation

    March 23, 2026

    Causal Inference Is Eating Machine Learning

    March 23, 2026

    Neuro-Symbolic Fraud Detection: Catching Concept Drift Before F1 Drops (Label-Free)

    March 23, 2026
    Categories
    • AI Technology
    • AI Tools & Technologies
    • Artificial Intelligence
    • Latest AI Innovations
    • Latest News
    • Privacy Policy
    • Disclaimer
    • Terms and Conditions
    • About us
    • Contact us
    Copyright © 2025 ProfitlyAI All Rights Reserved.

    Type above and press Enter to search. Press Esc to cancel.