Skip to content

docs: add v2 migration guide and dual-package install instructions [PYSDK-142]#652

Open
ari-nz wants to merge 3 commits into
feat/PYSDK-133/python-sdk-slimfrom
feat/PYSDK-142/docs-and-migration
Open

docs: add v2 migration guide and dual-package install instructions [PYSDK-142]#652
ari-nz wants to merge 3 commits into
feat/PYSDK-133/python-sdk-slimfrom
feat/PYSDK-142/docs-and-migration

Conversation

@ari-nz
Copy link
Copy Markdown
Collaborator

@ari-nz ari-nz commented May 28, 2026

Release Train — PYSDK-133

Verify wiring on the integration branch first: #661 (draft, targets main)

Step PR Jira Phase Notes
1 #653 PYSDK-134 Workspace scaffolding Merge first — gates everything below
2a #656 PYSDK-135 Source migration After #653
2b #655 PYSDK-138 Dependency split After #653, parallel with 2a
2c #654 PYSDK-139 Tooling updates After #653, parallel with 2a
3 #657 PYSDK-136 Import rewrite After #656
4a #658 PYSDK-137 Slim CLI After #657
4b #659 PYSDK-141 Tests After #657, parallel with 4a
#651 PYSDK-140 CI/CD pipeline Independent — merge any time
#652 PYSDK-142 Docs & migration Independent — merge any time

Retargeting: each PR currently targets its predecessor branch. After the predecessor merges into feat/PYSDK-133/python-sdk-slim, retarget this PR to feat/PYSDK-133/python-sdk-slim before merging it.


This PR — Independent: No dependency on the sequential chain. Can be merged any time into feat/PYSDK-133/python-sdk-slim.

Summary

  • docs/partials/README_main.md: Added dual-package installation section near the top of Installation (slim aignostics-sdk vs full aignostics), plus a v2 Migration Guide section with import table, CLI changes, and API client-only install instructions.
  • docs/partials/README_footer.md: Added link to migration guide in Further Reading.
  • docs/partials/CLI_REFERENCE_header.md (new): Static partial documenting the aignostics-sdk slim CLI entry point (user login/logout/whoami, sdk run-metadata-schema, sdk item-metadata-schema).
  • noxfile.py: Updated _generate_cli_reference() to prepend CLI_REFERENCE_header.md to the typer-generated aignostics CLI docs when building CLI_REFERENCE.md.
  • docs/source/migration.md (new): Full v2 migration guide as a Sphinx page — import path table, installation changes, CLI changes, health check pattern, and quick checklist.
  • docs/source/index.rst: Added migration to the toctree so the migration page appears in rendered docs.
  • src/aignostics/CLAUDE.md: Added v2 architecture note at top explaining that platform, utils, and constants have moved to packages/aignostics-sdk/ under the aignostics_sdk namespace.
  • packages/aignostics-sdk/CLAUDE.md (new): CLAUDE.md for the new slim package — what it contains, Python namespace, CLI entry point, source history, dependencies, and module architecture.

Test plan

  • make lint passes (pre-push hook confirmed all checks green)
  • make docs builds without errors (migration.md is syntactically valid MyST; myst_parser is enabled in conf.py)
  • README.md renders correctly as Markdown (no broken tables)
  • CLI_REFERENCE.md is correctly assembled with aignostics-sdk header prepended to aignostics typer docs

ari-nz added 3 commits May 28, 2026 12:24
Adds documentation for the v2 dual-package distribution that splits the
SDK into aignostics-sdk (slim API client) and aignostics (full SDK),
including migration guide for users upgrading from v1.
Copilot AI review requested due to automatic review settings May 28, 2026 10:26
@ari-nz ari-nz requested a review from a team as a code owner May 28, 2026 10:26
@ari-nz ari-nz added the skip:test:long_running Skip long-running tests (≥5min) label May 28, 2026
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds documentation for a proposed/announced v2 split of the SDK into a slim aignostics-sdk distribution (new aignostics_sdk.* namespace) plus a migration guide, and updates the docs build pipeline to prepend a static aignostics-sdk CLI section to the generated CLI reference.

Changes:

  • Add a new Sphinx migration page (docs/source/migration.md) and link it into the docs nav.
  • Update README partials to describe dual-package installation and include migration highlights + links.
  • Extend noxfile.py CLI reference generation to prepend a static aignostics-sdk CLI header partial before the typer-generated aignostics CLI docs.

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
src/aignostics/CLAUDE.md Adds a v2 architecture note about module/package relocation.
packages/aignostics-sdk/CLAUDE.md Introduces documentation for a new slim distribution layout and CLI entry point.
noxfile.py Changes CLI reference generation to stitch a static header + typer output.
docs/source/migration.md New v2 migration guide page (imports/installation/CLI changes).
docs/source/index.rst Adds migration to the Sphinx toctree.
docs/partials/README_main.md Adds dual-package install guidance + a migration section/link.
docs/partials/README_footer.md Adds a “Further Reading” link to the migration guide.
docs/partials/CLI_REFERENCE_header.md New static aignostics-sdk CLI reference header to prepend to generated docs.

Comment thread src/aignostics/CLAUDE.md
Comment on lines +3 to +8
> **v2 Architecture Note**: In v2, this `src/aignostics/` tree contains only the *heavy* modules:
> `application`, `wsi`, `dataset`, `bucket`, `qupath`, `notebook`, `gui`, and `system`.
> The `platform` and `utils` modules (plus `constants`) have moved to the slim package at
> `packages/aignostics-sdk/` under the `aignostics_sdk` namespace.
> The full `aignostics` package depends on `aignostics-sdk` and re-exports nothing from those
> moved modules — callers must update their imports (see `migration.md` in the docs).
Comment on lines +1 to +6
# CLAUDE.md - aignostics-sdk (Slim Package)

This is the **slim distribution** of the Aignostics SDK, published to PyPI as `aignostics-sdk`.
It contains only the platform API client and core utilities — no WSI processing, no GUI, no dataset
downloads, no cloud storage abstraction.

Comment thread docs/source/migration.md
Comment on lines +3 to +7
v2 of the Aignostics Python SDK introduces `aignostics-sdk`, a slim distribution that contains
only the platform API client and core utilities. The full `aignostics` package now depends on
`aignostics-sdk` and delegates platform/utils functionality to it.

This is a **breaking change** for anyone importing `aignostics.platform` or `aignostics.utils`
Comment on lines +27 to +30
> **v2 dual-package distribution**: The SDK is now published as two separate PyPI packages.
> Use `aignostics-sdk` for the slim API client, or `aignostics` for the full SDK with GUI, WSI
> processing, and dataset downloads. See the [v2 Migration Guide](#migrating-from-v1-to-v2)
> if you are upgrading from v1.
Comment on lines +119 to +122
**Options**:

* `--pretty / --no-pretty`: Pretty-print the JSON output. [default: no-pretty]
* `--help`: Show this message and exit.
Comment on lines +134 to +137
**Options**:

* `--pretty / --no-pretty`: Pretty-print the JSON output. [default: no-pretty]
* `--help`: Show this message and exit.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

skip:test:long_running Skip long-running tests (≥5min)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants