Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Set up Sphinx Documentation Infrastructure

オープン
#60 コメント 0 件 リアクション 0 件 担当者 1 名 GitHub で見る

@erikrose がすでに取り組んでいます。

2026年4月8日 から。

評価

この issue はまだ評価されていません。

説明

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

主要言語
Python
スター
5
フォーク
1
PR マージ指標
30日以内にマージされた PR はありません

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

fastly/compute-sdk-python のほかの issue

fastly/compute-sdk-python の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。