Skip to content

Improve docs IA, API reference depth, and PR docs preview workflow - #4

Merged
achapkowski merged 2 commits into
mainfrom
copilot/documentation-improvement-plan
Jul 19, 2026
Merged

Improve docs IA, API reference depth, and PR docs preview workflow#4
achapkowski merged 2 commits into
mainfrom
copilot/documentation-improvement-plan

Conversation

Copilot AI commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

The docs were functional but shallow: key HttpNegotiateAuth behaviors were undocumented, the Sphinx site was a single page, and contributors had no PR-visible rendered docs preview. This updates the user and developer documentation around the actual auth flow and adds a docs workflow that builds on PRs and uploads the rendered HTML artifact.

  • README overhaul

    • tightened the package positioning around Windows SSPI + httpx2
    • added platform constraints, quick start, explicit-credential usage, delegation, SPN override guidance, troubleshooting, and developer entry points
    • reduced ambiguity around default credentials vs explicit credentials
  • API documentation

    • added package/module overview docstrings
    • expanded HttpNegotiateAuth documentation to cover:
      • SPN host selection and canonicalization
      • channel binding / Extended Protection behavior
      • retry semantics and cookie propagation
      • existing Authorization header short-circuit
      • NTLM challenge validation and failure modes
    • documented internal helper methods that carry security- and protocol-relevant behavior
  • Sphinx restructuring

    • converted the docs from a single-page layout into focused sections:
      • getting started
      • usage guide
      • API reference
      • troubleshooting
      • contributing/development
    • updated index.rst to act as a landing page with a real toctree
    • enabled better API browsing with Sphinx viewcode and explicit version metadata
  • Contributor and workflow improvements

    • documented local docs/test/build commands and the auth-flow architecture
    • updated the docs workflow to run on pull requests and pushes to main
    • uploaded rendered HTML as a docs-html artifact so reviewers can inspect doc changes without building locally

Example of the expanded usage guidance:

import getpass
import httpx2
from httpx2_negotiate_sspi import HttpNegotiateAuth

auth = HttpNegotiateAuth(
    "svc-http-client",
    getpass.getpass(),
    "CONTOSO",
)

with httpx2.Client(auth=auth) as client:
    response = client.get("https://iis.contoso.com")
    response.raise_for_status()

@achapkowski
achapkowski merged commit 11766d9 into main Jul 19, 2026
11 checks passed
@achapkowski
achapkowski deleted the copilot/documentation-improvement-plan branch July 19, 2026 20:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants