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.0.tar.gz (19.1 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.0-py3-none-any.whl (21.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: osp_tools-0.1.0.tar.gz
  • Upload date:
  • Size: 19.1 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.0.tar.gz
Algorithm Hash digest
SHA256 272f87b6853838eedd37ab5f38f0fba569911bc511ba24f7af6af34f27937178
MD5 78fe6de8a72fbe11c0378dc2a32fb0b0
BLAKE2b-256 f4e2d76586065f14c11a8e126b36789b8954829ccd8d987a11a05c6bd5b4139b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: osp_tools-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 21.1 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9ccc74da94dfb098c0ccf153a76ddbb1c1494cbd4d5ad3e10f2ef3fe46c3578d
MD5 47b2f8b305dbaaf2438ecadd6d80374e
BLAKE2b-256 7801d93d05885cdbd4092478df9f022e599c99439b500b20ea402e60c8c49afb

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