Skip to content

Commit 09c9444

Browse files
igerberclaude
andcommitted
Add Zenodo DOI auto-minting config for GitHub Releases
Enables Zenodo to mint a concept DOI + per-version DOI on every future GitHub Release. Zenodo's GitHub App reads `.zenodo.json` at the tagged commit and publishes a software record. Changes: - `.zenodo.json` (new): upload_type=software, MIT license, creators block (Gerber, Isaac; ORCID 0009-0009-3275-5591), related_identifiers linking to the GitHub source (isSupplementTo) and ReadTheDocs (isDocumentedBy). - `LICENSE` (new): standard MIT text with single-holder copyright. - `CITATION.cff`: version 3.1.1 -> 3.1.2, date-released updated to the v3.1.2 release date. - `pyproject.toml`: add `LICENSE` to `[tool.maturin].include` so it lands in the sdist tarball (not only in PKG-INFO's License-File metadata). Manual one-time setup (done out-of-band): Zenodo account linked to GitHub, the igerber/diff-diff repo toggled ON at https://zenodo.org/account/settings/github/. The next release tag after v3.1.2 will trigger the Zenodo webhook and mint DOIs. A follow-up PR will add the concept-DOI badge to README and a `doi:` field to CITATION.cff once the first DOI has been minted. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 306ed99 commit 09c9444

4 files changed

Lines changed: 60 additions & 3 deletions

File tree

.zenodo.json

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
{
2+
"upload_type": "software",
3+
"title": "diff-diff: Difference-in-Differences Causal Inference for Python",
4+
"description": "A Python library for Difference-in-Differences (DiD) causal inference analysis. Provides sklearn-like estimators for modern DiD methods including Callaway-Sant'Anna, Synthetic DiD, Honest DiD, event studies, and parallel trends testing. Validated against R packages (did, synthdid, fixest).",
5+
"creators": [
6+
{
7+
"name": "Gerber, Isaac",
8+
"orcid": "0009-0009-3275-5591"
9+
}
10+
],
11+
"license": "MIT",
12+
"access_right": "open",
13+
"keywords": [
14+
"difference-in-differences",
15+
"causal-inference",
16+
"econometrics",
17+
"python",
18+
"treatment-effects",
19+
"event-study",
20+
"staggered-adoption",
21+
"parallel-trends",
22+
"synthetic-control",
23+
"panel-data"
24+
],
25+
"related_identifiers": [
26+
{
27+
"relation": "isSupplementTo",
28+
"identifier": "https://github.com/igerber/diff-diff",
29+
"resource_type": "software"
30+
},
31+
{
32+
"relation": "isDocumentedBy",
33+
"identifier": "https://diff-diff.readthedocs.io/en/stable/"
34+
}
35+
]
36+
}

CITATION.cff

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ authors:
77
family-names: Gerber
88
orcid: "https://orcid.org/0009-0009-3275-5591"
99
license: MIT
10-
version: "3.1.1"
11-
date-released: "2026-04-16"
10+
version: "3.1.2"
11+
date-released: "2026-04-18"
1212
url: "https://github.com/igerber/diff-diff"
1313
repository-code: "https://github.com/igerber/diff-diff"
1414
keywords:

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2025-2026 Isaac Gerber
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ manifest-path = "rust/Cargo.toml"
9595
python-packages = ["diff_diff"]
9696
# Bundle LLM guide files (auto-inclusion varies across maturin 1.4-2.0; pin explicitly).
9797
# Bare-string glob form includes in both sdist and wheel.
98-
include = ["diff_diff/guides/*.txt"]
98+
include = ["diff_diff/guides/*.txt", "LICENSE"]
9999

100100
[tool.pytest.ini_options]
101101
testpaths = ["tests"]

0 commit comments

Comments
 (0)