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

Uploaded Python 3

File details

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

File metadata

  • Download URL: osp_tools-0.2.1.tar.gz
  • Upload date:
  • Size: 20.9 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.1.tar.gz
Algorithm Hash digest
SHA256 87c2bf74142f3d4fce731ba5ba85ae3e7a5c2ef86ffc0be0fb65cd9f033e26b1
MD5 1bd069424b8545ac71acb50eb5306e43
BLAKE2b-256 37311ec8e9422acca61824bf5858bbedc292d406db867218ce769bd0901faf7d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: osp_tools-0.2.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c307df605d8a79a6e4de89ba646ca0b02facc568cc8d47130795f5ba676a742f
MD5 0f06f0bc14469a038f00a33c20fd4762
BLAKE2b-256 f75cca50041ebd1e1c71375754d488725d0710de993cd127151da373d49a3dfe

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