Skip to main content

OpenSwim Pro Tools - Manage and download songs for your OpenSwim Pro / 2

Project description

osp-tools

python license platform

python tools for managing openswim mp3 players.

features

  • device detection: automatically finds openswim device path on macos, linux, and windows.
  • youtube: downloads audio via yt-dlp wrapper. supports videos, playlists, shorts.
  • spotify: scrapes track metadata without api keys. supports tracks, albums, playlists, artist top tracks.
  • bulk: threaded processing for multiple queries.

installation

pip (recommended)

pip install osp-tools

manual build

git clone https://github.com/1etu/osp-tools.git
cd osp-tools
pip install build
python -m build
pip install dist/osp_tools-*.whl

development

git clone https://github.com/1etu/osp-tools.git
cd osp-tools
pip install -e ".[dev]"

usage

osp --help

device management

osp device              # show device info, storage usage
osp ls                  # list tracks on device

youtube download

osp dl "https://youtube.com/watch?v=..."             # download single video
osp dl "https://youtube.com/playlist?list=..."       # download entire playlist
osp dl dQw4w9WgXcQ                                   # download by video id
osp dl "..." --device                                # download directly to openswim
osp dl "..." -q 320                                  # 320kbps quality
osp dl "..." -o ./music                              # custom output directory

youtube search

osp search "song name"                # search youtube, get video ids
osp search "artist - track" -n 10     # limit results

spotify (no api keys)

osp spotify "https://open.spotify.com/track/..."     # single track
osp spotify "https://open.spotify.com/album/..."     # full album
osp spotify "https://open.spotify.com/playlist/..."  # playlist
osp spotify "https://open.spotify.com/artist/..."    # artist top tracks
osp spotify "..." --info                             # show track list only
osp spotify "..." --device                           # download to openswim
osp spotify "..." -w 8                               # 8 parallel downloads
osp spotify "..." --fast                             # skip transcoding (~2x speed)

sync local files

osp sync ./downloads              # sync folder to device (skip existing)
osp sync ./downloads --all        # overwrite all

dependencies

  • python 3.9+
  • yt-dlp
  • ffmpeg (for audio conversion)

structure

  • osp/core: device discovery and mount point logic.
  • osp/download: youtube/spotify scrapers and downloaders.

license

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

osp_tools-0.1.1.tar.gz (19.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

osp_tools-0.1.1-py3-none-any.whl (21.5 kB view details)

Uploaded Python 3

File details

Details for the file osp_tools-0.1.1.tar.gz.

File metadata

  • Download URL: osp_tools-0.1.1.tar.gz
  • Upload date:
  • Size: 19.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.7

File hashes

Hashes for osp_tools-0.1.1.tar.gz
Algorithm Hash digest
SHA256 00ef38f3916f509071f530e8dcd915bfd240b3bc4eceac60be44bfab988dd20a
MD5 9fe784cf5be88f0588cbbad4c5c48cec
BLAKE2b-256 f77da4847b4be13ead44ad5876d11cf95495cb780bd2886d768068451847b957

See more details on using hashes here.

File details

Details for the file osp_tools-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: osp_tools-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 21.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.7

File hashes

Hashes for osp_tools-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 db31fdb3a872e3854fbf3de85d7c67c29cea2b1c69a2b6b9110afd3e740ab28d
MD5 40f1a2b8c5bfcf56736750c828725b98
BLAKE2b-256 8a1426fe578a0651e5d1f7e29e7a2ba9a5689c1d766c11337f051bbc59a42677

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page