From a0bfe5f484183f0059d452c3a10a28755a7f0a20 Mon Sep 17 00:00:00 2001 From: Charles Carlson Date: Sun, 3 Aug 2025 14:58:18 -0700 Subject: [PATCH 1/8] Adds Issue templates --- .github/ISSUE_TEMPLATE/bug_report.yaml | 61 ++++++++++++++++++ .github/ISSUE_TEMPLATE/feature_request.yaml | 64 +++++++++++++++++++ .../ISSUE_TEMPLATE/installation_issue.yaml | 36 +++++++++++ .github/ISSUE_TEMPLATE/performance_issue.yaml | 59 +++++++++++++++++ 4 files changed, 220 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/bug_report.yaml create mode 100644 .github/ISSUE_TEMPLATE/feature_request.yaml create mode 100644 .github/ISSUE_TEMPLATE/installation_issue.yaml create mode 100644 .github/ISSUE_TEMPLATE/performance_issue.yaml diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml new file mode 100644 index 00000000..5e4db37b --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yaml @@ -0,0 +1,61 @@ +name: Bug Report +description: Report incorrect behavior in the tmlt.analytics library +title: "BUG: " +labels: [Bug, Needs Triage] + +body: + - type: checkboxes + id: checks + attributes: + label: Basic checks + options: + - label: > + I can confirm that there isn't a seperate issue filed related to this bug. + required: true + - label: > + I can reproduce this bug on the [latest version] + (https://tmlt.dev/analytics/latest/changelog.html of tmlt.analytics. + required: true + - type: textarea + id: example + attributes: + label: Reproducible Example + description: > + Please add an example that reproduces the bug. + + [This guide](https://matthewrocklin.com/blog/work/2018/02/28/minimal-bug-reports) has guidance + on how to create an example. + placeholder: > + from pyspark.sql import SparkSession + from tmlt.analytics import Session, PureDPBudget, AddOneRow + + spark = SparkSession.builder.appName("example").getOrCreate() + df = spark.createDataFrame( + [(1, "Alice"), (2, "Bob")], + ["id", "name"] + ) + + session = Session.Builder() \ + .with_private_dataframe("example", df, AddOneRow()) \ + .with_privacy_budget(PureDPBudget(1)) \ + .build() + ... + render: python + validations: + required: true + - type: textarea + id: problem + attributes: + label: Bug Description + description: > + Please describe the bug, specifically the undesirable behavior, shown by your example. + validations: + required: true + - type: textarea + id: expected-behavior + attributes: + label: Expected Behavior + description: > + Please describe what the exepected program outputs of your example code are. + validations: + required: true diff --git a/.github/ISSUE_TEMPLATE/feature_request.yaml b/.github/ISSUE_TEMPLATE/feature_request.yaml new file mode 100644 index 00000000..e054226e --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yaml @@ -0,0 +1,64 @@ +name: Feature Request +description: Suggest an improvement for tmlt.analytics +title: "Feature Request: " +labels: [Enhancement, Needs Triage] + +body: + - type: checkboxes + id: checks + attributes: + label: Feature Category + description: Please mark what category of feature you're proposing. + options: + - label: > + Adding new functionality to tmlt.analytics + - label: > + Changing existing functionality in tmlt.analytics + - label: > + Removing existing functionality in tmlt.analytics + - type: textarea + id: description + attributes: + label: Use Case Description + description: > + Please describe what the use case for your proposed feature is. What type of problem does this feature solve? + placeholder: > + I have to generate tabular statistics with a sparse keyset. A sparse keyset results in lots of spurious cell outputs. + validations: + required: true + - type: textarea + id: feature + attributes: + label: Feature Request + description: > + Please describe the feature that you are proposing. Include any relevant code examples that describe the feature. + placeholder: > + Enable KeySet Creation using ApproxDP. + + from pyspark.sql import SparkSession + from tmlt.analytics import Session, ApproxDPBudget, AddOneRow, QueryBuilder + + spark = SparkSession.builder.appName("example").getOrCreate() + df = spark.createDataFrame( + [(1, "Alice"), (2, "Bob")], + ["id", "name"] + ) + + budget = ApproxDPBudget(1, 10e-8) + + session = Session.Builder() \ + .with_private_dataframe("example", df, AddOneRow()) \ + .with_privacy_budget(budget) \ + .build() + + keyset_query = QueryBuilder("example").get_groups() + keyset = session.evaluate(keyset_query, budget) + ... + validations: + required: true + - type: textarea + id: information + attributes: + label: Additional Information + description: > + Please add any relevant details, code, Github links, other issues, or academic papers. \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/installation_issue.yaml b/.github/ISSUE_TEMPLATE/installation_issue.yaml new file mode 100644 index 00000000..3cf570c0 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/installation_issue.yaml @@ -0,0 +1,36 @@ +name: Installation Issue +description: Report issues installing tmlt.analytics. +title: "Install: " +labels: [Install, Needs Triage] + +body: + - type: input + id: platform + attributes: + label: Platform + description: > + Please describe the system you're trying to install on. + + Import notes for tmlt.analytics: + - What versions of Java, Python, and Spark do you have installed? + - What processor architecture (ex: x86_64 or arm) are you installing on? + - What operating system and version are you installing on? + - What version of tmlt.core are you using? + validations: + required: true + - type: textarea + id: logs + attributes: + label: Installation Issue + description: > + Please describe the current issue you're having. Add relevant error messages and logs. + value: > + Describe the issue here. + +
+ Add relevant error messages. +
+ +
+ Replace this line with the installation logs. +
\ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/performance_issue.yaml b/.github/ISSUE_TEMPLATE/performance_issue.yaml new file mode 100644 index 00000000..703d9a29 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/performance_issue.yaml @@ -0,0 +1,59 @@ +name: Performance Issue +description: Report slow runtime performance or memory use errors. +title: "Performance: " +labels: [Performance, Needs Triage] + +body: + - type: checkboxes + id: checks + attributes: + label: Basic checks + options: + - label: > + I can confirm that another issue hasn't been filed for this problem. + required: true + - label: > + I can reproduce this bug on the [latest version] + (https://tmlt.dev/analytics/latest/changelog.html of tmlt.analytics. + required: true + - type: textarea + id: example + attributes: + label: Reproducible Example + description: > + Please add an example that reproduces the bug. + + [This guide](https://matthewrocklin.com/blog/work/2018/02/28/minimal-bug-reports) has guidance + on how to create an example. + placeholder: > + from pyspark.sql import SparkSession + from tmlt.analytics import Session, PureDPBudget, AddOneRow + + spark = SparkSession.builder.appName("example").getOrCreate() + df = spark.createDataFrame( + [(1, "Alice"), (2, "Bob")], + ["id", "name"] + ) + + session = Session.Builder() \ + .with_private_dataframe("example", df, AddOneRow()) \ + .with_privacy_budget(PureDPBudget(1)) \ + .build() + ... + render: python + validations: + required: true + - type: textarea + id: prior-performance + attributes: + label: Prior Performance + description: > + If an earlier version of tmlt.analytics didn't have this performance issue, + provide the relevant version numbers. + - type: textarea + id: problem + attributes: + label: Problem Statement + description: > + If this is not a performance issue with the newest version of tmlt.analytics, + please describe what the performance issue is. \ No newline at end of file From c390accf4a7a2477e28037bd7e82cec3784dd65b Mon Sep 17 00:00:00 2001 From: Charles Carlson Date: Sun, 3 Aug 2025 15:10:38 -0700 Subject: [PATCH 2/8] Adjusts issue templates based on review --- .github/ISSUE_TEMPLATE/bug_report.yaml | 2 +- .github/ISSUE_TEMPLATE/feature_request.yaml | 3 ++- .github/ISSUE_TEMPLATE/installation_issue.yaml | 13 ++++--------- .github/ISSUE_TEMPLATE/performance_issue.yaml | 2 +- 4 files changed, 8 insertions(+), 12 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml index 5e4db37b..b0073d4a 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yaml +++ b/.github/ISSUE_TEMPLATE/bug_report.yaml @@ -14,7 +14,7 @@ body: required: true - label: > I can reproduce this bug on the [latest version] - (https://tmlt.dev/analytics/latest/changelog.html of tmlt.analytics. + (https://tmlt.dev/analytics/latest/changelog.html) of tmlt.analytics. required: true - type: textarea id: example diff --git a/.github/ISSUE_TEMPLATE/feature_request.yaml b/.github/ISSUE_TEMPLATE/feature_request.yaml index e054226e..fbbf0e50 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.yaml +++ b/.github/ISSUE_TEMPLATE/feature_request.yaml @@ -33,7 +33,7 @@ body: description: > Please describe the feature that you are proposing. Include any relevant code examples that describe the feature. placeholder: > - Enable KeySet Creation using ApproxDP. + # Enable KeySet Creation using ApproxDP. from pyspark.sql import SparkSession from tmlt.analytics import Session, ApproxDPBudget, AddOneRow, QueryBuilder @@ -53,6 +53,7 @@ body: keyset_query = QueryBuilder("example").get_groups() keyset = session.evaluate(keyset_query, budget) + ... validations: required: true diff --git a/.github/ISSUE_TEMPLATE/installation_issue.yaml b/.github/ISSUE_TEMPLATE/installation_issue.yaml index 3cf570c0..1d18b812 100644 --- a/.github/ISSUE_TEMPLATE/installation_issue.yaml +++ b/.github/ISSUE_TEMPLATE/installation_issue.yaml @@ -25,12 +25,7 @@ body: description: > Please describe the current issue you're having. Add relevant error messages and logs. value: > - Describe the issue here. - -
- Add relevant error messages. -
- -
- Replace this line with the installation logs. -
\ No newline at end of file + - Describe the issue here. + - Add relevant error messages. + - Replace this line with the installation logs. + \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/performance_issue.yaml b/.github/ISSUE_TEMPLATE/performance_issue.yaml index 703d9a29..255f765e 100644 --- a/.github/ISSUE_TEMPLATE/performance_issue.yaml +++ b/.github/ISSUE_TEMPLATE/performance_issue.yaml @@ -14,7 +14,7 @@ body: required: true - label: > I can reproduce this bug on the [latest version] - (https://tmlt.dev/analytics/latest/changelog.html of tmlt.analytics. + (https://tmlt.dev/analytics/latest/changelog.html) of tmlt.analytics. required: true - type: textarea id: example From 8d9192b074bf878d323cb26c9346b661f6cf75df Mon Sep 17 00:00:00 2001 From: Charles Carlson Date: Sun, 3 Aug 2025 22:23:02 -0700 Subject: [PATCH 3/8] Adjusts per PR feedback --- .github/ISSUE_TEMPLATE/bug_report.yaml | 5 ++--- .github/ISSUE_TEMPLATE/feature_request.yaml | 1 - .github/ISSUE_TEMPLATE/installation_issue.yaml | 2 -- .github/ISSUE_TEMPLATE/performance_issue.yaml | 5 ++--- 4 files changed, 4 insertions(+), 9 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml index b0073d4a..2e435153 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yaml +++ b/.github/ISSUE_TEMPLATE/bug_report.yaml @@ -1,6 +1,5 @@ name: Bug Report description: Report incorrect behavior in the tmlt.analytics library -title: "BUG: " labels: [Bug, Needs Triage] body: @@ -13,8 +12,8 @@ body: I can confirm that there isn't a seperate issue filed related to this bug. required: true - label: > - I can reproduce this bug on the [latest version] - (https://tmlt.dev/analytics/latest/changelog.html) of tmlt.analytics. + I can reproduce this bug on the [latest version](https://tmlt.dev/analytics/latest/changelog.html) + of tmlt.analytics. required: true - type: textarea id: example diff --git a/.github/ISSUE_TEMPLATE/feature_request.yaml b/.github/ISSUE_TEMPLATE/feature_request.yaml index fbbf0e50..3c4940d1 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.yaml +++ b/.github/ISSUE_TEMPLATE/feature_request.yaml @@ -1,6 +1,5 @@ name: Feature Request description: Suggest an improvement for tmlt.analytics -title: "Feature Request: " labels: [Enhancement, Needs Triage] body: diff --git a/.github/ISSUE_TEMPLATE/installation_issue.yaml b/.github/ISSUE_TEMPLATE/installation_issue.yaml index 1d18b812..530d97a6 100644 --- a/.github/ISSUE_TEMPLATE/installation_issue.yaml +++ b/.github/ISSUE_TEMPLATE/installation_issue.yaml @@ -1,6 +1,5 @@ name: Installation Issue description: Report issues installing tmlt.analytics. -title: "Install: " labels: [Install, Needs Triage] body: @@ -28,4 +27,3 @@ body: - Describe the issue here. - Add relevant error messages. - Replace this line with the installation logs. - \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/performance_issue.yaml b/.github/ISSUE_TEMPLATE/performance_issue.yaml index 255f765e..39bb082f 100644 --- a/.github/ISSUE_TEMPLATE/performance_issue.yaml +++ b/.github/ISSUE_TEMPLATE/performance_issue.yaml @@ -1,6 +1,5 @@ name: Performance Issue description: Report slow runtime performance or memory use errors. -title: "Performance: " labels: [Performance, Needs Triage] body: @@ -13,8 +12,8 @@ body: I can confirm that another issue hasn't been filed for this problem. required: true - label: > - I can reproduce this bug on the [latest version] - (https://tmlt.dev/analytics/latest/changelog.html) of tmlt.analytics. + I can reproduce this bug on the [latest version](https://tmlt.dev/analytics/latest/changelog.html) + of tmlt.analytics. required: true - type: textarea id: example From 165fcfc5cf576dffd7dd8fae72b15a8b0a6ac48a Mon Sep 17 00:00:00 2001 From: Charles Carlson Date: Wed, 6 Aug 2025 18:20:22 -0700 Subject: [PATCH 4/8] PR feedback incorporated --- .github/ISSUE_TEMPLATE/bug_report.yaml | 16 +++-- .../ISSUE_TEMPLATE/installation_issue.yaml | 29 ---------- .github/ISSUE_TEMPLATE/performance_issue.yaml | 58 ------------------- 3 files changed, 12 insertions(+), 91 deletions(-) delete mode 100644 .github/ISSUE_TEMPLATE/installation_issue.yaml delete mode 100644 .github/ISSUE_TEMPLATE/performance_issue.yaml diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml index 2e435153..6af12a0a 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yaml +++ b/.github/ISSUE_TEMPLATE/bug_report.yaml @@ -11,10 +11,6 @@ body: - label: > I can confirm that there isn't a seperate issue filed related to this bug. required: true - - label: > - I can reproduce this bug on the [latest version](https://tmlt.dev/analytics/latest/changelog.html) - of tmlt.analytics. - required: true - type: textarea id: example attributes: @@ -58,3 +54,15 @@ body: Please describe what the exepected program outputs of your example code are. validations: required: true + - type: input + id: platform + attributes: + label: Platform + description: > + [Optional] If you think this bug is an installation issue, please describe your system: + + Import notes for tmlt.analytics: + - What versions of Java, Python, and Spark do you have installed? + - What processor architecture (ex: x86_64 or arm) are you installing on? + - What operating system and version are you installing on? + - What version of tmlt.core are you using? diff --git a/.github/ISSUE_TEMPLATE/installation_issue.yaml b/.github/ISSUE_TEMPLATE/installation_issue.yaml deleted file mode 100644 index 530d97a6..00000000 --- a/.github/ISSUE_TEMPLATE/installation_issue.yaml +++ /dev/null @@ -1,29 +0,0 @@ -name: Installation Issue -description: Report issues installing tmlt.analytics. -labels: [Install, Needs Triage] - -body: - - type: input - id: platform - attributes: - label: Platform - description: > - Please describe the system you're trying to install on. - - Import notes for tmlt.analytics: - - What versions of Java, Python, and Spark do you have installed? - - What processor architecture (ex: x86_64 or arm) are you installing on? - - What operating system and version are you installing on? - - What version of tmlt.core are you using? - validations: - required: true - - type: textarea - id: logs - attributes: - label: Installation Issue - description: > - Please describe the current issue you're having. Add relevant error messages and logs. - value: > - - Describe the issue here. - - Add relevant error messages. - - Replace this line with the installation logs. diff --git a/.github/ISSUE_TEMPLATE/performance_issue.yaml b/.github/ISSUE_TEMPLATE/performance_issue.yaml deleted file mode 100644 index 39bb082f..00000000 --- a/.github/ISSUE_TEMPLATE/performance_issue.yaml +++ /dev/null @@ -1,58 +0,0 @@ -name: Performance Issue -description: Report slow runtime performance or memory use errors. -labels: [Performance, Needs Triage] - -body: - - type: checkboxes - id: checks - attributes: - label: Basic checks - options: - - label: > - I can confirm that another issue hasn't been filed for this problem. - required: true - - label: > - I can reproduce this bug on the [latest version](https://tmlt.dev/analytics/latest/changelog.html) - of tmlt.analytics. - required: true - - type: textarea - id: example - attributes: - label: Reproducible Example - description: > - Please add an example that reproduces the bug. - - [This guide](https://matthewrocklin.com/blog/work/2018/02/28/minimal-bug-reports) has guidance - on how to create an example. - placeholder: > - from pyspark.sql import SparkSession - from tmlt.analytics import Session, PureDPBudget, AddOneRow - - spark = SparkSession.builder.appName("example").getOrCreate() - df = spark.createDataFrame( - [(1, "Alice"), (2, "Bob")], - ["id", "name"] - ) - - session = Session.Builder() \ - .with_private_dataframe("example", df, AddOneRow()) \ - .with_privacy_budget(PureDPBudget(1)) \ - .build() - ... - render: python - validations: - required: true - - type: textarea - id: prior-performance - attributes: - label: Prior Performance - description: > - If an earlier version of tmlt.analytics didn't have this performance issue, - provide the relevant version numbers. - - type: textarea - id: problem - attributes: - label: Problem Statement - description: > - If this is not a performance issue with the newest version of tmlt.analytics, - please describe what the performance issue is. \ No newline at end of file From 0fa1eda060cc10c41dcb8ae9e490414225701286 Mon Sep 17 00:00:00 2001 From: Charles Carlson Date: Wed, 6 Aug 2025 18:22:08 -0700 Subject: [PATCH 5/8] Textarea not label --- .github/ISSUE_TEMPLATE/bug_report.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml index 6af12a0a..cfc217a2 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yaml +++ b/.github/ISSUE_TEMPLATE/bug_report.yaml @@ -54,7 +54,7 @@ body: Please describe what the exepected program outputs of your example code are. validations: required: true - - type: input + - type: textarea id: platform attributes: label: Platform From 04eaa232e0b7d0207065d9cc7b30f097750d69da Mon Sep 17 00:00:00 2001 From: Charles Carlson Date: Wed, 6 Aug 2025 18:23:29 -0700 Subject: [PATCH 6/8] slight change to text --- .github/ISSUE_TEMPLATE/bug_report.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml index cfc217a2..c42339e8 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yaml +++ b/.github/ISSUE_TEMPLATE/bug_report.yaml @@ -61,7 +61,8 @@ body: description: > [Optional] If you think this bug is an installation issue, please describe your system: - Import notes for tmlt.analytics: + + Important notes for tmlt.analytics: - What versions of Java, Python, and Spark do you have installed? - What processor architecture (ex: x86_64 or arm) are you installing on? - What operating system and version are you installing on? From 2749408737b0bf2e7c5a8332eec8055a27b847e8 Mon Sep 17 00:00:00 2001 From: Charles Carlson Date: Fri, 8 Aug 2025 19:14:12 -0700 Subject: [PATCH 7/8] Adjustes template per feedback --- .github/ISSUE_TEMPLATE/bug_report.yaml | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml index c42339e8..be31267b 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yaml +++ b/.github/ISSUE_TEMPLATE/bug_report.yaml @@ -54,6 +54,14 @@ body: Please describe what the exepected program outputs of your example code are. validations: required: true + - type: textarea + id: version-info + attributes: + label: version-info + description: > + Please add what version of tmlt.analytics you have: + validations: + required: true - type: textarea id: platform attributes: @@ -61,8 +69,8 @@ body: description: > [Optional] If you think this bug is an installation issue, please describe your system: - - Important notes for tmlt.analytics: + + Important notes for tmlt.analytics: - What versions of Java, Python, and Spark do you have installed? - What processor architecture (ex: x86_64 or arm) are you installing on? - What operating system and version are you installing on? From 62a5fdb72766b68e5cfb57b872e263c56239f2cb Mon Sep 17 00:00:00 2001 From: Charles Carlson Date: Sat, 9 Aug 2025 12:40:29 -0700 Subject: [PATCH 8/8] Small changes --- .github/ISSUE_TEMPLATE/bug_report.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml index be31267b..f97221ba 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yaml +++ b/.github/ISSUE_TEMPLATE/bug_report.yaml @@ -54,10 +54,10 @@ body: Please describe what the exepected program outputs of your example code are. validations: required: true - - type: textarea + - type: input id: version-info attributes: - label: version-info + label: Version Info description: > Please add what version of tmlt.analytics you have: validations: