Key Features • How To Use • Credits • Support • Contributing • License
- Automatic Scrobbling
- Continuously scrobbles tracks from Spotify playlists to Last.fm
- Intelligent track selection and timing
- Smart Love/Unlove
- Automatically loves or unloves tracks based on intelligent algorithms
- Error Recovery
- Robust error handling and automatic recovery
- Detailed logging for troubleshooting
- Keep-Alive System
- Built-in web server ensures continuous operation
- Automatic restart on crashes
- Configuration Management
- Environment-based configuration
- Secure credential handling
- Cross platform
- Windows, macOS and Linux ready
To clone and run this application, you'll need Git, Python 3.8+, and Poetry installed on your computer. From your command line:
# Clone this repository
$ git clone https://github.com/yourusername/auto-scrobbler
# Go into the repository
$ cd auto-scrobbler
# Install dependencies using Poetry
$ poetry install
# Copy the environment template and fill in your credentials
$ cp .env_template .env
# Update the playlist IDs in `main.py` with your desired Spotify playlists
# Run the app
$ poetry run python main.py
Note Make sure to set up your
.env
file with proper credentials before running the application.
Logs are stored in logs/auto_scrobble.log
. The log level can be configured in the .env
file.
The application includes robust error handling:
- Automatic retry mechanism for failed scrobbles
- One-hour wait period after consecutive failures
- Detailed error logging
- NeuralRoulette-AI - An advanced machine learning system for predicting roulette outcomes.
This software uses the following open source packages:
- Spotipy - Lightweight Python library for the Spotify Web API
- PyLast - Python interface to Last.fm
- Flask - Lightweight WSGI web application framework
- Python-Dotenv - Environment variables management
Contributions are welcome! Please feel free to submit a Pull Request.
If you like this project and think it has helped in any way, consider buying me a coffee!
This project is licensed under the MIT License - see the LICENSE file for details.
Built with ❤️ by devddine