PennyLaneAI/catalyst - Open Source PR Review Scorecard

A JIT compiler for hybrid quantum programs in PennyLane

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

External PR Merge Rate: 42%

Response Time: 22h

First Timer Success: 44%

Frequently Asked Questions

Is PennyLaneAI/catalyst welcoming to first-time open-source contributors?

PennyLaneAI/catalyst has a recorded first-timer success rate of 44.4%. 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 PennyLaneAI/catalyst respond to incoming external pull requests in approximately 21.6 hours on average. Keeping PRs focused on single tasks and ensuring tests pass helps maintainers review faster.

What does the 60.7 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.7 places PennyLaneAI/catalyst in the A tier.

What is the external contributor pull request merge rate for PennyLaneAI/catalyst?

The external contributor pull request merge rate for PennyLaneAI/catalyst is 42.2%, based on public PR activity from non-core contributors.

Are there Good First Issues available in PennyLaneAI/catalyst?

PennyLaneAI/catalyst currently has 3 active issue(s) tagged with beginner-friendly labels like "good first issue", "beginner", or "up-for-grabs".

PennyLaneAI
PennyLaneAI/catalystA•Welcoming238
GitHub
Back to Explorer
PennyLaneAI

PennyLaneAI/catalyst

238
Active (30d)A•Welcoming(61/100)Python

A JIT compiler for hybrid quantum programs in PennyLane

GitHub
Compare••
Jump to:

AI Maintainer Review Guidelines

Review Persona

Active Open-Source Maintainer

Warmth Score
7.8/10
Patience Score
8.2/10
Nitpick Rate
20%

Active maintainer team in PennyLaneAI/catalyst welcoming community pull requests and bug fixes.

Top PR Submission Do's

  • •Ensure code complies with repository style conventions
  • •Keep PRs focused and well-documented

Top PR Friction Pitfalls (Don'ts)

  • •Do not submit unlinked PRs without context
  • •Do not break existing automated test suites
Response Velocity
21 hours
Standard maintainer review cycle

Average Response Latency

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

Merge Efficiency
42.2%
Moderate PR acceptance rate

External Acceptance Rate

Percentage of community pull requests successfully merged into main.

First-Timer Success
44.4%
Accepts new contributor PRs

First PR Conversion

Rate at which developers submitting their first repository PR succeed.

Active Maintainers
29 core
Highly collaborative maintainer core
Diagnostic Health HUD
42.2%
Merge Gauge
44.4%
1st-Timer
Community Vibe44/100

Embed C-Rank Badge

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

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

Active Good First Issues (4)

View on GitHub

All binary artifacts produced in a Catalyst build are built for the specific local architecture (arm on mac), except for libcustom_calls built with setup.py. The latter is built as a fat binary (universal2) and the resulting wheel is also incorrectly tagged as a universal2 wheel. Fixing this in the setup.py config should be straightforward and would save us the rename step during wheel publishing, as well as shaving off a tiny bit of unused x86 code in the libcustom_calls.

📅 Opened Jun 2, 2026💬 2 comments
Quality: 30/100Contribute

Consider the circuit CNOT(0, 1) - X(0) %0 = quantum.alloc( 2) : !quantum.reg %1 = quantum.extract %0[ 0] : !quantum.reg -> !quantum.bit %2 = quantum.extract %0[ 1] : !quantum.reg -> !quantum.bit %out_qubits:2 = quantum.custom "CNOT"() %1, %2 : !quantum.bit, !quantum.bit %3 = quantum.insert %0[ 0], %out_qubits#0 : !quantum.reg, !quantum.bit %4 = quantum.insert %3[ 1], %out_qubits#1 : !quantum.reg, !quantum.bit %5 = quantum.extract %4[ 0] : !quantum.reg -> !quantum.bit %out_qubits_0 = quantum.custom "PauliX"() %5 : !quantum.bit %6 = quantum.insert %4[ 0], %out_qubits_0 : !quantum.reg, !quantum.bit quantum.dealloc %6 : !quantum.reg After --canonicalize, the IR stays unchanged. Proposed improvement: By interchanging the order of the two inserts after the CNOT: %0 = quantum.alloc( 2) : !quantum.reg %1 = quantum.extract %0[ 0] : !quantum.reg -> !quantum.bit %2 = quantum.extract %0[ 1] : !quantum.reg -> !quantum.bit %out_qubits:2 = quantum.custom "CNOT"() %1, %

📅 Opened Apr 21, 2026💬 2 comments
Quality: 70/100Contribute

Similar to #2604, but even simpler by just deleting phase ops without control wires. There is no control regions yet in the quantum dialect, but once there are this pass would need to ensure there are no control regions in its parent chain, or call graph ancestry. One way to guarantee this right now for the future is to analyze this criteria with an opt-in model (e.g. only func, scf, module, and adjoint regions are allowed), making the pass safe.

📅 Opened Mar 20, 2026💬 0 comments
Quality: 30/100Contribute

When a gate operation carries the adjoint attribute, we cannonicalize it away in the operation's canonicalizer itself. For example, this is the one on quantum.custom op. We see that Hermitian gates have their adjoint attribute removed, and rotation gates have the rotation angle negated. However, maybe we shouldn't automatically (because canonicalizations happen very frequently) optimize the adjoint of operations away, because: quantum compilation is often a bit more deliberate from the user side a user may also expect to see an adjointed op when inspecting a circuit (because that's what they wrote) the adjoint carries semantic meaning A more controllable approach would simply wrap this is a pass. This was proposed by Romain when we first started to implement merge rotations (for OQD). At the time we didn't want to deal with all the adjoint possibilities in the merge rotation pass, so we just decided to canonicalize the adjoint away on the gate itself. But of course, pulling it out in

📅 Opened Feb 25, 2026💬 0 comments
Quality: 70/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 PennyLaneAI/catalyst

When evaluating whether to contribute to PennyLaneAI/catalyst, 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 PennyLaneAI/catalyst acknowledge new external contributions in approximately 21 hours. Out of all submitted pull requests from non-core authors in the last 180-day window, 42.2% were successfully merged into the primary branch.

Frequently Asked Questions - Contributing to PennyLaneAI/catalyst

01

Is PennyLaneAI/catalyst welcoming to first-time open-source contributors?

PennyLaneAI/catalyst has a recorded first-timer success rate of 44.4%. 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 ~21 hours. Keeping PRs scoped to single concerns and ensuring CI checks succeed will optimize review turnaround.

03

What does the 60.7 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.7 places PennyLaneAI/catalyst in the Welcoming tier.

04

What is the external contributor pull request merge rate for PennyLaneAI/catalyst?

The external pull request merge rate is 42.2%. 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 PennyLaneAI/catalyst?

Yes, PennyLaneAI/catalyst currently has 3 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 PennyLaneAI/catalyst 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.