alamb commented on issue #23839:
URL: https://github.com/apache/datafusion/issues/23839#issuecomment-6340201744

   FWIW I am trying a new idea to label PRs from authors that made PRs in over 
20 other repositories int he last 30 days
   
   
[label_prolific.py](https://github.com/user-attachments/files/33818583/label_prolific.py)
   
   To be clear there is nothing wrong with this, though I will likely 
personally prioritize such PRs lower in my review queue
   
   There are quite a few
   
   ```shell
   
   andrewlamb@Andrews-MacBook-Pro-3:~/Software/arrow-rs$ 
~/bin/label_prolific.py https://github.com/apache/datafusion
   Repository: apache/datafusion
   Window: 2026-09-22 to 2026-10-22 (30 days); threshold: more than 20 distinct 
repositories
   Found 469 open PR(s) from 216 author(s) in 0 request(s) (cached)
   Label 'Prolific Author' does not exist yet
   Fetched contribution stats in 0 request(s) (216 author(s) from cache)
   Exempt: 1fanwang has 14 merged PR(s) in apache/datafusion (>= 10); not 
marking as prolific despite 59 repos in window
   Exempt: bvolpato has 11 merged PR(s) in apache/datafusion (>= 10); not 
marking as prolific despite 36 repos in window
   Exempt: goutamadwant has 18 merged PR(s) in apache/datafusion (>= 10); not 
marking as prolific despite 51 repos in window
   Prolific: DeviousCardi: 53 repos, 64 PRs; top: ClickHouse/ClickHouse (5), 
GreptimeTeam/greptimedb (3), apache/iceberg-rust (3), goauthentik/authentik 
(2), risingwavelabs/risingwave (2)
   Prolific: Harshil-1603: 31 repos, 54 PRs; top: diybitcoinhardware/embit (7), 
Youth-Research-Center/PandaPlot (4), pydot/pydot (4), harshitsaini17/flowd (3), 
apache/datafusion (2)
   Prolific: Prajwal-k-tech: 29 repos, 46 PRs; top: Prajwal-k-tech/KOJ (6), 
Prajwal-k-tech/Prajwal-k-tech (4), apache/datafusion (3), helix-editor/helix 
(2), tracel-ai/burn (2)
   Prolific: Shahzeb-DataEngineer: 21 repos, 29 PRs; top: delta-io/delta-rs 
(4), kedro-org/kedro (3), apache/datafusion (2), open-metadata/docs-om (2), 
canonical/craft-cli (2)
   Prolific: Shoryamishra61: 26 repos, 34 PRs; top: ClickHouse/ClickHouse (4), 
apache/datafusion (2), temporalio/sdk-typescript (2), qdrant/qdrant (2), 
pytorch/pytorch (2)
   Prolific: ahlag: 26 repos, 53 PRs; top: delta-io/delta-rs (6), 
apache/arrow-rs (6), llvm/llvm-project (5), opensearch-project/OpenSearch (4), 
jax-ml/jax (3)
   Prolific: cargopete: 59 repos, 704 PRs; top: nuthatch-org/nuthatch (458), 
nuthatch-org/nuthatch-frontend (94), nuthatch-org/burrmill (57), 
cargopete/gyrfalcon (16), nuthatch-org/nuthatch-tui-client (15)
   Prolific: charan-rathore: 100 repos, 584 PRs; top: charan-rathore/memoRABLE 
(46), charan-rathore/IntelliRAG (43), NousResearch/hermes-agent (43), 
charan-rathore/Time-Series-Temperature-Modelling (38), yetone/magpie (35)
   Prolific: choksi2212: 99 repos, 256 PRs; top: IkarusAILabs/OpenPulse (28), 
eiserv/easySFTP (24), keycloak/keycloak (15), leodip/goiabada (8), 
choksi2212/open-uml (8)
   Prolific: efegokdemir: 100 repos, 726 PRs; top: Basekick-Labs/arc (57), 
RexCode-Digital/shopify-app-changeguard (48), 
RexCode-Digital/shopify-upgrade-guard (27), RexCode-Digital/shopify-scope-guard 
(22), RexCode-Digital/shopify-app-review-guard (16)
   Prolific: entity-0-0-2: 42 repos, 45 PRs; top: tauri-apps/tauri (3), 
dcmjs-org/dcmjs (2), Kozea/CairoSVG (1), CrowCpp/Crow (1), 
walkor/webman-framework (1)
   Prolific: jdymitarai: 64 repos, 218 PRs; top: jdymitarai/zerospinner (105), 
google/highway (6), google/double-conversion (4), google/gvisor (3), 
vitessio/vitess (3)
   Prolific: mikamikasuki: 100 repos, 529 PRs; top: mikamikasuki/forest (155), 
loopx-project/loopx (94), langgenius/dify (46), PrefectHQ/fastmcp (30), 
oven-sh/bun (8)
   Prolific: mrhard9090: 25 repos, 151 PRs; top: MorpheApp/morphe-patches (49), 
doobidoo/mcp-memory-service (17), open-pencil/open-pencil (13), 
veryl-lang/veryl (12), rtk-ai/rtk (8)
   Prolific: nikolas-sapa: 43 repos, 175 PRs; top: nikolas-sapa/co-train (32), 
nikolas-sapa/ns-ui (31), adaptive-machine-learning/CapyMOA (13), 
nikolas-sapa/grip-browser (11), nikolas-sapa/fieldquest (8)
   Prolific: ozenyunus35: 58 repos, 184 PRs; top: repowise-dev/repowise (26), 
uutils/coreutils (20), stephenh/ts-proto (17), oxc-project/oxc (12), 
tursodatabase/turso (7)
   Prolific: paoValle: 99 repos, 233 PRs; top: paoValle/orbitree (60), 
paoValle/llmgateway (10), stablyai/orca (9), paoValle/pgdrift (9), 
paoValle/ledgerlab (8)
   Prolific: patrickswedish: 22 repos, 59 PRs; top: vllm-project/vllm (10), 
apache/datafusion (9), continuedev/continue (7), sgl-project/sglang (5), 
Aider-AI/aider (5)
   Prolific: princejain756: 39 repos, 82 PRs; top: questdb/questdb (9), 
apache/datafusion-sqlparser-rs (7), JSQLParser/JSqlParser (6), axios/axios (5), 
sqlfluff/sqlfluff (5)
   Prolific: rawsun007: 26 repos, 46 PRs; top: childrentime/reactuse (6), 
SCons/scons (5), Homebrew/brew (4), go-gitea/gitea (3), sublimelsp/LSP (3)
   Prolific: spicysharkco: 100 repos, 337 PRs; top: ohler55/ojg (24), 
vllm-project/aibrix (13), dop251/goja (12), clastix/kamaji (11), 
burningalchemist/sql_exporter (11)
   Prolific: tayfuryldz: 68 repos, 227 PRs; top: andre-motta/tongs (33), 
getsotto/sotto (28), github/advisory-database (16), tayfuryldz/headerproof 
(11), metamug/plunger (9)
   Prolific: ump45nose: 100 repos, 682 PRs; top: tursodatabase/turso (37), 
giampaolo/psutil (27), coredns/coredns (26), redis/go-redis (23), 
ueberdosis/tiptap (21)
   Labeling #25561 (DeviousCardi): fix: do not evaluate a volatile coalesce or 
nvl argument twice
   Labeling #25624 (tayfuryldz): fix: preserve dynamic filter identity across 
FFI
   Labeling #25647 (Shoryamishra61): fix: propagate projection benefit through 
extension nodes in OptimizeProjections
   Labeling #25772 (mrhard9090): fix: keep nested inner joins with a different 
null equality in EliminateCrossJoin
   Labeling #25971 (mrhard9090): fix: hash every NaN like the canonical NaN in 
Spark xxhash64
   Labeling #26006 (patrickswedish): fix: route sort-merge semi/anti/mark key 
equality through JoinKeyComparator
   Labeling #26010 (mrhard9090): fix: evaluate sort-merge join filters that 
reference no columns
   Labeling #26011 (mrhard9090): fix(spark): array_contains float equality 
matches Spark
   Labeling #26025 (cargopete): docs: add nuthatch to known users
   Labeling #26031 (efegokdemir): fix: remap nested TopK filter expressions 
before their children
   Labeling #26040 (Prajwal-k-tech): docs: explain dialect requirement for 
lambda examples
   Labeling #26041 (Prajwal-k-tech): docs: explain date_bin daylight saving 
behavior
   Labeling #26042 (Prajwal-k-tech): fix: preserve outer join equivalences for 
null rows
   Labeling #26045 (mikamikasuki): fix: validate temporal display formats
   Labeling #26049 (mikamikasuki): fix: preserve timezone casts in timestamp 
comparisons
   Labeling #26056 (mikamikasuki): fix: reset aggregate dynamic filters between 
recursive iterations
   Labeling #26059 (mikamikasuki): fix: preserve unassigned inner join keys
   Labeling #26060 (mikamikasuki): fix: preserve DISTINCT semantics in lateral 
decorrelation
   Labeling #26146 (entity-0-0-2): fix: avoid sort-based joins for nested float 
join keys with negative zeros
   Labeling #26151 (jdymitarai): fix: downcast to FixedSizeBinaryArray in CASE 
bytes lookup table
   Labeling #26198 (Shahzeb-DataEngineer): fix: validate 
join_integer_prefilter_min_pruning_ratio at SET time
   Labeling #26211 (jdymitarai): fix: cast outer projection expr to declared 
field type in SingleDistinctToGroupBy
   Labeling #26246 (nikolas-sapa): docs: add NestedLoopJoinExec metrics to 
user-guide metrics page
   Labeling #26291 (Harshil-1603): docs: show runnable query examples in API 
documentation
   Labeling #26294 (Harshil-1603): docs: explain timestamp timezone comparisons
   Labeling #26312 (ozenyunus35): refactor: share the REPLACE and validation 
steps of the wildcard arms in project_with_validation
   Labeling #26344 (ozenyunus35): fix(spark): return NULL from parse_url for a 
malformed URL unless ANSI
   Labeling #26345 (ozenyunus35): fix(spark): decode unbase64 input like 
Spark's MIME Base64 decoder
   Labeling #26346 (ozenyunus35): fix(spark): format_string %s of a DECIMAL and 
%g like Java's Formatter
   Labeling #26350 (DeviousCardi): fix: handle aggregate name collisions from 
casts
   Labeling #26373 (rawsun007): docs: fix SQL examples that the default dialect 
cannot parse
   Labeling #26394 (spicysharkco): fix(spark): normalize -0.0 in atan2 like 
Spark
   Labeling #26432 (ump45nose): fix: return no rows from TopK with LIMIT 0 
instead of panicking
   Labeling #26443 (ahlag): refactor(unparser): move the Join arm of 
select_to_sql_recursively into join_to_sql
   Labeling #26477 (paoValle): fix: plan ORDER BY on a source column hidden by 
a select alias
   Labeling #26482 (choksi2212): fix: return NULL from bit_xor when a sliding 
frame has no non-NULL values
   Labeling #26489 (Shahzeb-DataEngineer): refactor(spark): deduplicate bucket 
computation in width_bucket_interval_mdn_exact
   Labeling #26494 (charan-rathore): fix: do not treat float min==max Parquet 
statistics as constant columns
   Labeling #26529 (ahlag): fix: plan TRY_CAST struct casts by field name like 
CAST
   Labeling #26531 (ump45nose): perf: create DiskManager Directories mode temp 
dirs on first spill
   Labeling #26551 (princejain756): fix(optimizer): preserve correlated columns 
when removing filter above SubqueryAlias
   Created label 'Prolific Author'
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to