Skip to content

Commit a5813e7

Browse files
authored
docs: restructure RTD site around 5 top-level sections (IA overhaul) (#703)
1 parent 3b45003 commit a5813e7

44 files changed

Lines changed: 898 additions & 124 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/docs-tests.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ jobs:
118118
# docs/conf.py imports diff_diff via sys.path from checked-out source.
119119
# ipython provides the 'ipython3' Pygments lexer that nbsphinx uses
120120
# for notebook code cells; without it -W fires highlighting_failure.
121-
run: pip install "numpy>=1.20.0" "pandas>=1.3.0" "scipy>=1.10" "sphinx>=6.0" "pydata-sphinx-theme>=0.16.1" "sphinxext-opengraph>=0.9" "sphinx-sitemap>=2.5" "nbsphinx>=0.9" "myst-parser>=2.0" "matplotlib>=3.5" "ipython>=8.0"
121+
run: pip install "numpy>=1.20.0" "pandas>=1.3.0" "scipy>=1.10" "sphinx>=6.0" "pydata-sphinx-theme>=0.16.1" "sphinxext-opengraph>=0.9" "sphinx-sitemap>=2.5" "nbsphinx>=0.9" "myst-parser>=2.0" "sphinx-design>=0.6.1" "matplotlib>=3.5" "ipython>=8.0"
122122

123123
- name: Build docs with warnings as errors
124124
# SPHINXOPTS="-W" turns every Sphinx warning into a build failure.
@@ -154,7 +154,7 @@ jobs:
154154
# not run a Sphinx build (sphinx-build covers full rendering on 3.11).
155155
# Failure here means the docs floor declared in pyproject.toml /
156156
# .readthedocs.yaml / above is not installable on Python 3.9.
157-
run: pip install "numpy>=1.20.0" "pandas>=1.3.0" "scipy>=1.10" "sphinx>=6.0" "pydata-sphinx-theme>=0.16.1" "sphinxext-opengraph>=0.9" "sphinx-sitemap>=2.5" "nbsphinx>=0.9" "myst-parser>=2.0" "matplotlib>=3.5" "ipython>=8.0"
157+
run: pip install "numpy>=1.20.0" "pandas>=1.3.0" "scipy>=1.10" "sphinx>=6.0" "pydata-sphinx-theme>=0.16.1" "sphinxext-opengraph>=0.9" "sphinx-sitemap>=2.5" "nbsphinx>=0.9" "myst-parser>=2.0" "sphinx-design>=0.6.1" "matplotlib>=3.5" "ipython>=8.0"
158158

159159
- name: Confirm pydata-sphinx-theme version
160160
# Surface the resolved version in the log for future debugging.

.readthedocs.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ build:
1818
#
1919
# Keep in sync with pyproject.toml [project.dependencies]
2020
# and [project.optional-dependencies.docs].
21-
- pip install "numpy>=1.20.0" "pandas>=1.3.0" "scipy>=1.10" "sphinx>=6.0" "pydata-sphinx-theme>=0.16.1" "sphinxext-opengraph>=0.9" "sphinx-sitemap>=2.5" "nbsphinx>=0.9" "myst-parser>=2.0" "matplotlib>=3.5" "ipython>=8.0"
21+
- pip install "numpy>=1.20.0" "pandas>=1.3.0" "scipy>=1.10" "sphinx>=6.0" "pydata-sphinx-theme>=0.16.1" "sphinxext-opengraph>=0.9" "sphinx-sitemap>=2.5" "nbsphinx>=0.9" "myst-parser>=2.0" "sphinx-design>=0.6.1" "matplotlib>=3.5" "ipython>=8.0"
2222

2323
# Build documentation in the "docs/" directory with Sphinx
2424
sphinx:

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
88
## [Unreleased]
99

1010
### Changed
11+
- **Documentation site restructured around 5 top-level sections** (Getting Started /
12+
Practitioner Guide / Tutorials / User Guide / API Reference). The previous flat
13+
navigation put 40 pages into the pydata-sphinx-theme header, leaving most of the
14+
site (including the API reference) reachable only through an oversized "More"
15+
dropdown; the navbar now shows exactly the 5 sections, each with a card-grid
16+
landing page (new `sphinx-design` docs dependency). Tutorials get a grouped index
17+
at `tutorials/index.html` with short sidebar labels, and tutorial pages now show
18+
their sibling notebooks in the left sidebar. All existing page URLs are unchanged.
1119
- **Internal: dev tooling pins bumped** (Dependabot group + manual lint.yml sync):
1220
`black==26.5.1`, `ruff==0.15.21`, `mypy==2.3.0` in both the `dev` extra and the
1321
Lint CI workflow. mypy >= 2.2 can no longer target Python 3.9, so

CLAUDE.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,10 @@ When adding new functionality, the source of truth is:
149149
- **`diff_diff/guides/llms.txt`** for the AI-agent contract (one-line catalog entry per estimator with paper citation + RTD link). This file is bundled in the wheel and published on RTD via `docs/conf.py` `html_extra_path`.
150150
- **`docs/api/*.rst`** for full API reference.
151151
- **`docs/references.rst`** for scholarly citations.
152-
- **`docs/tutorials/*.ipynb`** for hands-on examples.
152+
- **`docs/tutorials/*.ipynb`** for hands-on examples. New notebooks are registered in
153+
`docs/tutorials/index.rst` (toctree entry with a short display label + a card in the
154+
matching group), NOT in `docs/index.rst` - the root toctree lists only the 5 section
155+
landing pages so the navbar stays at 5 links.
153156
- **`CHANGELOG.md`** for release notes.
154157
- **`README.md`** for ONE LINE in the `## Estimators` flat catalog (or `## Diagnostics & Sensitivity` for diagnostic-class features). Do NOT add usage examples, parameter tables, per-estimator sections, or full bibliographies.
155158

CONTRIBUTING.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,10 @@ If you find yourself adding a usage example, a parameter table, or a multi-parag
6161
3. **`docs/tutorials/*.ipynb`** - Update relevant tutorial or create new one:
6262
- Working code examples
6363
- Explanation of when/why to use the feature
64+
- New notebooks are registered in `docs/tutorials/index.rst` (NOT `docs/index.rst`):
65+
add a toctree entry with a short display label to the matching group
66+
(Business Applications / Fundamentals / Advanced Methods / Study Design)
67+
plus a `grid-item-card` in that group's card grid
6468

6569
4. **`docs/references.rst`** (bibliography source of truth) - Add:
6670
- Full citation under the appropriate sub-section (matches the `### Subsection` headings already in that file)

docs/api/_autosummary/diff_diff.BaconDecompositionResults.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
.. autosummary::
2727

2828
~BaconDecompositionResults.decomposition_error
29+
~BaconDecompositionResults.n_always_treated_remapped
2930
~BaconDecompositionResults.n_obs
3031
~BaconDecompositionResults.survey_metadata
3132
~BaconDecompositionResults.twfe_estimate

docs/api/_autosummary/diff_diff.CSBootstrapResults.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,15 +28,15 @@
2828
~CSBootstrapResults.group_effect_cis
2929
~CSBootstrapResults.group_effect_p_values
3030
~CSBootstrapResults.group_effect_ses
31+
~CSBootstrapResults.overall_att_es_ci
32+
~CSBootstrapResults.overall_att_es_p_value
33+
~CSBootstrapResults.overall_att_es_se
3134
~CSBootstrapResults.n_bootstrap
3235
~CSBootstrapResults.weight_type
3336
~CSBootstrapResults.alpha
3437
~CSBootstrapResults.overall_att_se
3538
~CSBootstrapResults.overall_att_ci
3639
~CSBootstrapResults.overall_att_p_value
37-
~CSBootstrapResults.overall_att_es_se
38-
~CSBootstrapResults.overall_att_es_ci
39-
~CSBootstrapResults.overall_att_es_p_value
4040
~CSBootstrapResults.group_time_ses
4141
~CSBootstrapResults.group_time_cis
4242
~CSBootstrapResults.group_time_p_values

docs/api/_autosummary/diff_diff.CallawaySantAnnaResults.rst

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,15 +24,18 @@
2424

2525
.. autosummary::
2626

27+
~CallawaySantAnnaResults.allow_unbalanced_panel
2728
~CallawaySantAnnaResults.alpha
2829
~CallawaySantAnnaResults.anticipation
2930
~CallawaySantAnnaResults.att
3031
~CallawaySantAnnaResults.base_period
3132
~CallawaySantAnnaResults.bootstrap_results
3233
~CallawaySantAnnaResults.cband_crit_value
34+
~CallawaySantAnnaResults.cluster_name
3335
~CallawaySantAnnaResults.coef_var
3436
~CallawaySantAnnaResults.conf_int
3537
~CallawaySantAnnaResults.control_group
38+
~CallawaySantAnnaResults.df_inference
3639
~CallawaySantAnnaResults.epv_diagnostics
3740
~CallawaySantAnnaResults.epv_threshold
3841
~CallawaySantAnnaResults.event_study_effects
@@ -41,6 +44,7 @@
4144
~CallawaySantAnnaResults.group_effects
4245
~CallawaySantAnnaResults.influence_functions
4346
~CallawaySantAnnaResults.is_significant
47+
~CallawaySantAnnaResults.n_clusters
4448
~CallawaySantAnnaResults.p_value
4549
~CallawaySantAnnaResults.panel
4650
~CallawaySantAnnaResults.pscore_fallback
@@ -49,6 +53,8 @@
4953
~CallawaySantAnnaResults.significance_stars
5054
~CallawaySantAnnaResults.survey_metadata
5155
~CallawaySantAnnaResults.t_stat
56+
~CallawaySantAnnaResults.used_rc_on_unbalanced_panel
57+
~CallawaySantAnnaResults.vcov_type
5258
~CallawaySantAnnaResults.group_time_effects
5359
~CallawaySantAnnaResults.overall_att
5460
~CallawaySantAnnaResults.overall_se
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
diff\_diff.ChangesInChanges
2+
===========================
3+
4+
.. currentmodule:: diff_diff
5+
6+
.. autoclass:: ChangesInChanges
7+
:no-members:
8+
9+
10+
.. rubric:: Methods
11+
12+
.. autosummary::
13+
14+
~ChangesInChanges.__init__
15+
~ChangesInChanges.fit
16+
~ChangesInChanges.get_params
17+
~ChangesInChanges.set_params
18+
19+
20+
21+

docs/api/_autosummary/diff_diff.ContinuousDiDResults.rst

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,10 @@
3131
~ContinuousDiDResults.coef_var
3232
~ContinuousDiDResults.conf_int
3333
~ContinuousDiDResults.control_group
34+
~ContinuousDiDResults.covariates
3435
~ContinuousDiDResults.degree
36+
~ContinuousDiDResults.epv_threshold
37+
~ContinuousDiDResults.estimation_method
3538
~ContinuousDiDResults.event_study_effects
3639
~ContinuousDiDResults.is_significant
3740
~ContinuousDiDResults.n_bootstrap
@@ -41,12 +44,16 @@
4144
~ContinuousDiDResults.overall_se
4245
~ContinuousDiDResults.overall_t_stat
4346
~ContinuousDiDResults.p_value
47+
~ContinuousDiDResults.pscore_fallback
48+
~ContinuousDiDResults.pscore_trim
4449
~ContinuousDiDResults.rank_deficient_action
50+
~ContinuousDiDResults.reference_dose
4551
~ContinuousDiDResults.se
4652
~ContinuousDiDResults.seed
4753
~ContinuousDiDResults.significance_stars
4854
~ContinuousDiDResults.survey_metadata
4955
~ContinuousDiDResults.t_stat
56+
~ContinuousDiDResults.treatment_type
5057
~ContinuousDiDResults.dose_response_att
5158
~ContinuousDiDResults.dose_response_acrt
5259
~ContinuousDiDResults.overall_att

0 commit comments

Comments
 (0)