diff-diff 2.7.3__tar.gz → 2.7.5__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 (67) hide show
  1. {diff_diff-2.7.3 → diff_diff-2.7.5}/PKG-INFO +5 -1
  2. {diff_diff-2.7.3 → diff_diff-2.7.5}/diff_diff/__init__.py +27 -4
  3. {diff_diff-2.7.3 → diff_diff-2.7.5}/diff_diff/bacon.py +268 -121
  4. {diff_diff-2.7.3 → diff_diff-2.7.5}/diff_diff/continuous_did.py +406 -90
  5. {diff_diff-2.7.3 → diff_diff-2.7.5}/diff_diff/continuous_did_results.py +75 -52
  6. diff_diff-2.7.5/diff_diff/efficient_did.py +1656 -0
  7. {diff_diff-2.7.3 → diff_diff-2.7.5}/diff_diff/efficient_did_bootstrap.py +15 -4
  8. diff_diff-2.7.5/diff_diff/efficient_did_covariates.py +814 -0
  9. {diff_diff-2.7.3 → diff_diff-2.7.5}/diff_diff/efficient_did_results.py +85 -4
  10. {diff_diff-2.7.3 → diff_diff-2.7.5}/diff_diff/efficient_did_weights.py +96 -17
  11. {diff_diff-2.7.3 → diff_diff-2.7.5}/diff_diff/estimators.py +222 -27
  12. {diff_diff-2.7.3 → diff_diff-2.7.5}/diff_diff/imputation.py +298 -52
  13. {diff_diff-2.7.3 → diff_diff-2.7.5}/diff_diff/imputation_bootstrap.py +75 -70
  14. {diff_diff-2.7.3 → diff_diff-2.7.5}/diff_diff/imputation_results.py +23 -0
  15. {diff_diff-2.7.3 → diff_diff-2.7.5}/diff_diff/linalg.py +503 -149
  16. diff_diff-2.7.5/diff_diff/power.py +2588 -0
  17. {diff_diff-2.7.3 → diff_diff-2.7.5}/diff_diff/pretrends.py +3 -2
  18. {diff_diff-2.7.3 → diff_diff-2.7.5}/diff_diff/results.py +78 -10
  19. {diff_diff-2.7.3 → diff_diff-2.7.5}/diff_diff/stacked_did.py +131 -4
  20. {diff_diff-2.7.3 → diff_diff-2.7.5}/diff_diff/stacked_did_results.py +23 -0
  21. {diff_diff-2.7.3 → diff_diff-2.7.5}/diff_diff/staggered.py +487 -117
  22. {diff_diff-2.7.3 → diff_diff-2.7.5}/diff_diff/staggered_aggregation.py +188 -87
  23. {diff_diff-2.7.3 → diff_diff-2.7.5}/diff_diff/staggered_bootstrap.py +19 -1
  24. {diff_diff-2.7.3 → diff_diff-2.7.5}/diff_diff/staggered_results.py +24 -1
  25. {diff_diff-2.7.3 → diff_diff-2.7.5}/diff_diff/sun_abraham.py +154 -61
  26. diff_diff-2.7.5/diff_diff/survey.py +706 -0
  27. {diff_diff-2.7.3 → diff_diff-2.7.5}/diff_diff/triple_diff.py +370 -62
  28. diff_diff-2.7.5/diff_diff/trop.py +862 -0
  29. diff_diff-2.7.5/diff_diff/trop_global.py +988 -0
  30. diff_diff-2.7.5/diff_diff/trop_local.py +1014 -0
  31. {diff_diff-2.7.3 → diff_diff-2.7.5}/diff_diff/twfe.py +56 -9
  32. {diff_diff-2.7.3 → diff_diff-2.7.5}/diff_diff/two_stage.py +306 -52
  33. {diff_diff-2.7.3 → diff_diff-2.7.5}/diff_diff/two_stage_bootstrap.py +60 -59
  34. {diff_diff-2.7.3 → diff_diff-2.7.5}/diff_diff/two_stage_results.py +23 -0
  35. {diff_diff-2.7.3 → diff_diff-2.7.5}/diff_diff/utils.py +168 -111
  36. diff_diff-2.7.5/diff_diff/visualization/__init__.py +61 -0
  37. diff_diff-2.7.5/diff_diff/visualization/_common.py +292 -0
  38. diff_diff-2.7.5/diff_diff/visualization/_continuous.py +274 -0
  39. diff_diff-2.7.5/diff_diff/visualization/_diagnostic.py +798 -0
  40. diff_diff-2.7.5/diff_diff/visualization/_event_study.py +1066 -0
  41. diff_diff-2.7.5/diff_diff/visualization/_power.py +651 -0
  42. diff_diff-2.7.5/diff_diff/visualization/_staggered.py +833 -0
  43. diff_diff-2.7.5/diff_diff/visualization/_synthetic.py +197 -0
  44. {diff_diff-2.7.3 → diff_diff-2.7.5}/pyproject.toml +6 -1
  45. {diff_diff-2.7.3 → diff_diff-2.7.5}/rust/Cargo.lock +1 -1
  46. {diff_diff-2.7.3 → diff_diff-2.7.5}/rust/Cargo.toml +1 -1
  47. diff_diff-2.7.3/diff_diff/efficient_did.py +0 -843
  48. diff_diff-2.7.3/diff_diff/power.py +0 -1350
  49. diff_diff-2.7.3/diff_diff/trop.py +0 -2738
  50. diff_diff-2.7.3/diff_diff/visualization.py +0 -1727
  51. {diff_diff-2.7.3 → diff_diff-2.7.5}/README.md +0 -0
  52. {diff_diff-2.7.3 → diff_diff-2.7.5}/diff_diff/_backend.py +0 -0
  53. {diff_diff-2.7.3 → diff_diff-2.7.5}/diff_diff/bootstrap_utils.py +0 -0
  54. {diff_diff-2.7.3 → diff_diff-2.7.5}/diff_diff/continuous_did_bspline.py +0 -0
  55. {diff_diff-2.7.3 → diff_diff-2.7.5}/diff_diff/datasets.py +0 -0
  56. {diff_diff-2.7.3 → diff_diff-2.7.5}/diff_diff/diagnostics.py +0 -0
  57. {diff_diff-2.7.3 → diff_diff-2.7.5}/diff_diff/honest_did.py +0 -0
  58. {diff_diff-2.7.3 → diff_diff-2.7.5}/diff_diff/prep.py +0 -0
  59. {diff_diff-2.7.3 → diff_diff-2.7.5}/diff_diff/prep_dgp.py +0 -0
  60. {diff_diff-2.7.3 → diff_diff-2.7.5}/diff_diff/synthetic_did.py +0 -0
  61. {diff_diff-2.7.3 → diff_diff-2.7.5}/diff_diff/trop_results.py +0 -0
  62. {diff_diff-2.7.3 → diff_diff-2.7.5}/rust/build.rs +0 -0
  63. {diff_diff-2.7.3 → diff_diff-2.7.5}/rust/src/bootstrap.rs +0 -0
  64. {diff_diff-2.7.3 → diff_diff-2.7.5}/rust/src/lib.rs +0 -0
  65. {diff_diff-2.7.3 → diff_diff-2.7.5}/rust/src/linalg.rs +0 -0
  66. {diff_diff-2.7.3 → diff_diff-2.7.5}/rust/src/trop.rs +0 -0
  67. {diff_diff-2.7.3 → diff_diff-2.7.5}/rust/src/weights.rs +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: diff-diff
3
- Version: 2.7.3
3
+ Version: 2.7.5
4
4
  Classifier: Development Status :: 5 - Production/Stable
5
5
  Classifier: Intended Audience :: Science/Research
6
6
  Classifier: Operating System :: OS Independent
@@ -24,14 +24,18 @@ Requires-Dist: ruff>=0.1.0 ; extra == 'dev'
24
24
  Requires-Dist: mypy>=1.0 ; extra == 'dev'
25
25
  Requires-Dist: maturin>=1.4,<2.0 ; extra == 'dev'
26
26
  Requires-Dist: matplotlib>=3.5 ; extra == 'dev'
27
+ Requires-Dist: nbmake>=1.5 ; extra == 'dev'
28
+ Requires-Dist: plotly>=5.0 ; extra == 'dev'
27
29
  Requires-Dist: sphinx>=6.0 ; extra == 'docs'
28
30
  Requires-Dist: pydata-sphinx-theme>=0.15 ; extra == 'docs'
29
31
  Requires-Dist: sphinxext-opengraph>=0.9 ; extra == 'docs'
30
32
  Requires-Dist: sphinx-sitemap>=2.5 ; extra == 'docs'
31
33
  Requires-Dist: nbsphinx>=0.9 ; extra == 'docs'
32
34
  Requires-Dist: matplotlib>=3.5 ; extra == 'docs'
35
+ Requires-Dist: plotly>=5.0 ; extra == 'plotly'
33
36
  Provides-Extra: dev
34
37
  Provides-Extra: docs
38
+ Provides-Extra: plotly
35
39
  Summary: Difference-in-Differences causal inference with sklearn-like API. Callaway-Sant'Anna, Synthetic DiD, Honest DiD, event studies, parallel trends.
36
40
  Keywords: causal-inference,difference-in-differences,econometrics,statistics,treatment-effects,event-study,staggered-adoption,parallel-trends,synthetic-control,panel-data,did,twfe,callaway-santanna,honest-did,sensitivity-analysis
37
41
  Author: diff-diff contributors
@@ -53,11 +53,15 @@ from diff_diff.honest_did import (
53
53
  from diff_diff.power import (
54
54
  PowerAnalysis,
55
55
  PowerResults,
56
+ SimulationMDEResults,
56
57
  SimulationPowerResults,
58
+ SimulationSampleSizeResults,
57
59
  compute_mde,
58
60
  compute_power,
59
61
  compute_sample_size,
62
+ simulate_mde,
60
63
  simulate_power,
64
+ simulate_sample_size,
61
65
  )
62
66
  from diff_diff.pretrends import (
63
67
  PreTrendsPower,
@@ -90,6 +94,10 @@ from diff_diff.results import (
90
94
  PeriodEffect,
91
95
  SyntheticDiDResults,
92
96
  )
97
+ from diff_diff.survey import (
98
+ SurveyDesign,
99
+ SurveyMetadata,
100
+ )
93
101
  from diff_diff.staggered import (
94
102
  CallawaySantAnna,
95
103
  CallawaySantAnnaResults,
@@ -147,12 +155,16 @@ from diff_diff.utils import (
147
155
  )
148
156
  from diff_diff.visualization import (
149
157
  plot_bacon,
158
+ plot_dose_response,
150
159
  plot_event_study,
151
160
  plot_group_effects,
161
+ plot_group_time_heatmap,
152
162
  plot_honest_event_study,
153
163
  plot_power_curve,
154
164
  plot_pretrends_power,
155
165
  plot_sensitivity,
166
+ plot_staircase,
167
+ plot_synth_weights,
156
168
  )
157
169
  from diff_diff.datasets import (
158
170
  clear_cache,
@@ -179,7 +191,7 @@ Stacked = StackedDiD
179
191
  Bacon = BaconDecomposition
180
192
  EDiD = EfficientDiD
181
193
 
182
- __version__ = "2.7.3"
194
+ __version__ = "2.7.5"
183
195
  __all__ = [
184
196
  # Estimators
185
197
  "DifferenceInDifferences",
@@ -212,7 +224,6 @@ __all__ = [
212
224
  "BaconDecompositionResults",
213
225
  "Comparison2x2",
214
226
  "bacon_decompose",
215
- "plot_bacon",
216
227
  # Results
217
228
  "DiDResults",
218
229
  "MultiPeriodDiDResults",
@@ -243,10 +254,17 @@ __all__ = [
243
254
  "EDiDBootstrapResults",
244
255
  "EDiD",
245
256
  # Visualization
257
+ "plot_bacon",
246
258
  "plot_event_study",
247
259
  "plot_group_effects",
248
260
  "plot_sensitivity",
249
261
  "plot_honest_event_study",
262
+ "plot_power_curve",
263
+ "plot_pretrends_power",
264
+ "plot_synth_weights",
265
+ "plot_staircase",
266
+ "plot_dose_response",
267
+ "plot_group_time_heatmap",
250
268
  # Parallel trends testing
251
269
  "check_parallel_trends",
252
270
  "check_parallel_trends_robust",
@@ -291,19 +309,24 @@ __all__ = [
291
309
  # Power analysis
292
310
  "PowerAnalysis",
293
311
  "PowerResults",
312
+ "SimulationMDEResults",
294
313
  "SimulationPowerResults",
314
+ "SimulationSampleSizeResults",
295
315
  "compute_mde",
296
316
  "compute_power",
297
317
  "compute_sample_size",
318
+ "simulate_mde",
298
319
  "simulate_power",
299
- "plot_power_curve",
320
+ "simulate_sample_size",
300
321
  # Pre-trends power analysis
301
322
  "PreTrendsPower",
302
323
  "PreTrendsPowerResults",
303
324
  "PreTrendsPowerCurve",
304
325
  "compute_pretrends_power",
305
326
  "compute_mdv",
306
- "plot_pretrends_power",
327
+ # Survey support
328
+ "SurveyDesign",
329
+ "SurveyMetadata",
307
330
  # Rust backend
308
331
  "HAS_RUST_BACKEND",
309
332
  # Linear algebra helpers