spotify_profile_monitor original code is licensed under GPL-3.0-or-later. See LICENSE.
The distributed package contains no vendored third-party source. It declares the dependencies below, which are installed from PyPI under their own licenses and remain the property of their authors.
| Component | Required version | License | Use |
|---|---|---|---|
| requests | >=2.0 | Apache-2.0 | HTTP for Spotify, notifications and artwork downloads |
| python-dateutil | >=2.8 | Apache-2.0 or BSD-3-Clause | Timestamp parsing and relative date arithmetic |
| urllib3 | >=2.0.7 | MIT | HTTP connection pooling and retry handling |
| pyotp | >=2.9.0 | MIT | TOTP generation for Spotify web-player token refresh |
| pytz | >=2020.1 | MIT | Timezone conversion for displayed and logged times |
| tzlocal | >=4.0 | MIT | Local timezone detection |
| python-dotenv | >=0.19 | BSD-3-Clause | Reading secrets from .env |
| spotipy | >=2.24.0 | MIT | Spotify Web API access for the OAuth token sources |
| wcwidth | >=0.2.7 | MIT | Terminal column widths for aligned output and truncation |
| pathvalidate | >=3.2.0 | MIT | Sanitizing playlist names into safe export filenames |
| Pillow | >=11.3.0,<12 on Python 3.9, >=12.0.0 on 3.10+ (optional) | MIT-CMU | Artwork handling for email and ntfy image notifications |
| pycookiecheat | >=0.8, browser extra |
MIT | Importing Chrome, Brave and Chromium cookies on macOS and Linux |
These are not part of the distributed package.
| Component | License | Use |
|---|---|---|
| pytest | MIT | Test suite |
| Ruff | MIT | Linting the module and the test suite |
| PyYAML | MIT | Validating workflows and issue templates in the test suite |
| pip-audit | Apache-2.0 | Dependency vulnerability audit in the supply chain workflow |
| CycloneDX | Apache-2.0 | Software bill of materials in the supply chain workflow |
| setuptools, wheel | MIT | Package build |
The tool contacts Spotify only. Optional notification delivery contacts the SMTP server, Discord webhook or ntfy server you configure. Nothing is sent anywhere you have not configured.
If you believe a dependency is misattributed here, open an issue or email misiektoja-github@rm-rf.ninja.