mihai-dinculescu/tapo - Open Source PR Review Scorecard

🦀 Rust API, 🐍 Python API, and 🤖 MCP Server for TP-Link Tapo smart devices

C-Rank Grade: B (Solid) - 53/100

External PR Merge Rate: 38%

Response Time: 3d

First Timer Success: 100%

Frequently Asked Questions

Is mihai-dinculescu/tapo welcoming to first-time open-source contributors?

mihai-dinculescu/tapo has a recorded first-timer success rate of 100.0%. Repositories ranked B 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 mihai-dinculescu/tapo respond to incoming external pull requests in approximately 82.4 hours on average. Keeping PRs focused on single tasks and ensuring tests pass helps maintainers review faster.

What does the 52.9 C-Rank™ score (B 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 52.9 places mihai-dinculescu/tapo in the B tier.

What is the external contributor pull request merge rate for mihai-dinculescu/tapo?

The external contributor pull request merge rate for mihai-dinculescu/tapo is 37.5%, based on public PR activity from non-core contributors.

Are there Good First Issues available in mihai-dinculescu/tapo?

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

mihai-dinculescu
mihai-dinculescu/tapoB•Solid853
GitHub
Back to Explorer
mihai-dinculescu

mihai-dinculescu/tapo

853
Active (30d)B•Solid(53/100)Low Sample (<20 PRs)Rust

🦀 Rust API, 🐍 Python API, and 🤖 MCP Server for TP-Link Tapo smart devices

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%

Growing Rust project in mihai-dinculescu/tapo welcoming community pull requests and bug fixes.

Top PR Submission Do's

  • •Ensure code complies with Rust style conventions
  • •Keep PRs scoped 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
3 days+
Standard maintainer review cycle

Average Response Latency

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

Merge Efficiency
37.5%
Moderate PR acceptance rate

External Acceptance Rate

Percentage of community pull requests successfully merged into main.

First-Timer Success
100.0%
Strong first-timer PR acceptance rate

First PR Conversion

Rate at which developers submitting their first repository PR succeed.

Active Maintainers
9 core
Highly collaborative maintainer core
Diagnostic Health HUD
37.5%
Merge Gauge
100.0%
1st-Timer
Community Vibe45/100

Embed C-Rank Badge

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

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

Active Good First Issues (3)

View on GitHub

Summary The MCP server can turn energy-monitoring plugs on and off, but it can't read their history. The tapo library already supports this through get_energy_data and get_power_data, so this is mostly wiring. Proposal Add two get capabilities to get_device_state: EnergyData: energy used per hour, day or month (Wh), via get_energy_data. PowerData: power draw per 5 minutes or per hour (W), via get_power_data. Supported devices: P110, P110M, P115, and the P304M and P316M child plugs. Notes The device only accepts certain date ranges (see the docs on EnergyDataInterval and PowerDataInterval), and the library doesn't check them. Shape the inputs so a bad range can't be passed, e.g. Daily takes a year and quarter instead of a start date. get_energy_data interprets dates in the server's local time zone, and the Docker image runs in UTC unless TZ is set. Use the existing TriggerLogs capability as a template. It takes parameters and is wired through models.rs, requests/get_devices.rs and to

📅 Opened Sep 21, 2026💬 0 comments
Quality: 90/100Contribute

I was looking to get into smart home-ing and the Tapo L430C seems to be a good starting point. I could not find any mention of this model in the documentation or in the planned TODO, so making this issue. Amazon: https://amzn.eu/d/0fAXcvkY I will test this crate with my device in the upcoming week, if it works OotB, this issue can be closed with a simple documentation change.

📅 Opened Feb 23, 2026💬 1 comment
Quality: 70/100Contribute

Using the P100 python example I tried to connect to my P100, which is running very old firmware (1.2.10 Build 20210207 Rel. 67438) Attempting to run the example, I get an InvalidPublicKey error. I tried to turn on extra debug logging but couldn't find anything - can someone recommend debug steps? (venv) jammy@pi:~/tapo $ python3 tapo_p100.py Traceback (most recent call last): File "/home/jammy/tapo/tapo_p100.py", line 34, in <module> asyncio.run(main()) File "/usr/lib/python3.11/asyncio/runners.py", line 190, in run return runner.run(main) ^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/asyncio/runners.py", line 118, in run return self._loop.run_until_complete(task) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/asyncio/base_events.py", line 653, in run_until_complete return future.result() ^^^^^^^^^^^^^^^ File "/home/jammy/tapo/tapo_p100.py", line 15, in main device = await client.p100(ip_address) ^

📅 Opened Feb 10, 2026💬 6 comments
Quality: 70/100Contribute
Looking for more Rust beginner tasks?Explore Rust 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 mihai-dinculescu/tapo

When evaluating whether to contribute to mihai-dinculescu/tapo, 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 mihai-dinculescu/tapo acknowledge new external contributions in approximately 3 days+. Out of all submitted pull requests from non-core authors in the last 180-day window, 37.5% were successfully merged into the primary branch.

Frequently Asked Questions - Contributing to mihai-dinculescu/tapo

01

Is mihai-dinculescu/tapo welcoming to first-time open-source contributors?

mihai-dinculescu/tapo has a recorded first-timer success rate of 100.0%. Repositories ranked Solid 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 52.9 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 52.9 places mihai-dinculescu/tapo in the Solid tier.

04

What is the external contributor pull request merge rate for mihai-dinculescu/tapo?

The external pull request merge rate is 37.5%. 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 mihai-dinculescu/tapo?

Yes, mihai-dinculescu/tapo 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 mihai-dinculescu/tapo 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.