Skip to content

doc: add pyats developer guide - #929

Open
oboehmer wants to merge 7 commits into
mainfrom
pyats-docs
Open

doc: add pyats developer guide#929
oboehmer wants to merge 7 commits into
mainfrom
pyats-docs

Conversation

@oboehmer

@oboehmer oboehmer commented Aug 27, 2026

Copy link
Copy Markdown
Collaborator

Description

To meet the ask of some architecture leads, I started to put together a write-up of nac-tests's pyats API to help people create test cases (when needed).
Once reviewed, I would move this to netascode.cisco.com docs site.

I reverse-engineered a lot of the contents, so definitely require review from Andrea and Chris who contributed most of it and can surely provide some more motivation on why certain things are done they way they are.

- context["api_context"] works for D2D tests the same as API tests;
  remove incorrect "framework limitation" claim
- Add context["api_context"] = api_context to D2D example in section 4.3
- Clarify test_context() role: labels output block; context["api_context"]
  links it to the result entry; both are needed
- Document multiple-command case: set context["api_context"] to primary
  command; secondary commands appear in Commands Without Matching Results
- Unify build_api_context() description to cover both API and D2D usage
- E: opening paragraph listing what the framework handles automatically
  (discovery, auth caching, parallelism, command caching, HTML reports, CI exit codes)
- A: section 3 opener — the three-method contract buys you parallel execution,
  caching, auth, retry, and structured reports at no extra cost
- B: 'Three things the report needs' table before display_context/api_context/
  test_context subsections — clarifies the three similar-sounding concepts
  at a glance before the detailed descriptions
…fy_group note

- Add subsection numbers (1.1–13.5) and expand TOC with anchor links
- Add §13 Static Analysis: mypy/ruff pre-commit setup for external repos,
  config matching nac-test project, async/await error detection examples,
  parse_output() 2.0→2.1 migration as concrete mypy use case
- Bidirectional cross-references between §7.3 (api_context) and §10.3 (test_context)
- QUICKSTART: reference verify_group() as alternative to verify_item() in contract
- steps parameter description in §3.1
- Motivation callouts: opening paragraph (E), §3 contract payoff (A),
  §7.3 three-context table (B)
@oboehmer
oboehmer marked this pull request as ready for review August 31, 2026 12:18
@oboehmer oboehmer added documentation Improvements or additions to documentation pyats PyATS framework related labels Aug 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation pyats PyATS framework related

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant