SpotDL, a command-line tool for downloading Spotify playlists via YouTube, faces development stagnation due to persistent rate limiting issues with Spotify's API, impacting user experience and functionality.
Recent issues and pull requests indicate a focus on resolving downloading errors and improving metadata handling. Users report difficulties with audio quality and correct song versions, often linked to rate limiting (#2142) and connection errors. Feature requests for enhanced error logging (#2157) and metadata management (#2156) suggest a demand for improved reliability.
kuba (xnetcat)
Peyton Creery (phcreery)
spotdl/console/web.py
.Jayden (j3bx)
Peter S (zigzag1001)
spotdl/download/downloader.py
.vcrpy
in PR #2128 aims to improve test reliability against API changes.Timespan | Opened | Closed | Comments | Labeled | Milestones |
---|---|---|---|---|---|
7 Days | 7 | 4 | 11 | 1 | 1 |
30 Days | 17 | 10 | 44 | 1 | 1 |
90 Days | 42 | 71 | 142 | 1 | 1 |
1 Year | 200 | 186 | 593 | 5 | 1 |
All Time | 1467 | 1444 | - | - | - |
Like all software activity quantification, these numbers are imperfect but sometimes useful. Comments, Labels, and Milestones refer to those issues opened in the timespan in question.
Developer | Avatar | Branches | PRs | Commits | Files | Changes |
---|---|---|---|---|---|---|
kuba | 1 | 1/2/0 | 32 | 55 | 855605 | |
**** | 1 | 0/0/0 | 5 | 74 | 60980 | |
Alan | 1 | 1/1/0 | 1 | 5 | 26 | |
Peyton Creery | 1 | 1/1/0 | 1 | 1 | 4 | |
Peter S | 1 | 1/1/0 | 1 | 1 | 2 | |
None (hzxx04) | 0 | 0/0/1 | 0 | 0 | 0 | |
None (Tormanovi) | 0 | 0/0/1 | 0 | 0 | 0 | |
Ikko Eltociear Ashimine (eltociear) | 0 | 1/0/0 | 0 | 0 | 0 | |
None (ValstraxWillD) | 0 | 1/0/1 | 0 | 0 | 0 |
PRs: created by that dev and opened/merged/closed-unmerged during the period
The GitHub repository for spotDL/spotify-downloader currently has 23 open issues, with recent activity indicating a mix of feature requests and bug reports. Notably, several users have reported issues related to downloading errors, particularly with audio provider mismatches and rate limiting from Spotify's API. A recurring theme is the difficulty in obtaining the expected audio quality or correct versions of songs, often leading to frustration among users.
Several issues highlight problems with the handling of specific playlists or tracks, resulting in unexpected downloads (e.g., long versions of songs) or failures to download altogether due to connection errors or missing metadata. The presence of multiple requests for features such as improved error logging and enhanced metadata handling suggests a user base that is actively seeking better functionality and reliability in the tool.
Issue #2157: Allow the sync command to scrape existing song data.
Issue #2156: Allow users to provide combolists of songs for downloading.
Issue #2151: Lyrics not fetched with "spotdl save" command.
Issue #2142: Rate limiting issues and HTTP errors (429/500/404).
Issue #2132: Request for a friendly link instead of direct download.
Issue #2167: --skip-explicit option not working.
Issue #2166: "spotdl web" failing with directory does not exist error.
Issue #2164: RuntimeError regarding a non-existent directory.
Issue #2163: Ability to download files into specific locations.
Issue #2162: General query regarding a Spotify track.
Overall, while the project maintains a healthy level of engagement with its community, there are clear areas where improvements can be made to enhance user satisfaction and functionality.
The analysis of the pull requests (PRs) for the spotDL/spotify-downloader
repository reveals a mix of minor updates, bug fixes, and feature enhancements. The repository currently has two open PRs and a significant number of closed PRs, indicating active development and maintenance.
PR #2169: chore: update downloader.py
Created 0 days ago. A minor change to correct a typo in the comment from "Initalize" to "Initialize." This is a straightforward maintenance task with little impact on functionality.
PR #2128: WIP: Use vcrpy more widely, regenerate broken cassettes
Created 55 days ago, edited 2 days ago. This work-in-progress PR aims to enhance testing reliability by integrating vcrpy
into network-based tests to avoid hitting the Spotify API directly. It addresses issues with flaky tests caused by rate limiting and other network-related problems.
PR #2168: v4.2.7
Merged 0 days ago. This PR includes several fixes and updates, notably addressing a RuntimeError
related to a missing directory.
PR #2165: fix #2164
Merged 1 day ago. A bug fix related to an unspecified issue.
PR #2160: Master
Closed without merging after discussions indicating it was not suitable for inclusion.
PR #2155: Improve proxy URL regex matching
Merged 8 days ago. This PR enhances the regex used for validating proxy URLs, allowing for user:password formats.
PR #2152: Added option to choose own genius api access code
Merged 6 days ago. This feature allows users to specify their Genius API key to avoid rate limiting issues associated with shared keys.
PR #2141: v4.2.6
Merged 2 days ago. This release includes multiple new features and bug fixes, including TLS support for the web server and various improvements in metadata handling.
PR #2136: Bump zipp from 3.18.1 to 3.19.1
Closed without merging due to lack of relevance or necessity.
PR #2120: Update lrc.py for updated function in python-syncedlyrics
Merged after addressing compatibility issues with an external dependency.
The pull requests reflect ongoing efforts to improve the functionality and reliability of the spotDL
application, which is designed for downloading music from Spotify via YouTube sources. The recent PRs indicate a focus on enhancing testing practices, particularly through the integration of vcrpy
, which aims to make the testing process more robust against external API changes and limitations.
Maintenance and Bug Fixes: Many of the closed PRs are focused on fixing bugs or making minor adjustments (e.g., correcting typos or improving regex patterns). For instance, PR #2155 improved proxy URL handling, which is crucial for users relying on specific network configurations.
Feature Enhancements: Several PRs introduced new features that enhance user experience, such as the ability to specify a personal Genius API key (PR #2152) and improvements in metadata handling (PR #2141). These additions indicate responsiveness to user needs and community feedback.
Testing Improvements: The introduction of vcrpy
in PR #2128 signifies a shift towards more reliable testing methodologies that can help prevent future issues related to API rate limits and flaky tests. This is particularly important given the nature of the application, which interacts heavily with external services.
While there have been recent merges (e.g., v4.2.7), there is a noticeable gap between major version releases (like v4.2.6) and ongoing maintenance tasks, suggesting that while new features are being developed, there may be delays in integrating smaller changes or fixes into the main branch.
In conclusion, the pull requests for spotDL/spotify-downloader
demonstrate a healthy level of activity focused on both maintaining existing functionality and enhancing user experience through new features and improved testing practices. However, attention should be paid to communication within the community regarding ongoing work and project priorities to ensure continued engagement and effective contributions.
kuba (xnetcat)
dev
branch.Peyton Creery (phcreery)
spotdl/console/web.py
.Jayden (j3bx)
Peter S (zigzag1001)
spotdl/download/downloader.py
.Overall, the development team is actively enhancing the spotDL project through collaborative efforts focused on quality improvements, feature development, and user engagement.