diff-diff 2.0.2__tar.gz → 2.0.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. {diff_diff-2.0.2 → diff_diff-2.0.4}/PKG-INFO +2 -1
  2. {diff_diff-2.0.2 → diff_diff-2.0.4}/README.md +1 -0
  3. {diff_diff-2.0.2 → diff_diff-2.0.4}/diff_diff/__init__.py +25 -1
  4. diff_diff-2.0.4/diff_diff/datasets.py +708 -0
  5. {diff_diff-2.0.2 → diff_diff-2.0.4}/diff_diff/estimators.py +32 -38
  6. diff_diff-2.0.4/diff_diff/linalg.py +980 -0
  7. {diff_diff-2.0.2 → diff_diff-2.0.4}/diff_diff/staggered.py +69 -58
  8. {diff_diff-2.0.2 → diff_diff-2.0.4}/diff_diff/sun_abraham.py +14 -16
  9. {diff_diff-2.0.2 → diff_diff-2.0.4}/diff_diff/triple_diff.py +11 -14
  10. {diff_diff-2.0.2 → diff_diff-2.0.4}/diff_diff/twfe.py +26 -14
  11. {diff_diff-2.0.2 → diff_diff-2.0.4}/pyproject.toml +1 -1
  12. {diff_diff-2.0.2 → diff_diff-2.0.4}/rust/Cargo.lock +13 -13
  13. {diff_diff-2.0.2 → diff_diff-2.0.4}/rust/Cargo.toml +5 -1
  14. {diff_diff-2.0.2 → diff_diff-2.0.4}/rust/src/bootstrap.rs +62 -57
  15. {diff_diff-2.0.2 → diff_diff-2.0.4}/rust/src/linalg.rs +52 -26
  16. diff_diff-2.0.2/diff_diff/linalg.py +0 -418
  17. {diff_diff-2.0.2 → diff_diff-2.0.4}/diff_diff/_backend.py +0 -0
  18. {diff_diff-2.0.2 → diff_diff-2.0.4}/diff_diff/bacon.py +0 -0
  19. {diff_diff-2.0.2 → diff_diff-2.0.4}/diff_diff/diagnostics.py +0 -0
  20. {diff_diff-2.0.2 → diff_diff-2.0.4}/diff_diff/honest_did.py +0 -0
  21. {diff_diff-2.0.2 → diff_diff-2.0.4}/diff_diff/power.py +0 -0
  22. {diff_diff-2.0.2 → diff_diff-2.0.4}/diff_diff/prep.py +0 -0
  23. {diff_diff-2.0.2 → diff_diff-2.0.4}/diff_diff/pretrends.py +0 -0
  24. {diff_diff-2.0.2 → diff_diff-2.0.4}/diff_diff/results.py +0 -0
  25. {diff_diff-2.0.2 → diff_diff-2.0.4}/diff_diff/synthetic_did.py +0 -0
  26. {diff_diff-2.0.2 → diff_diff-2.0.4}/diff_diff/utils.py +0 -0
  27. {diff_diff-2.0.2 → diff_diff-2.0.4}/diff_diff/visualization.py +0 -0
  28. {diff_diff-2.0.2 → diff_diff-2.0.4}/rust/src/lib.rs +0 -0
  29. {diff_diff-2.0.2 → diff_diff-2.0.4}/rust/src/weights.rs +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: diff-diff
3
- Version: 2.0.2
3
+ Version: 2.0.4
4
4
  Classifier: Development Status :: 5 - Production/Stable
5
5
  Classifier: Intended Audience :: Science/Research
6
6
  Classifier: Operating System :: OS Independent
@@ -132,6 +132,7 @@ We provide Jupyter notebook tutorials in `docs/tutorials/`:
132
132
  | `06_power_analysis.ipynb` | Power analysis, MDE, sample size calculations, simulation-based power |
133
133
  | `07_pretrends_power.ipynb` | Pre-trends power analysis (Roth 2022), MDV, power curves |
134
134
  | `08_triple_diff.ipynb` | Triple Difference (DDD) estimation with proper covariate handling |
135
+ | `09_real_world_examples.ipynb` | Real-world data examples (Card-Krueger, Castle Doctrine, Divorce Laws) |
135
136
 
136
137
  ## Data Preparation
137
138
 
@@ -97,6 +97,7 @@ We provide Jupyter notebook tutorials in `docs/tutorials/`:
97
97
  | `06_power_analysis.ipynb` | Power analysis, MDE, sample size calculations, simulation-based power |
98
98
  | `07_pretrends_power.ipynb` | Pre-trends power analysis (Roth 2022), MDV, power curves |
99
99
  | `08_triple_diff.ipynb` | Triple Difference (DDD) estimation with proper covariate handling |
100
+ | `09_real_world_examples.ipynb` | Real-world data examples (Card-Krueger, Castle Doctrine, Divorce Laws) |
100
101
 
101
102
  ## Data Preparation
102
103
 
@@ -30,6 +30,10 @@ from diff_diff.diagnostics import (
30
30
  run_all_placebo_tests,
31
31
  run_placebo_test,
32
32
  )
33
+ from diff_diff.linalg import (
34
+ InferenceResult,
35
+ LinearRegression,
36
+ )
33
37
  from diff_diff.estimators import (
34
38
  DifferenceInDifferences,
35
39
  MultiPeriodDiD,
@@ -112,8 +116,17 @@ from diff_diff.visualization import (
112
116
  plot_pretrends_power,
113
117
  plot_sensitivity,
114
118
  )
119
+ from diff_diff.datasets import (
120
+ clear_cache,
121
+ list_datasets,
122
+ load_card_krueger,
123
+ load_castle_doctrine,
124
+ load_dataset,
125
+ load_divorce_laws,
126
+ load_mpdta,
127
+ )
115
128
 
116
- __version__ = "2.0.2"
129
+ __version__ = "2.0.4"
117
130
  __all__ = [
118
131
  # Estimators
119
132
  "DifferenceInDifferences",
@@ -199,4 +212,15 @@ __all__ = [
199
212
  "plot_pretrends_power",
200
213
  # Rust backend
201
214
  "HAS_RUST_BACKEND",
215
+ # Linear algebra helpers
216
+ "LinearRegression",
217
+ "InferenceResult",
218
+ # Datasets
219
+ "load_card_krueger",
220
+ "load_castle_doctrine",
221
+ "load_divorce_laws",
222
+ "load_mpdta",
223
+ "load_dataset",
224
+ "list_datasets",
225
+ "clear_cache",
202
226
  ]