Skip to content

docs: add crates.io READMEs for the published crates - #265

Open
david-pl wants to merge 2 commits into
mainfrom
david/crate-readmes
Open

david-pl wants to merge 2 commits into
mainfrom
david/crate-readmes

Conversation

@david-pl

Copy link
Copy Markdown
Collaborator

Summary

The 0.1.0 crates went out without READMEs, so their crates.io pages are empty. This adds a short README.md to each of the 11 published crates that lacked one (ppvm-cli already has its own and is unchanged).

Each README has a one- or two-sentence description taken from the crate's description and crate-level docs, a cargo add line, links to the docs site and docs.rs, and the license. No code examples, so nothing can go stale. Cargo picks up README.md from the crate directory automatically, so no Cargo.toml changes are needed. Links are absolute, so they work on crates.io.

crates.io shows the README of the published version, so these appear with the next release (0.1.1).

Test plan

  • cargo package -p <crate> --list includes README.md (checked ppvm-traits, ppvm-tui, ppvm-stim)
  • pre-commit hooks pass

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Copilot AI balanced review requested due to automatic review settings October 22, 2026 12:27

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟢 Approval recommended

These documentation-only additions are consistent with the crate interfaces and metadata, with no unresolved issues.

No open issues 🎉

What changed in this PR

Adds READMEs to 11 published crates so their crates.io pages show package documentation with the next release.

Changes:

  • Describes each crate’s role within ppvm.
  • Provides cargo add commands and absolute documentation, API, and license links.
  • Leaves runtime code, manifests, and the existing ppvm-cli README unchanged.
File Description
crates/​vihaco-circuit-isa/​README.md Introduces the quantum-circuit instruction set.
crates/​stim-parser/​README.md Describes Stim parsing and source diagnostics.
crates/​ppvm-vihaco/​README.md Summarizes circuit-program compilation and execution.
crates/​ppvm-tui/​README.md Explains embeddable terminal UI components.
crates/​ppvm-traits/​README.md Introduces shared traits and points to higher-level crates.
crates/​ppvm-tableau/​README.md Describes Clifford and generalized tableau simulation.
crates/​ppvm-tableau-sum/​README.md Summarizes tableau sums and supported operations.
crates/​ppvm-sym/​README.md Explains symbolic, parametric Pauli propagation.
crates/​ppvm-stim/​README.md Introduces Stim execution on generalized tableaux.
crates/​ppvm-pauli-word/​README.md Lists packed Pauli-string types.
crates/​ppvm-pauli-sum/​README.md Describes Pauli propagation and reverse gate ordering.

Review effort: Balanced

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@github-actions

github-actions Bot commented Oct 22, 2026 •

Copy link
Copy Markdown
PR Preview Action v1.8.1

QR code for preview link

🚀 View preview at
https://QuEraComputing.github.io/ppvm/pr-preview/pr-265/

Built to branch gh-pages at 2026-10-22 12:36 UTC.
Preview will be ready when the GitHub Pages deployment is complete.

Copilot AI balanced review requested due to automatic review settings October 22, 2026 12:32

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟡 Changes recommended

The new crate documentation contains unsupported API claims and invalid pattern syntax that could mislead users.

2 open issues
1 previously missed issue

In code that hasn't changed since last review

Low severity Avoid advertising nonexistent public LossyPauliSum type

crates/​ppvm-pauli-sum/​README.md:3

This crate does not export a Rust LossyPauliSum type. src/sum/mod.rs exports PauliSum, and tests/loss.rs:7–9 defines a local LossyPauliSum alias using a configuration with LossyPauliWord. Advertising a separate public type sends readers looking for an unavailable import. Describe loss-aware PauliSum configurations instead.

Review effort: Balanced


Packed Pauli-string types for the ppvm simulators: `PauliWord`, `PhasedPauliWord`, `LossyPauliWord` and `PauliPattern`.

`PhasedPauliWord` carries a phase alongside the word. `LossyPauliWord` adds an `L` symbol for a lost qubit. `PauliPattern` matches sets of words; for example, `Z?` matches any word made of `I` and `Z`.

Generalized stabilizer-tableau simulator for ppvm.

`Tableau` simulates Clifford circuits. `GeneralizedTableau` adds non-Clifford gates by tracking a sparse vector of coefficients over bitstrings, so circuits with few non-Clifford gates stay cheap. Both evolve forward in circuit order (Schrödinger picture) and support measurement, expectation values, and noise channels including qubit loss. The optional `rayon` feature parallelises parts of the simulation.

This branch has not been deployed

No deployments
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