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.

cli overview

image

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 "..." -f m4a                                  # download as m4a (more efficient)
osp dl "..." -f mp3 -q 320                          # 320kbps mp3
osp dl "..." -f flac                                 # lossless audio (flac)
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 "..." -f m4a                             # download as m4a
osp spotify "..." -f mp3 -q 320                      # 320kbps mp3
osp spotify "..." -w 8                               # 8 parallel downloads
osp spotify "..." --fast                             # skip transcoding (~2x speed)
osp spotify "..." -f m4a --fast                      # m4a + fast mode (fastest)

sync local files

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

format support

supported formats: mp3, m4a, aac, flac, opus, wav, ogg

format quality ranges (auto-adjusted):

  • mp3: 128-320kbps (default: 192)
  • m4a/aac: 96-256kbps (default: 160, more efficient)
  • opus: 96-320kbps (default: 160)
  • ogg: 128-320kbps (default: 192)
  • flac/wav: lossless (quality ignored)

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.2.0.tar.gz (20.8 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.2.0-py3-none-any.whl (22.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: osp_tools-0.2.0.tar.gz
  • Upload date:
  • Size: 20.8 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.2.0.tar.gz
Algorithm Hash digest
SHA256 85443741f16303cf439dcf292183f8ed56c4a7c43bb2f44c179f2bc2d2456ea4
MD5 88ddb5c64de02abdeaef24e1c038d35d
BLAKE2b-256 85f2227c31a9c1b505fdee427d3edd6d7a7ae1a9e4fe199a8f3b33a8eb553d60

See more details on using hashes here.

File details

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

File metadata

  • Download URL: osp_tools-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 22.4 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.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 97f5b281be55c4bfc10d4cc811073f22a50244f1a07ff5a74629d5b6ea296bbd
MD5 f5b87079d5fe033716262e5d8e5597eb
BLAKE2b-256 cd4638d43e98bfb65984015641485191862e2eb57b3f4be05954d8ba960e22bc

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