Needledrop For Sonos

F 43 completed
Cli Tool
cli / python · small
73
Files
12,740
LOC
2
Frameworks
7
Languages

Pipeline State

completed
Run ID
#355928
Phase
done
Progress
1%
Started
Finished
2026-04-13 01:31:02
LLM tokens
0

Pipeline Metadata

Stage
Cataloged
Decision
proceed
Novelty
74.67
Framework unique
Isolation
Last stage change
2026-05-10 03:35:31
Deduplication group #56392
Member of a group with 2 similar repo(s) — canonical #95575 view group →
Top concepts (2)
Project DescriptionWeb Backend
Repobility · code-quality intelligence · https://repobility.com

AI Prompt

Build me a command-line tool in Python that automatically scrobbles songs played on a Sonos system to Last.fm. The tool should use FastAPI for its backend logic and SQLAlchemy for data management. It needs to read song data and provide local listening analytics. Please structure the project to handle configuration using YAML and potentially use JSON for data exchange.
python cli fastapi sqlalchemy sonos lastfm music scrobbling analytics
Generated by gemma4:latest

Catalog Information

A tool that automatically scrobbles songs played on Sonos to Last.fm and provides local listening analytics.

Description

This application connects to a Sonos system and records every track that plays, sending the data to Last.fm for scrobbling. It also hosts a lightweight web interface that displays local analytics such as play counts, most frequent tracks, and listening trends over time. The tool is operated via a command‑line interface, making it easy to start, stop, and configure the scrobbling process. It is designed for users who want a seamless way to keep their Last.fm library up to date while also gaining insight into their own listening habits. The implementation uses a simple database to store playback events and a web framework to render the analytics dashboard.

الوصف

يُربط هذا التطبيق بنظام Sonos لتسجيل كل أغنية تُشغل، ثم يرسل البيانات إلى Last.fm لتسجيلها تلقائياً. كما يُقدِّم واجهة ويب خفيفة تُظهر تحليلات محلية مثل عدد مرات التشغيل، الأغاني الأكثر شيوعاً، والاتجاهات الزمنية للاستماع. يُشغَّل البرنامج عبر واجهة سطر أوامر، ما يسهِّل بدء وإيقاف وتكوين عملية التسجيل. يهدف إلى مساعدة المستخدمين الذين يرغبون في تحديث مكتبة Last.fm الخاصة بهم تلقائياً مع الحصول على نظرة معمّقة على عادات الاستماع الخاصة بهم. يُخزّن الأحداث في قاعدة بيانات بسيطة، ويُعرض التحليلات عبر إطار عمل ويب لتوفير تجربة تفاعلية وسريعة. يدمج بين سهولة الاستخدام والوظائف المتقدمة، ما يجعله خياراً مثالياً للمستخدمين الذين يملكون أجهزة Sonos ويرغبون في تتبع استماعهم بشكل دقيق. يميز المشروع بواجهة مستخدم واضحة وقابلية التخصيص، مع دعم للغات متعددة وتكامل سلس مع خدمات الموسيقى الأخرى.

Novelty

6/10

Tags

scrobbling music-analytics sonos-integration last.fm audio-tracking local-dashboard

Technologies

click fastapi rich sqlalchemy uvicorn

Claude Models

claude-opus-4.6

Quality Score

F
42.9/100
Structure
41
Code Quality
62
Documentation
22
Testing
0
Practices
55
Security
76
Dependencies
60

Strengths

  • Code linting configured (ruff (possible))

Weaknesses

  • Missing README file \u2014 critical for project understanding
  • No LICENSE file \u2014 legal ambiguity for contributors
  • No tests found \u2014 high risk of regressions
  • No CI/CD configuration \u2014 manual testing and deployment
  • 781 duplicate lines detected \u2014 consider DRY refactoring
  • 3 'god files' with >500 LOC need decomposition

Recommendations

  • Add a comprehensive README.md explaining purpose, setup, usage, and architecture
  • Add a test suite \u2014 start with critical path integration tests
  • Set up CI/CD (GitHub Actions recommended) to automate testing and deployment
  • Add a LICENSE file (MIT recommended for open source)

Security & Health

8.1h
Tech Debt (B)
A
OWASP (100%)
FAIL
Quality Gate
A
Risk (14)
All rows scored by the Repobility analyzer (https://repobility.com)
MIT
License
5.4%
Duplication
Full Security Report AI Fix Prompts SARIF SBOM

Languages

python
34.7%
json
31.9%
swift
29.6%
markdown
3.3%
yaml
0.4%
toml
0.2%
shell
0.0%

Frameworks

FastAPI SQLAlchemy

Concepts (2)

Generated by the Repobility scanner · https://repobility.com
CategoryNameDescriptionConfidence
Source: Repobility analyzer · https://repobility.com
auto_descriptionProject DescriptionSonos-to-Last.fm scrobbler with local analytics80%
auto_categoryWeb Backendweb-backend70%

Quality Timeline

1 quality score recorded.

View File Metrics

Embed Badge

Add to your README:

![Quality](https://repos.aljefra.com/badge/80055.svg)
Quality BadgeSecurity Badge
Export Quality CSVDownload SBOMExport Findings CSV