NVIDIA-NeMo/Curator - Open Source PR Review Scorecard

Scalable data pre processing and curation toolkit for LLMs

C-Rank Grade: A (Welcoming) - 61/100

External PR Merge Rate: 55%

Response Time: 3d

First Timer Success: 41%

Frequently Asked Questions

Is NVIDIA-NeMo/Curator welcoming to first-time open-source contributors?

NVIDIA-NeMo/Curator has a recorded first-timer success rate of 40.7%. Repositories ranked A typically provide actionable feedback during code reviews and actively nurture new community contributors.

How fast can I expect code review feedback on my pull request?

Maintainers in NVIDIA-NeMo/Curator respond to incoming external pull requests in approximately 73.7 hours on average. Keeping PRs focused on single tasks and ensuring tests pass helps maintainers review faster.

What does the 60.6 C-Rank™ score (A Tier) represent?

The C-Rank™ system evaluates GitHub projects on a 0–100 scale using real data: PR merge rates, review turnaround time, active maintainer presence, and first-time contributor success. A score of 60.6 places NVIDIA-NeMo/Curator in the A tier.

What is the external contributor pull request merge rate for NVIDIA-NeMo/Curator?

The external contributor pull request merge rate for NVIDIA-NeMo/Curator is 54.8%, based on public PR activity from non-core contributors.

Are there Good First Issues available in NVIDIA-NeMo/Curator?

NVIDIA-NeMo/Curator currently has 10 active issue(s) tagged with beginner-friendly labels like "good first issue", "beginner", or "up-for-grabs".

NVIDIA-NeMo
NVIDIA-NeMo/CuratorA•Welcoming1.8k
GitHub
Back to Explorer
NVIDIA-NeMo

NVIDIA-NeMo/Curator

1,803
Active (30d)A•Welcoming(61/100)Python

Scalable data pre processing and curation toolkit for LLMs

GitHub
Compare••
Jump to:

AI Maintainer Review Guidelines

Review Persona

High-Friction Gatekeeper

Warmth Score
6.0/10
Patience Score
6.7/10
Nitpick Rate
52%

Rigorous architecture standards (80% critical review signals). Ensure PRs strictly follow guidelines before requesting review in NVIDIA-NeMo/Curator.

Top PR Submission Do's

  • •Add unit tests with >80% coverage for modified code paths
  • •Run repository linter and code formatters locally before pushing
  • •Link relevant GitHub issue ID in PR description pre-flight checklist

Top PR Friction Pitfalls (Don'ts)

  • •Do not submit unlinked PRs without referencing an existing issue
  • •Do not mix refactoring and feature logic into a single commit
  • •Do not ping maintainers repeatedly within 24 hours of opening
Response Velocity
3 days+
Standard maintainer review cycle

Average Response Latency

Tracks hours until a maintainer leaves a review, comment, or PR response.

Merge Efficiency
54.8%
Moderate PR acceptance rate

External Acceptance Rate

Percentage of community pull requests successfully merged into main.

First-Timer Success
40.7%
Accepts new contributor PRs

First PR Conversion

Rate at which developers submitting their first repository PR succeed.

Active Maintainers
26 core
Highly collaborative maintainer core
Diagnostic Health HUD
54.8%
Merge Gauge
40.7%
1st-Timer
Community Vibe34/100

Embed C-Rank Badge

Show contributors that your repository actively reviews and merges external pull requests.

GetMerged C-Rank badge for NVIDIA-NeMo/Curator
[![GetMerged C-Rank](https://getmerged.abhishekco.de/api/badge/NVIDIA-NeMo/Curator)](https://getmerged.abhishekco.de/NVIDIA-NeMo/Curator?utm_source=github&utm_medium=badge)

Active Good First Issues (5)

View on GitHub

Several heuristic filters in nemo_curator/stages/text/filters/heuristic/string.py crash when a document is empty or whitespace-only, instead of returning a score. from nemo_curator.stages.text.filters.heuristic.string import MeanWordLengthFilter MeanWordLengthFilter().score_document("") # ZeroDivisionError MeanWordLengthFilter().score_document(" ") # same for "\n\n" and "\xa0" Affected (nemo-curator 1.3.0; string.py on main is unchanged): Filter Error Line on main SymbolsToWordsFilter ZeroDivisionError num_symbol_words / len(words) (87) BulletsFilter ZeroDivisionError num_bullet_lines / len(sentences) (169) LongWordFilter ValueError: max() iterable argument is empty max(len(w) for w in ...) (235) MeanWordLengthFilter ZeroDivisionError sum(word_lens) / len(word_lens) (328) PunctuationFilter ZeroDivisionError ... / len(sentences) (351) EllipsisFilter ZeroDivisionError ... / len(sentences) (378) WordsWithoutAlphabetsFilter ZeroDivisionError num_english_alpha / len(

📅 Opened Sep 29, 2026💬 3 comments
Quality: 50/100Contribute

Problem When using RayDataExecutor with GPU stages, Ray Data's autoscaler starts with min_concurrency=1 and scales up one actor at a time as it measures throughput. In a benchmark with 4 GPUs and a single GPU stage, this means: Time GPUs active t=40s 1/4 t=81s 2/4 t=121s 3/4 t=161s 4/4 161 seconds are wasted ramping up before the pipeline runs at full utilization. By contrast, Xenna (which pre-allocates all actors upfront) reaches 4/4 GPUs by ~60s. Root cause calculate_concurrency_for_actors_for_stage in utils.py returns (1, max_actors) — a min of 1 — which tells Ray Data to start with one actor and autoscale up from there. Proposed fix Look into if some config from Ray Data's Config influences this to be more aggressive Since ray-project/ray#54648 this should be supported Impact On a 4-GPU, 1-GPU-stage benchmark (embeddinggemma-300m on 1GB tinystories), wall-clock time was 538s with Ray Data vs 428s with Xenna — roughly a 20% gap largely attributable to the slo

📅 Opened Mar 17, 2026💬 1 comment
Quality: 30/100Contribute

Problem RayDataStageActorAdapter calls setup_on_node and setup in __init__ but never calls teardown(). Stages that hold GPU resources (e.g. vLLM EngineCore subprocesses) are never cleaned up, causing GPU memory leaks between pipeline runs. Fix Per Ray's actor cleanup docs we might have to have __ray_shutdown__ def __ray_shutdown__(self): with suppress(Exception): self.teardown() RayActorPoolExecutor already does this correctly by calling actor.teardown.remote() before ray.shutdown(). Please make sure to add a unittest for this for instance you can add a test that creates a file on the filesystem and then deletes it in teardown.

📅 Opened Mar 17, 2026💬 6 comments
Quality: 30/100Contribute

Internally we can use swiftstack. But the benchmark should test CPU i/o for json / parquet GPU i/o for json / parquet (compressed / uncompressed) The findings should be reported and new issues be created

📅 Opened Feb 18, 2026💬 1 comment
Quality: 15/100Contribute

On Ray Data pipelines we specify concurrency and it seems like its deprecated since 2.51 2026-02-18 10:06:27,932 WARNING util.py:624 -- The argument ``concurrency`` is deprecated in Ray 2.51. Please specify argument ``compute`` instead. For more information, see https://docs.ray.io/en/master/data/transforming-data.html#stateful-transforms.

📅 Opened Feb 18, 2026💬 1 comment
Quality: 25/100Contribute
Looking for more Python beginner tasks?Explore Python GFI

Contributor Community Vibe Feedback

Rate what actually matters after opening a pull request here.

Have you contributed to this repo?

Rate your first-hand PR experience (review speed, maintainer responsiveness, and onboarding ease) to help other contributors.

3 ratings required
Maintainer helpfulness
Review speed
Beginner friendliness

Contributor Compatibility & Review Speed Analysis for NVIDIA-NeMo/Curator

When evaluating whether to contribute to NVIDIA-NeMo/Curator, response velocity and maintainer engagement are crucial. GetMerged continuously tracks pull request trajectories, first-comment latency, and code review rounds to help developers avoid submitting pull requests to backlogged repositories.

Currently, maintainers of NVIDIA-NeMo/Curator acknowledge new external contributions in approximately 3 days+. Out of all submitted pull requests from non-core authors in the last 180-day window, 54.8% were successfully merged into the primary branch.

Frequently Asked Questions - Contributing to NVIDIA-NeMo/Curator

01

Is NVIDIA-NeMo/Curator welcoming to first-time open-source contributors?

NVIDIA-NeMo/Curator has a recorded first-timer success rate of 40.7%. Repositories ranked Welcoming typically provide actionable feedback during code reviews and actively nurture new community contributors.

02

How fast can I expect code review feedback on my pull request?

The initial maintainer response time averages ~3 days+. Keeping PRs scoped to single concerns and ensuring CI checks succeed will optimize review turnaround.

03

What does the 60.6 C-Rank™ score represent?

The C-Rank™ index scores repositories on a 0 to 100 scale using an objective formula: external PR merge rates, initial response speed, active maintainer count, and first-time contributor retention. A score of 60.6 places NVIDIA-NeMo/Curator in the Welcoming tier.

04

What is the external contributor pull request merge rate for NVIDIA-NeMo/Curator?

The external pull request merge rate is 54.8%. GetMerged isolates non-core community contributions so external developers get an accurate benchmark of PR acceptance probability.

05

Are there beginner Good First Issues open in NVIDIA-NeMo/Curator?

Yes, NVIDIA-NeMo/Curator currently has 10 active issue(s) tagged with beginner-friendly labels. You can inspect these directly from the repository issues tab.

GetMerged C-Rank™ Indexing Standard

All metrics displayed for NVIDIA-NeMo/Curator are automatically retrieved via the public GitHub API and recalculated daily. Insider pull requests submitted by repository owners or organization members are excluded from merge rate calculations to preserve objective external contributor statistics.