Skip to content

docs: update Python and installation guidance#1851

Merged
oberstet merged 4 commits into
crossbario:masterfrom
puneetdixit200:docs/python-installation-guidance
May 21, 2026
Merged

docs: update Python and installation guidance#1851
oberstet merged 4 commits into
crossbario:masterfrom
puneetdixit200:docs/python-installation-guidance

Conversation

@puneetdixit200

Copy link
Copy Markdown
Contributor

Description

Summary: Update Python version and installation guidance for the current Autobahn release line.

Motivation: The docs still referenced older Python support and stale installation examples, while the current package metadata and PyPI release require Python 3.11+ and publish binary wheels for supported targets.

Related Issue(s): Fixes #1826

Type of Change

  • Bug fix (non-breaking change fixing an issue)
  • New feature (non-breaking change adding functionality)
  • Breaking change (fix or feature causing existing functionality to not work as expected)
  • Documentation update
  • Refactoring (no functional changes)
  • Performance improvement
  • Test coverage improvement

Changes Made

Core Changes

  • Updated README and docs overview/getting-started/index references from older Python minimums to Python 3.11+.
  • Refreshed installation docs for recommended python -m pip install autobahn usage and current extras.
  • Linked the existing wheels inventory page from the docs table of contents and package-release guidance.

API Changes

  • No API changes
  • New API added (backward compatible)
  • API modified (breaking change)
  • API deprecated

Documentation Changes

  • Updated PyPI, source checkout, Windows, install variant, and dependency examples to the current 25.12.2 release line.
  • Replaced stale Python 3.5/3.7/3.9 and v0.9.1 examples.

Testing

Test Coverage

  • Unit tests added/updated
  • Integration tests added/updated
  • Test coverage maintained or improved
  • All tests pass locally

Testing Checklist

  • Tested on CPython 3.11
  • Tested on CPython 3.12
  • Tested on CPython 3.13
  • Tested on PyPy 3.11
  • Tested with Twisted (if applicable)
  • Tested with asyncio (if applicable)
  • Tested on Linux
  • Tested on macOS
  • Tested on Windows

Test Results

# Verified current PyPI release metadata for autobahn 25.12.2
requires_python: >=3.11
files: 16 wheels + sdist

# Passed
rg -n "Python 3\.9|Python 3\.7\+|v0\.9\.1|AutobahnPython|pip install autobahn\[asyncio\]|25\.9\.1|CPython 3\.5\+|pure Python wheel" README.md docs/overview.rst docs/getting-started.rst docs/index.rst docs/installation.rst
# no matches

git diff --check -- README.md docs/getting-started.rst docs/index.rst docs/installation.rst docs/overview.rst
# exit 0

uv run --extra docs sphinx-build -b html -D extensions=myst_parser,sphinx.ext.autodoc,sphinx.ext.napoleon,sphinx.ext.intersphinx,sphinx.ext.autosectionlabel,sphinx.ext.todo,sphinx.ext.viewcode,sphinx.ext.ifconfig,sphinx.ext.doctest,sphinx_design,sphinx_copybutton,sphinxext.opengraph,sphinxcontrib.images,autoapi.extension,txsphinx,sphinx_auto_section_anchors docs docs/_build/html-no-spelling
# build succeeded, 68 warnings

# Full docs build status
uv run --extra docs sphinx-build -b html docs docs/_build/html
# blocked before source parsing because sphinxcontrib.spelling requires the system enchant C library, which is not installed in this local environment

Code Quality

  • Code follows project style guidelines (ruff, black)
  • Type hints added/updated (mypy passes)
  • Docstrings added/updated
  • Comments added for complex logic
  • No new linter warnings
  • No security vulnerabilities introduced

Performance Impact

  • No performance impact
  • Performance improved
  • Performance regression (justified in description)

Benchmarks (if applicable):

N/A - documentation only.

Breaking Changes

  • No breaking changes
  • Breaking changes documented below

Breaking Changes Description:
N/A

Migration Guide:

# N/A - documentation only.

Deployment Notes

  • No special deployment steps required
  • Database migration needed
  • Configuration changes needed
  • Dependencies updated

Deployment Steps (if applicable):

  1. N/A

Screenshots/Recordings

N/A

Checklist

  • My code follows the project's style guidelines
  • I have performed a self-review of my code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged and published

AI Assistance Disclosure

  • This PR was created entirely by a human
  • This PR was created with AI assistance

If AI-assisted, please provide details:

  • AI Tool: OpenAI Codex
  • Scope of AI Assistance: Documentation drafting, repository policy review, metadata comparison, and local verification commands.
  • Human Review: The account owner directed this contribution workflow; the diff was validated against pyproject.toml, current PyPI release metadata, and the documentation checks listed above before submission.

Note: Per AI_POLICY.md, you (the human) are the sole author of this contribution.
AI assistance is acknowledged but does not constitute co-authorship.

Additional Notes

The full Sphinx build is blocked in this local environment by the missing system enchant C library required by sphinxcontrib.spelling. A Sphinx HTML build with only that spelling extension excluded completed successfully.

@oberstet

Copy link
Copy Markdown
Contributor

Hi @puneetdixit200 — and welcome, this is a really nice first contribution! 🙏

Thanks for taking the time to comb through the install docs. You spotted exactly the kind of rot that accumulates over a long-lived project: a README.md still advertising "Python 3.7+", an asyncio extra whose description was talking about Python 2, and version examples pinned to a 0.9.x release that shipped years ago. The bumps to Python 3.11+, the switch to python -m pip install ..., linking the wheels-inventory page, and refreshing the install-variants table all line up cleanly with where the project actually is today (CPython 3.11–3.14 + PyPy 3.11, current release 25.12.2).

One thing we need before merging: the AI assistance disclosure file

Thank you for being upfront about the AI assistance — that's exactly the spirit of our policy. However, for the disclosure to count we need it as a separate, committed file in the .audit/ folder of your branch, not inline in the PR description. This is so the disclosure is part of the immutable Git history (cryptographically tied to the commits), not just PR metadata that can be edited or lost.

The process is documented in .audit/AI_AUDIT_PROCESS.md, and you can see plenty of real examples in the same folder — e.g. bblommers_websocket-server-typing.md is a good minimal template.

For your PR, please add a file along these lines and commit it to your branch:

Path: .audit/puneetdixit200_docs-python-installation-guidance.md

## AI Assistance Disclosure

- [ ] I did **not** use any AI-assistance tools to help create this pull request.
- [x] I **did** use AI-assistance tools to *help* create this pull request.
- [x] I have read, understood and followed the projects' [AI Policy](https://github.com/crossbario/autobahn-python/blob/master/AI_POLICY.md) when creating code, documentation etc. for this pull request.

Submitted by: @puneetdixit200
Date: <UTC date this PR was opened, YYYY-MM-DD>
Related issue(s): #1826
Branch: puneetdixit200:docs/python-installation-guidance

A note in your direction: we have to apologise — we currently ship two PR templates and they say different things (one points to the .audit/ file, the other invites inline disclosure). You clearly followed the inline one, which was on us, not you. We'll clean that up so the next contributor isn't caught by the same trap.

Small notes on the content

  • I'll give the diff a closer read for wording/consistency across README.mddocs/installation.rstdocs/index.rst before merging, just so the three pages stay in sync.
  • The 68 Sphinx warnings from the doc build aren't on you — they're pre-existing background noise we need to clean up separately.

The bigger picture

You've put your finger on something we're very aware of. The Autobahn|Python docs as a whole have drifted and need a real overhaul — not just version bumps, but restructuring around current use cases (modern asyncio, type hints, the WAMP feature set as it stands today, etc.). That work is on the near-term roadmap, and contributions like this one are genuinely helpful both directly and as a signal that there's interest from the community in helping make it happen. If you'd like to be involved in the larger docs effort once it kicks off, please say so — we'd love the help.

Thanks again, and welcome aboard! 🚀

@oberstet

Copy link
Copy Markdown
Contributor

oh, thanks a lot for fixing some unrelated/new CICD glitches on your way!

@oberstet oberstet merged commit 05250fd into crossbario:master May 21, 2026
38 of 39 checks passed
@oberstet

Copy link
Copy Markdown
Contributor

fantastic, 100% green, thanks for contributing!

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.

Minimum Python and recommended installation docs

2 participants