├── .editorconfig ├── .github ├── assets │ └── album.gif └── workflows │ └── ruff.yml ├── .gitignore ├── README.md ├── examples ├── infos.py └── stream_track.py ├── pyproject.toml ├── requirements.txt └── spoffline ├── __init__.py ├── __main__.py ├── cacher.py ├── commands ├── __init__.py ├── auth.py ├── commands.py └── dl.py ├── configuration.py ├── console ├── __init__.py ├── console.py └── theme.py ├── constants.py ├── helpers ├── __init__.py ├── binaries.py ├── enums │ ├── __init__.py │ └── enum.py ├── exceptions.py ├── paths.py └── process.py ├── models ├── __init__.py ├── album.py ├── artist.py ├── credentials.py ├── playlist.py ├── track.py └── userdata.py └── spotify ├── __init__.py ├── client.py └── managers ├── __init__.py ├── albums.py ├── artists.py ├── manager.py ├── playlists.py ├── session.py └── tracks.py /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/retouching/spoffline/HEAD/.editorconfig -------------------------------------------------------------------------------- /.github/assets/album.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/retouching/spoffline/HEAD/.github/assets/album.gif -------------------------------------------------------------------------------- /.github/workflows/ruff.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/retouching/spoffline/HEAD/.github/workflows/ruff.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/retouching/spoffline/HEAD/.gitignore -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/retouching/spoffline/HEAD/README.md -------------------------------------------------------------------------------- /examples/infos.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/retouching/spoffline/HEAD/examples/infos.py -------------------------------------------------------------------------------- /examples/stream_track.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/retouching/spoffline/HEAD/examples/stream_track.py -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/retouching/spoffline/HEAD/pyproject.toml -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | librespot 2 | click 3 | mutagen 4 | httpx 5 | PyYAML 6 | rich 7 | ruff 8 | pydantic 9 | build 10 | -------------------------------------------------------------------------------- /spoffline/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /spoffline/__main__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/retouching/spoffline/HEAD/spoffline/__main__.py -------------------------------------------------------------------------------- /spoffline/cacher.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/retouching/spoffline/HEAD/spoffline/cacher.py -------------------------------------------------------------------------------- /spoffline/commands/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /spoffline/commands/auth.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/retouching/spoffline/HEAD/spoffline/commands/auth.py -------------------------------------------------------------------------------- /spoffline/commands/commands.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/retouching/spoffline/HEAD/spoffline/commands/commands.py -------------------------------------------------------------------------------- /spoffline/commands/dl.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/retouching/spoffline/HEAD/spoffline/commands/dl.py -------------------------------------------------------------------------------- /spoffline/configuration.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/retouching/spoffline/HEAD/spoffline/configuration.py -------------------------------------------------------------------------------- /spoffline/console/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/retouching/spoffline/HEAD/spoffline/console/__init__.py -------------------------------------------------------------------------------- /spoffline/console/console.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/retouching/spoffline/HEAD/spoffline/console/console.py -------------------------------------------------------------------------------- /spoffline/console/theme.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/retouching/spoffline/HEAD/spoffline/console/theme.py -------------------------------------------------------------------------------- /spoffline/constants.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/retouching/spoffline/HEAD/spoffline/constants.py -------------------------------------------------------------------------------- /spoffline/helpers/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/retouching/spoffline/HEAD/spoffline/helpers/__init__.py -------------------------------------------------------------------------------- /spoffline/helpers/binaries.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/retouching/spoffline/HEAD/spoffline/helpers/binaries.py -------------------------------------------------------------------------------- /spoffline/helpers/enums/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /spoffline/helpers/enums/enum.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/retouching/spoffline/HEAD/spoffline/helpers/enums/enum.py -------------------------------------------------------------------------------- /spoffline/helpers/exceptions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/retouching/spoffline/HEAD/spoffline/helpers/exceptions.py -------------------------------------------------------------------------------- /spoffline/helpers/paths.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/retouching/spoffline/HEAD/spoffline/helpers/paths.py -------------------------------------------------------------------------------- /spoffline/helpers/process.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/retouching/spoffline/HEAD/spoffline/helpers/process.py -------------------------------------------------------------------------------- /spoffline/models/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /spoffline/models/album.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/retouching/spoffline/HEAD/spoffline/models/album.py -------------------------------------------------------------------------------- /spoffline/models/artist.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/retouching/spoffline/HEAD/spoffline/models/artist.py -------------------------------------------------------------------------------- /spoffline/models/credentials.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/retouching/spoffline/HEAD/spoffline/models/credentials.py -------------------------------------------------------------------------------- /spoffline/models/playlist.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/retouching/spoffline/HEAD/spoffline/models/playlist.py -------------------------------------------------------------------------------- /spoffline/models/track.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/retouching/spoffline/HEAD/spoffline/models/track.py -------------------------------------------------------------------------------- /spoffline/models/userdata.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/retouching/spoffline/HEAD/spoffline/models/userdata.py -------------------------------------------------------------------------------- /spoffline/spotify/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /spoffline/spotify/client.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/retouching/spoffline/HEAD/spoffline/spotify/client.py -------------------------------------------------------------------------------- /spoffline/spotify/managers/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /spoffline/spotify/managers/albums.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/retouching/spoffline/HEAD/spoffline/spotify/managers/albums.py -------------------------------------------------------------------------------- /spoffline/spotify/managers/artists.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/retouching/spoffline/HEAD/spoffline/spotify/managers/artists.py -------------------------------------------------------------------------------- /spoffline/spotify/managers/manager.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/retouching/spoffline/HEAD/spoffline/spotify/managers/manager.py -------------------------------------------------------------------------------- /spoffline/spotify/managers/playlists.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/retouching/spoffline/HEAD/spoffline/spotify/managers/playlists.py -------------------------------------------------------------------------------- /spoffline/spotify/managers/session.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/retouching/spoffline/HEAD/spoffline/spotify/managers/session.py -------------------------------------------------------------------------------- /spoffline/spotify/managers/tracks.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/retouching/spoffline/HEAD/spoffline/spotify/managers/tracks.py --------------------------------------------------------------------------------