ScyllaDB University Live | Free Virtual Training Event
Learn more
ScyllaDB Documentation Logo Documentation
  • Deployments
    • Cloud
    • Server
  • Tools
    • ScyllaDB Manager
    • ScyllaDB Monitoring Stack
    • ScyllaDB Operator
  • Drivers
    • CQL Drivers
    • DynamoDB Drivers
    • Supported Driver Versions
  • Resources
    • ScyllaDB University
    • Community Forum
    • Tutorials
Install
Ask AI
ScyllaDB Docs ScyllaDB Sphinx Theme Examples API Documentation Python

Caution

You're viewing documentation for an unstable version of ScyllaDB Sphinx Theme. Switch to the latest stable version.

Python¶

The sphinx.ext.autodoc extension generates documentation from Python docstrings.

Basic usage¶

Document a module¶

.. automodule:: examples._sample_module
   :members:

Sample module for demonstrating autodoc functionality.

This module provides a simple database connection class and utility functions for demonstrating how API documentation is generated with sphinx.ext.autodoc.

class DatabaseConnection(host, port=9042, username=None)¶

Manages connections to a database.

This class provides methods for connecting to, querying, and disconnecting from a database. It’s designed to demonstrate autodoc’s ability to generate documentation from Python docstrings.

Parameters:
  • host (str) – The database host address

  • port (int) – The port number (default: 9042)

  • username (str or None) – Optional username for authentication

connect()¶

Establish a connection to the database.

Returns:

True if connection was successful

Return type:

bool

Raises:

ConnectionError – If connection fails

execute(query)¶

Execute a query on the database.

Parameters:

query (str) – The query string to execute

Returns:

Query results

Return type:

list

Raises:

RuntimeError – If not connected to database

disconnect()¶

Close the database connection.

format_query(query, indent=4)¶

Format a database query for better readability.

This function takes a query string and formats it with proper indentation and line breaks for improved readability in logs or documentation.

Parameters:
  • query (str) – The query string to format

  • indent (int) – Number of spaces for indentation (default: 4)

Returns:

The formatted query string

Return type:

str

Example:

>>> format_query("SELECT * FROM users")
'SELECT * FROM users'
validate_connection_params(host, port)¶

Validate database connection parameters.

Parameters:
  • host (str) – The database host address

  • port (int) – The port number

Returns:

True if parameters are valid, False otherwise

Return type:

bool

DEFAULT_TIMEOUT = 30¶

Default connection timeout in seconds

MAX_RETRIES = 3¶

Maximum number of connection retry attempts

Document a class¶

.. autoclass:: examples._sample_module.DatabaseConnection
   :members:
class DatabaseConnection(host, port=9042, username=None)

Manages connections to a database.

This class provides methods for connecting to, querying, and disconnecting from a database. It’s designed to demonstrate autodoc’s ability to generate documentation from Python docstrings.

Parameters:
  • host (str) – The database host address

  • port (int) – The port number (default: 9042)

  • username (str or None) – Optional username for authentication

connect()

Establish a connection to the database.

Returns:

True if connection was successful

Return type:

bool

Raises:

ConnectionError – If connection fails

execute(query)

Execute a query on the database.

Parameters:

query (str) – The query string to execute

Returns:

Query results

Return type:

list

Raises:

RuntimeError – If not connected to database

disconnect()

Close the database connection.

Document a function¶

.. autofunction:: examples._sample_module.format_query
format_query(query, indent=4)

Format a database query for better readability.

This function takes a query string and formats it with proper indentation and line breaks for improved readability in logs or documentation.

Parameters:
  • query (str) – The query string to format

  • indent (int) – Number of spaces for indentation (default: 4)

Returns:

The formatted query string

Return type:

str

Example:

>>> format_query("SELECT * FROM users")
'SELECT * FROM users'

Common options¶

Select specific members¶

.. autoclass:: examples._sample_module.DatabaseConnection
   :members: connect, disconnect

Include special methods¶

.. autoclass:: examples._sample_module.DatabaseConnection
   :members:
   :special-members: __init__

Include private members¶

.. autoclass:: examples._sample_module.DatabaseConnection
   :members:
   :private-members:

Include undocumented members¶

.. automodule:: examples._sample_module
   :members:
   :undoc-members:

Exclude members¶

.. autoclass:: examples._sample_module.DatabaseConnection
   :members:
   :exclude-members: disconnect

Configuration¶

Set defaults in conf.py:

autodoc_default_options = {
    'members': True,
    'member-order': 'bysource',
    'special-members': '__init__',
}

autodoc_typehints = 'signature'  # 'signature', 'description', 'none', 'both'
autodoc_member_order = 'bysource'  # 'alphabetical', 'bysource', 'groupwise'

Related extensions¶

  • sphinx.ext.napoleon - Google and NumPy docstring styles

  • sphinx.ext.autosummary - Summary tables

  • sphinx.ext.viewcode - Source code links

Was this page helpful?

PREVIOUS
API Documentation
NEXT
Doxygen
  • Create an issue
  • Edit this page

On this page

  • Python
    • Basic usage
      • Document a module
        • DatabaseConnection
          • DatabaseConnection.connect()
          • DatabaseConnection.execute()
          • DatabaseConnection.disconnect()
        • format_query()
        • validate_connection_params()
        • DEFAULT_TIMEOUT
        • MAX_RETRIES
      • Document a class
      • Document a function
    • Common options
      • Select specific members
      • Include special methods
      • Include private members
      • Include undocumented members
      • Exclude members
    • Configuration
    • Related extensions
ScyllaDB Sphinx Theme
  • master
    • 1.8
    • 1.7
    • 1.6
    • 1.5
    • 1.4
    • 1.3
    • 1.2
    • 1.1
  • Getting started
    • Toolchain
    • Installation
    • Quickstart
  • Configuration
    • Template options
    • Page options
    • Multiversion options
    • Markdown support
    • Redirects support
    • AI chatbot support (beta)
    • Search support
    • Dependabot support
  • Commands
  • Deployment
    • Production deployment
    • Pull requests previews
    • Centralized publication
  • Examples
    • Admonitions
    • Alert
    • API Documentation
      • Python
      • Doxygen
      • REST API (Redocly)
    • Collapse
    • Code blocks
    • Diagrams
    • Grid
    • Glossary
    • Headings
    • Hero box
    • Icons
    • Images
    • Includes
    • Labels
    • Links
    • Lists
    • Mascots
    • Panel box
    • Substitutions
    • Tables
    • Tabs
    • Text
    • TOC
    • Tooltips
    • Topic box
    • Versions
    • Videos
  • Upgrade guides
    • Upgrading from 1.7 to 1.8
    • Upgrading from 1.6 to 1.7
    • Upgrading from 1.5 to 1.6
    • Upgrading from 1.4 to 1.5
    • Upgrading from 1.3 to 1.4
    • Upgrading from 1.2 to 1.3
    • Upgrading from 1.1 to 1.2
    • Upgrading from 1.0 to 1.1
    • Upgrading from 0.x to 1.0
    • Changelog
  • Contribute
    • Contribute to the documentation
    • Contribute to the theme
    • Source Code
Docs Tutorials University Contact Us About Us
© 2025 ScyllaDB | Terms of Service | Privacy Policy | ScyllaDB, and ScyllaDB Cloud, are registered trademarks of ScyllaDB, Inc.
Last updated on 24 Nov 2025.
Powered by Sphinx 7.4.7 & ScyllaDB Theme 1.8.9
Ask AI