Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
69 commits
Select commit Hold shift + click to select a range
a786085
Add JOSS paper and bibliography for submission
vahid-ahmadi Mar 23, 2026
7fb0128
Add Pavel Makarchuk as author in JOSS paper
vahid-ahmadi Mar 23, 2026
7aedc2f
Adapt JOSS paper from UK-only to multi-country policyengine.py
vahid-ahmadi Mar 23, 2026
ac8a602
Add US research impact citations to JOSS paper
vahid-ahmadi Mar 23, 2026
0e61eda
Fix citations, convert to American spelling, and fix grammar
vahid-ahmadi Mar 23, 2026
f893bd3
Reorder authors: Pavel Makarchuk before Vahid Ahmadi
vahid-ahmadi Mar 23, 2026
95e114c
Edit Summary and Statement of Need per review feedback
vahid-ahmadi Mar 23, 2026
fb1eb93
Update install docs, remove code styling, reorder US before UK
vahid-ahmadi Mar 23, 2026
2c3ff23
Merge framework bullets, add US program count, remove web app bullet
vahid-ahmadi Mar 23, 2026
0603547
Merge analysis bullets, use .py package name, remove 10ds-microsim
vahid-ahmadi Mar 23, 2026
452862e
Add US academic/policy citations and US funders
vahid-ahmadi Mar 23, 2026
3dafc7e
Remove all code-style backtick formatting from prose text
vahid-ahmadi Mar 23, 2026
51db607
Remove 'Multi-Country' from paper title
vahid-ahmadi Mar 23, 2026
0964bd5
Remove 'Open-Source' from paper title
vahid-ahmadi Mar 23, 2026
ba4c107
Remove dev install command from Statement of Need
vahid-ahmadi Mar 23, 2026
7752427
Add Atlanta Fed PRD, NSF POSE award; use external reference URLs
vahid-ahmadi Mar 23, 2026
e01d3ae
Reorder all sections: US before UK throughout
vahid-ahmadi Mar 23, 2026
190ebdc
Fix double parentheses in AI disclosure, remove test scaffolding, pip…
vahid-ahmadi Mar 23, 2026
d70aa4d
Remove pip install commands from Statement of Need
vahid-ahmadi Mar 23, 2026
018056d
Consolidate to 3 bullets, delete cross-country comparison sentence
vahid-ahmadi Mar 23, 2026
805fb08
Remove TaxBenefitModelVersion and RegionRegistry from paper text
vahid-ahmadi Mar 23, 2026
d0571e0
Replace PE self-links with external URLs, remove country model paragraph
vahid-ahmadi Mar 23, 2026
d0976d5
Update Nikhil ORCID, reorder authors, quote affiliation values
vahid-ahmadi Mar 30, 2026
e2b96b0
Add Pavel's ORCID
vahid-ahmadi Mar 30, 2026
f79aa07
Tighten JOSS paper, add architecture diagram, code example, and align…
vahid-ahmadi Mar 31, 2026
e8e4af4
Revise JOSS paper rationale and preview
MaxGhenis Apr 1, 2026
675ac4f
Restore styled JOSS preview
MaxGhenis Apr 2, 2026
e02e911
Replace fake data repo citations with real Enhanced CPS paper
vahid-ahmadi Apr 2, 2026
915e553
Add proper figure reference for architecture diagram in paper
vahid-ahmadi Apr 2, 2026
4ac4206
Update HTML previews to match paper.md citation and figure changes
vahid-ahmadi Apr 2, 2026
b88f067
Populate Max Ghenis ORCID
MaxGhenis Apr 2, 2026
1f13b81
Fix Claude year to 2026, move figure position, fix Atlanta Fed URL
vahid-ahmadi Apr 2, 2026
6e21a8a
Sync HTML previews with paper.md changes
vahid-ahmadi Apr 2, 2026
11ad6c9
Add code example and foundational microsimulation references
vahid-ahmadi Apr 2, 2026
e1e397d
Update paper date to 2 April 2026
vahid-ahmadi Apr 2, 2026
7e2f556
Remove 'and drafting of this paper' from AI disclosure
vahid-ahmadi Apr 2, 2026
b5d0810
Shorten architecture figure caption
vahid-ahmadi Apr 2, 2026
f781c8d
Polish paper: reorder authors, fix figure, update output labels, gram…
vahid-ahmadi Apr 7, 2026
e62c46d
Remove non-runnable paper example
MaxGhenis Apr 7, 2026
0f075dc
Clarify policyengine.py JOSS positioning
MaxGhenis Apr 7, 2026
01a317d
Tighten JOSS reviewer documentation
MaxGhenis Apr 7, 2026
bc48c4e
Tighten JOSS reviewer path and scope
MaxGhenis Apr 7, 2026
134c861
Add model references and package naming
MaxGhenis Apr 9, 2026
c16c837
Add JOSS draft PDF compilation workflow
vahid-ahmadi Apr 9, 2026
76f057d
date
vahid-ahmadi Apr 9, 2026
1b008c0
Refine state of field references
MaxGhenis Apr 9, 2026
9c943f0
Soften comparative paper tone
MaxGhenis Apr 9, 2026
6c9352f
Improve JOSS paper writing style: neutral tone, active voice, new cit…
MaxGhenis Apr 9, 2026
b99f2be
Merge remote-tracking branch 'origin/main' into joss-paper
MaxGhenis Apr 9, 2026
fc61815
Address simulated JOSS reviewer feedback
MaxGhenis Apr 9, 2026
337fdaf
Address second referee feedback
MaxGhenis Apr 9, 2026
1825426
Address Codex referee feedback
MaxGhenis Apr 9, 2026
5f24285
Address third referee feedback: factual accuracy in Table 1 and code …
MaxGhenis Apr 9, 2026
cf83dc9
Document reproducibility boundary in JOSS paper
MaxGhenis Apr 12, 2026
3578b6a
Trim JOSS manuscript to fit word limit
MaxGhenis Apr 12, 2026
31e480b
Clarify replication architecture in paper
MaxGhenis Apr 12, 2026
6dabfbe
Tighten replication claims in paper
MaxGhenis Apr 12, 2026
b7e7a39
Sync HTML previews with paper.md, update date, format package names
vahid-ahmadi Apr 13, 2026
a8fce88
Remove redundant paper.html
vahid-ahmadi Apr 13, 2026
12680ae
Polish paper layout: figure placement, captions, merge paragraphs
vahid-ahmadi Apr 13, 2026
3acfb70
Address reviewer feedback: reduce redundancy, fix citations, trim cap…
vahid-ahmadi Apr 13, 2026
626edfc
Document TRACE provenance in paper
MaxGhenis Apr 13, 2026
24bb0e9
Merge main into joss-paper, resolving conflicts
vahid-ahmadi Apr 14, 2026
d28f343
Update JOSS citation metadata to 3.4.4
vahid-ahmadi Apr 16, 2026
165ed7d
Update JOSS paper date
vahid-ahmadi Apr 16, 2026
463b328
Tighten JOSS paper summary and impact section
vahid-ahmadi Apr 16, 2026
6676912
Revise JOSS paper for review
vahid-ahmadi Apr 17, 2026
2ce5b63
Merge remote-tracking branch 'origin/main' into joss-paper
MaxGhenis Apr 20, 2026
fcd9399
Update paper.md for policyengine v4 API
MaxGhenis Apr 20, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions .github/workflows/draft-pdf.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
on:
push:
paths:
- paper.md
- paper.bib
- architecture.png
pull_request:
paths:
- paper.md
- paper.bib
- architecture.png

jobs:
paper:
runs-on: ubuntu-latest
name: Draft PDF
steps:
- uses: actions/checkout@v4
- uses: openjournals/openjournals-draft-action@master
with:
journal: joss
- uses: actions/upload-artifact@v4
with:
name: paper
path: paper.pdf
33 changes: 33 additions & 0 deletions CITATION.cff
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
cff-version: 1.2.0
message: "If you use this software, please cite it as below."
type: software
title: policyengine
version: 3.4.4
date-released: "2026-04-13"
url: "https://github.com/PolicyEngine/policyengine.py"
abstract: "An open-source Python package that provides a common analysis layer for tax-benefit microsimulation across the US and the UK."
license: AGPL-3.0
authors:
- family-names: Ghenis
given-names: Max
orcid: "https://orcid.org/0000-0002-1335-8277"
affiliation: PolicyEngine
- family-names: Ahmadi
given-names: Vahid
orcid: "https://orcid.org/0009-0004-1093-6272"
affiliation: PolicyEngine
- family-names: Woodruff
given-names: Nikhil
orcid: "https://orcid.org/0009-0009-5004-4910"
affiliation: PolicyEngine
- family-names: Makarchuk
given-names: Pavel
orcid: "https://orcid.org/0009-0003-4869-7409"
affiliation: PolicyEngine
keywords:
- microsimulation
- tax
- benefit
- public policy
- Python
repository-code: "https://github.com/PolicyEngine/policyengine.py"
64 changes: 64 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
# Contributor covenant code of conduct

## Our pledge

We as members, contributors, and leaders pledge to make participation in our
community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible disability, ethnicity, sex characteristics, gender
identity and expression, level of experience, education, socio-economic status,
nationality, personal appearance, race, religion, or sexual identity
and orientation.

We pledge to act and interact in ways that contribute to an open, welcoming,
diverse, inclusive, and healthy community.

## Our standards

Examples of behavior that contributes to a positive environment for our
community include:

* Demonstrating empathy and kindness toward other people
* Being respectful of differing opinions, viewpoints, and experiences
* Giving and gracefully accepting constructive feedback
* Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience
* Focusing on what is best not just for us as individuals, but for the
overall community

Examples of unacceptable behavior include:

* The use of sexualized language or imagery, and sexual attention or
advances of any kind
* Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or email
address, without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting

## Enforcement responsibilities

Community leaders are responsible for clarifying and enforcing our standards of
acceptable behavior and will take appropriate and fair corrective action in
response to any behavior that they deem inappropriate, threatening, offensive,
or harmful.

## Scope

This Code of Conduct applies within all community spaces, and also applies when
an individual is officially representing the community in public spaces.

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement at
hello@policyengine.org. All complaints will be reviewed and investigated
promptly and fairly.

## Attribution

This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 2.0, available at
https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.

[homepage]: https://www.contributor-covenant.org
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ docs-serve:
quarto preview docs

install:
uv pip install -e .[dev]
uv pip install -e ".[dev]"

format:
ruff format .
Expand Down
Binary file added architecture.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
48 changes: 48 additions & 0 deletions architecture.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions changelog.d/joss-paper.added.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Added JOSS paper (paper.md and paper.bib) for submission to the Journal of Open Source Software.
7 changes: 4 additions & 3 deletions examples/paper_repro_uk.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
"""Reproduce the UK policy-reform analysis used in the JOSS paper draft.
"""Reproduce a UK policy-reform analysis for the JOSS paper.

This script uses the same reform shown in `paper.md`, but adds the missing
dataset setup so it can run end-to-end from a fresh checkout.
This script demonstrates the population-level workflow described in the paper,
using a UK reform (raising the personal allowance). The paper's inline code
example uses a US reform; this script complements it with the UK equivalent.

Run:
uv run --python 3.14 --extra uk python examples/paper_repro_uk.py
Expand Down
Loading
Loading