Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Set up Sphinx Documentation Infrastructure

Đang mở
#60 0 bình luận 0 reaction 1 người được giao Xem trên GitHub

@erikrose đang làm issue này rồi.

Từ ngày 8/4/2026.

Đánh giá

Issue này chưa được đánh giá.

Mô tả

Overview

Set up Sphinx-based documentation infrastructure for the Fastly Compute Python SDK, enabling auto-generated API documentation from docstrings. This issue focuses on getting docs to generate consistently - hosting location and styling are out of scope.

Goals

  1. Configure Sphinx with autodoc - Generate API docs from code
  2. Standardize docstring format - Convert all docstrings to Sphinx RST style (:param:, :returns:, :raises:)
  3. Build infrastructure - Add make docs and CI validation
  4. Fix inconsistencies - Some modules use Google style (Args:), others use RST style

Out of Scope:

  • Documentation hosting platform (Read the Docs, GitHub Pages, etc.)
  • Documentation styling/theming
  • Hosting deployment configuration

Current State

Inconsistent docstring formats:

  • ✅ config_store.py, erl.py - Use Sphinx RST style (:param:, :raises:, Example::)
  • ❌ requests/__init__.py - Uses Google style (Args:, Raises:, Note:)
  • ❌ Test files - Mixed styles

RST format example (preferred):

def get(self, key: str, default: str | None = None) -> str | None:
    """Get a configuration value.

    :param key: The configuration key
    :param default: Default value if key not found
    :return: Configuration value or default if not found
    :raises ~fastly_compute.exceptions.types.error.InvalidArgument: If the key is invalid

    Example::

        config = ConfigStore.open("app-config")
        api_url = config.get("api_url", "https://api.example.com")
    """

Tasks

  1. Sphinx Setup

    • Install Sphinx and autodoc extension
    • Create docs/ directory with conf.py, index.rst
    • Configure autodoc to generate API reference from fastly_compute/ modules
    • Add intersphinx for cross-references to Python stdlib
  2. Standardize Docstrings

    • Convert requests/ module docstrings from Google style to RST style
    • Audit all other modules for consistency
    • Update any remaining Google-style docstrings to RST format
    • Use full exception paths in :raises: (e.g., ~fastly_compute.exceptions.types.error.InvalidArgument)
  3. Build Process

    • Add make docs target to build HTML documentation
    • Configure Sphinx to fail on warnings (ensure all docstrings are valid RST)
    • Add CI check to validate docs build successfully
  4. Documentation Standards Guide

    • Document the RST format convention in contributing guide
    • Provide examples for common patterns (module docstrings, class docstrings, method docstrings)
    • Reference config_store.py and erl.py as canonical examples

Acceptance Criteria

  • Sphinx generates HTML documentation without warnings
  • All modules use consistent RST docstring format
  • make docs builds complete API reference
  • CI validates documentation builds successfully
  • Contributing guide documents RST format requirements

Cross-SDK Comparison: Rust uses rustdoc, Go uses godoc, JS uses JSDoc/TypeScript. Python ecosystem standard is Sphinx with RST docstrings, which integrates well with IDEs and type checkers.

Reference

Ngôn ngữ chính
Python
Star
5
Fork
1
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của fastly/compute-sdk-python

Tất cả issue của fastly/compute-sdk-python

Issue tương tự

Thêm issue về Python

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.