chore: linting, src layout, and sphinx docs#1
Draft
HugoHakem wants to merge 12 commits into
Draft
Conversation
- auto fix using vscode markdown lint operation.
- vscode settings.json (gitignored):
"MD033": {
"allowed_elements": ["details", "summary", "code"]
},
"MD060": false,
"MD032": false,
- missing \ in the table (broken table):
<<
per-gene `|score|` ranking (for a prediction) |
>>
per-gene `\|score\|` ranking (for a prediction) |
mypy / pyright were firing on small stuff, where the logic present was already preventing any issue. Add small type annotation & type ignore.
additionally applied RUF005: replace with iterable unpacking << key = (seed,) + tuple(zlib.crc32(str(t).encode()) for t in tags) >> key = (seed, *(zlib.crc32(str(t).encode()) for t in tags))
- README.md: use t-test_overestim_var in help text, restore ```txt fence - pyproject.toml: keep local ruff/mypy/pyright config; add test dependency-group (pytest) replacing project.optional-dependencies
- README trimmed to install + quick start + sample datasets pointer; full content moved to sphinx docs - user-guide/ folder with usage, scoring, protocols, building-blocks - installation.md with dev setup (moved from contributing) - tutorials.md placeholder - index.md: citation block, grid cards, toctree reorganization - references.bib: add Miller 2025 and Vollenweider 2026 entries - conf.py: show_navbar_depth for stable sidebar
Rename scoring.md → calibration.md and move it first in the user guide toctree, so readers encounter the conceptual framing (what a protocol is, what DRF and BDS measure) before the CLI usage page. Expand the page with proper math formalism: introduces s_bench notation, the two empirical controls, and the DRF/BDS formulas with inline interpretation. Add a single orienting sentence to user-guide/index.md. Update the cross-link in docs/index.md. Also include a pre-existing conf.py fix (bibtex_reference_style). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add Attributes sections to all five dataclasses (RunConfig, Protocol,
Calibrator, DEResult, Param) so Sphinx tables are populated
- Add full Parameters/Returns to run_protocol, moments, bh, ttest_from_moments,
top_space, pca_space, degs_space, register_de_space
- Add {cite} Vollenweider_2026 to bh
- Add attribute docstrings with usage examples to DE_METHODS and SPACES
- Add docstring example to Registry class; one-liners for __getitem__/meta/names
- Document Context class (Parameters + Attributes) as light public API
- Fix weighted_mse ctx description: uses ctx.wmse_weights, was marked unused
- Add de_ttest, de_ttest_overestim, de_mwu to api.md autosummary
- Add Context section to api.md
- Add protocol_table.py Sphinx extension
- Simplify class.rst template: drop attribute/method summary tables and the
redundant Attributes block; keep only inline Methods section
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
src/layoutpyproject.toml;applied auto-fix and auto-format passes
requires-pythonto>=3.11(illico requires 3.11+)docs/conf.py, API reference, contributing guide, changelogtestdependency-group with pytest inpyproject.tomlStatus / still in progress
protocols, scoring) will move into the Sphinx docs instead
and extending the tool (new protocols, spaces, sources); loosely inspired by
the figure notebooks in scPertEval-figures but scoped to onboarding
(ruff, mypy/pyright, pyproject-fmt)
Test plan
pip install -e .works from the newsrc/layoutruff checkandmypypass cleansphinx-autobuild docs docs/_build)