spotify-playlist-extractor


Namespotify-playlist-extractor JSON
Version 1.0.1 PyPI version JSON
download
home_pagehttps://github.com/MohammadHNdev/Spotify-Playlist-Extractor
Summaryاستخراج ساده و سریع پلی‌لیست‌های اسپاتیفای
upload_time2025-07-25 03:21:01
maintainerNone
docs_urlNone
authorMohammad Hossein Norouzi
requires_python>=3.8
licenseNone
keywords spotify playlist music extractor download links
VCS
bugtrack_url
requirements spotipy requests python-dotenv
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <div align="center">

# 🎵 Spotify Playlist Extractor

[![PyPI version](https://badge.fury.io/py/spotify-playlist-extractor.svg)](https://pypi.org/project/spotify-playlist-extractor/)
[![Downloads](https://pepy.tech/badge/spotify-playlist-extractor)](https://pepy.tech/project/spotify-playlist-extractor)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Python 3.8+](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/)
[![GitHub stars](https://img.shields.io/github/stars/MohammadHNdev/Spotify-Playlist-Extractor.svg)](https://github.com/MohammadHNdev/Spotify-Playlist-Extractor/stargazers)
[![GitHub issues](https://img.shields.io/github/issues/MohammadHNdev/Spotify-Playlist-Extractor.svg)](https://github.com/MohammadHNdev/Spotify-Playlist-Extractor/issues)
[![Build Status](https://github.com/MohammadHNdev/Spotify-Playlist-Extractor/workflows/🧪%20Tests/badge.svg)](https://github.com/MohammadHNdev/Spotify-Playlist-Extractor/actions)
[![CodeFactor](https://www.codefactor.io/repository/github/mohammadhndev/spotify-playlist-extractor/badge)](https://www.codefactor.io/repository/github/mohammadhndev/spotify-playlist-extractor)

**یه کتابخانه Python فوق‌العاده ساده و قدرتمند برای استخراج پلی‌لیست‌های اسپاتیفای** 🚀

*Extract, analyze, and export Spotify playlists with ease!* 

[🚀 نصب](#-نصب-فوری) • [📖 مستندات](#-نمونههای-کاربرد) • [💻 CLI](#خط-فرمان-cli) • [🤝 مشارکت](CONTRIBUTING.md) • [📝 تغییرات](CHANGELOG.md) • [❓ FAQ](docs/FAQ.md) • [📚 API](docs/API.md)

</div>

## 💡 چیکار می‌کنه؟

- پلی‌لیست اسپاتیفای رو میگیره
- اطلاعات همه آهنگ‌هاشو استخراج می‌کنه  
- به فرمت‌های مختلف ذخیره می‌کنه (TXT, CSV, JSON)
- CLI داره برای استفاده آسون
- آمارگیری از پلی‌لیست‌ها

## ⚡ نصب فوری

```bash
pip install spotify-playlist-extractor
```

## 🚀 استفاده خیلی آسون

### کتابخانه Python

```python
from spotify_extractor import SpotifyExtractor

# ساخت extractor
extractor = SpotifyExtractor()

# استخراج آهنگ‌ها
tracks = extractor.extract_tracks("https://open.spotify.com/playlist/...")

# ذخیره به فایل
extractor.save_to_txt(tracks, "my_playlist.txt")

print(f"✅ {len(tracks)} آهنگ استخراج شد!")
```

### خط فرمان (CLI)

```bash
# استخراج ساده
spotify-extract https://open.spotify.com/playlist/37i9dQZF1DX0XUsuxWHRQd

# با تنظیمات بیشتر
spotify-extract -f json -o my_music.json --stats [URL]

# فقط اطلاعات پلی‌لیست
spotify-extract --info-only [URL]
```

## 🛠️ تنظیمات

### API Credentials

از [Spotify Developer Dashboard](https://developer.spotify.com/dashboard) یه App بساز و credentials بگیر:

```bash
# متغیرهای محیطی
export SPOTIFY_CLIENT_ID="your_client_id"
export SPOTIFY_CLIENT_SECRET="your_client_secret"
```

یا مستقیم تو کد:

```python
extractor = SpotifyExtractor("your_client_id", "your_client_secret")
```

## 📖 نمونه‌های کاربرد

### استخراج با جزئیات

```python
from spotify_extractor import SpotifyExtractor

extractor = SpotifyExtractor()

# اطلاعات پلی‌لیست
info = extractor.get_playlist_info(playlist_url)
print(f"نام: {info['name']}")
print(f"سازنده: {info['owner']}")
print(f"تعداد آهنگ: {info['total_tracks']}")

# استخراج کامل
tracks = extractor.extract_tracks(playlist_url, include_details=True)

# آمارگیری
stats = extractor.get_stats(tracks)
print(f"خواننده‌های مختلف: {stats['unique_artists']}")
print(f"محبوب‌ترین: {stats['top_artist']}")
```

### ذخیره در فرمت‌های مختلف

```python
# متن ساده
extractor.save_to_txt(tracks, "playlist.txt")

# CSV برای Excel
extractor.save_to_csv(tracks, "playlist.csv") 

# JSON برای برنامه‌نویسی
extractor.save_to_json(tracks, "playlist.json")

# یکجا استخراج و ذخیره
filename = extractor.extract_and_save(playlist_url, "json")
```

### پردازش دسته‌ای

```python
# چندین پلی‌لیست
urls = [
    "https://open.spotify.com/playlist/...",
    "https://open.spotify.com/playlist/...",
]

all_tracks = []
for url in urls:
    tracks = extractor.extract_tracks(url)
    all_tracks.extend(tracks)

# حذف تکراری‌ها
unique_tracks = {track['url']: track for track in all_tracks}.values()
```

## 🌐 Web App

اگه UI گرافیکی می‌خوای:

```bash
pip install spotify-playlist-extractor[web]
cd web_app
streamlit run app.py
```

## 📁 ساختار پروژه

```
spotify-playlist-extractor/
├── 📦 spotify_extractor/     # کتابخانه اصلی
│   ├── core.py              # کلاس اصلی
│   ├── helpers.py           # توابع کمکی
│   └── cli.py               # رابط خط فرمان
├── 🌐 web_app/              # رابط وب
├── 📚 examples/             # نمونه‌های کاربرد
│   ├── basic_usage.py       # استفاده ساده
│   └── batch_processing.py  # پردازش دسته‌ای
└── 📋 README.md
```

## 🎯 قابلیت‌ها

- ✅ استخراج سریع پلی‌لیست‌ها
- ✅ پشتیبانی از فرمت‌های مختلف
- ✅ CLI قدرتمند
- ✅ پردازش دسته‌ای
- ✅ آمارگیری کامل
- ✅ Web UI (اختیاری)
- ✅ حذف تکراری‌ها
- ✅ Python 3.8+ support

## 🔧 CLI Commands

```bash
# نمایش راهنما
spotify-extract --help

# استخراج با فرمت JSON
spotify-extract -f json playlist_url

# نمایش آمار
spotify-extract --stats playlist_url

# verbose mode
spotify-extract -v playlist_url

# فایل خروجی دلخواه
spotify-extract -o my_music.txt playlist_url
```

## 🤝 مشارکت

1. Fork کن
2. Branch جدید بساز: `git checkout -b feature-name`
3. تغییراتت رو commit کن: `git commit -m 'Add feature'`
4. Push کن: `git push origin feature-name`
5. Pull Request بده

## 📝 لایسنس

MIT License - برای جزئیات فایل [LICENSE](LICENSE) رو ببین.

## 🐛 Bug Report

مشکلی داری؟ [Issues](https://github.com/MohammadHNdev/Spotify-Playlist-Extractor/issues) بخش تو گزارش بده.

## 👤 سازنده

**محمدحسین نوروزی**
- GitHub: [@MohammadHNdev](https://github.com/MohammadHNdev)
- Email: hosein.norozi434@gmail.com


## ⭐ حمایت

اگه مفید بود، یه ستاره بده! 🌟

---

**ساخته شده با ❤️ برای جامعه فارسی‌زبان**

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/MohammadHNdev/Spotify-Playlist-Extractor",
    "name": "spotify-playlist-extractor",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "spotify playlist music extractor download links",
    "author": "Mohammad Hossein Norouzi",
    "author_email": "mohammadhn.dev@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/c0/ab/28f8dec9576f3576aff2ca42bc4e59767fefc7509f3e9a77a7355282ea46/spotify_playlist_extractor-1.0.1.tar.gz",
    "platform": null,
    "description": "<div align=\"center\">\n\n# \ud83c\udfb5 Spotify Playlist Extractor\n\n[![PyPI version](https://badge.fury.io/py/spotify-playlist-extractor.svg)](https://pypi.org/project/spotify-playlist-extractor/)\n[![Downloads](https://pepy.tech/badge/spotify-playlist-extractor)](https://pepy.tech/project/spotify-playlist-extractor)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Python 3.8+](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/)\n[![GitHub stars](https://img.shields.io/github/stars/MohammadHNdev/Spotify-Playlist-Extractor.svg)](https://github.com/MohammadHNdev/Spotify-Playlist-Extractor/stargazers)\n[![GitHub issues](https://img.shields.io/github/issues/MohammadHNdev/Spotify-Playlist-Extractor.svg)](https://github.com/MohammadHNdev/Spotify-Playlist-Extractor/issues)\n[![Build Status](https://github.com/MohammadHNdev/Spotify-Playlist-Extractor/workflows/\ud83e\uddea%20Tests/badge.svg)](https://github.com/MohammadHNdev/Spotify-Playlist-Extractor/actions)\n[![CodeFactor](https://www.codefactor.io/repository/github/mohammadhndev/spotify-playlist-extractor/badge)](https://www.codefactor.io/repository/github/mohammadhndev/spotify-playlist-extractor)\n\n**\u06cc\u0647 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 Python \u0641\u0648\u0642\u200c\u0627\u0644\u0639\u0627\u062f\u0647 \u0633\u0627\u062f\u0647 \u0648 \u0642\u062f\u0631\u062a\u0645\u0646\u062f \u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u062e\u0631\u0627\u062c \u067e\u0644\u06cc\u200c\u0644\u06cc\u0633\u062a\u200c\u0647\u0627\u06cc \u0627\u0633\u067e\u0627\u062a\u06cc\u0641\u0627\u06cc** \ud83d\ude80\n\n*Extract, analyze, and export Spotify playlists with ease!* \n\n[\ud83d\ude80 \u0646\u0635\u0628](#-\u0646\u0635\u0628-\u0641\u0648\u0631\u06cc) \u2022 [\ud83d\udcd6 \u0645\u0633\u062a\u0646\u062f\u0627\u062a](#-\u0646\u0645\u0648\u0646\u0647\u0647\u0627\u06cc-\u06a9\u0627\u0631\u0628\u0631\u062f) \u2022 [\ud83d\udcbb CLI](#\u062e\u0637-\u0641\u0631\u0645\u0627\u0646-cli) \u2022 [\ud83e\udd1d \u0645\u0634\u0627\u0631\u06a9\u062a](CONTRIBUTING.md) \u2022 [\ud83d\udcdd \u062a\u063a\u06cc\u06cc\u0631\u0627\u062a](CHANGELOG.md) \u2022 [\u2753 FAQ](docs/FAQ.md) \u2022 [\ud83d\udcda API](docs/API.md)\n\n</div>\n\n## \ud83d\udca1 \u0686\u06cc\u06a9\u0627\u0631 \u0645\u06cc\u200c\u06a9\u0646\u0647\u061f\n\n- \u067e\u0644\u06cc\u200c\u0644\u06cc\u0633\u062a \u0627\u0633\u067e\u0627\u062a\u06cc\u0641\u0627\u06cc \u0631\u0648 \u0645\u06cc\u06af\u06cc\u0631\u0647\n- \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0647\u0645\u0647 \u0622\u0647\u0646\u06af\u200c\u0647\u0627\u0634\u0648 \u0627\u0633\u062a\u062e\u0631\u0627\u062c \u0645\u06cc\u200c\u06a9\u0646\u0647  \n- \u0628\u0647 \u0641\u0631\u0645\u062a\u200c\u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641 \u0630\u062e\u06cc\u0631\u0647 \u0645\u06cc\u200c\u06a9\u0646\u0647 (TXT, CSV, JSON)\n- CLI \u062f\u0627\u0631\u0647 \u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0622\u0633\u0648\u0646\n- \u0622\u0645\u0627\u0631\u06af\u06cc\u0631\u06cc \u0627\u0632 \u067e\u0644\u06cc\u200c\u0644\u06cc\u0633\u062a\u200c\u0647\u0627\n\n## \u26a1 \u0646\u0635\u0628 \u0641\u0648\u0631\u06cc\n\n```bash\npip install spotify-playlist-extractor\n```\n\n## \ud83d\ude80 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u062e\u06cc\u0644\u06cc \u0622\u0633\u0648\u0646\n\n### \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 Python\n\n```python\nfrom spotify_extractor import SpotifyExtractor\n\n# \u0633\u0627\u062e\u062a extractor\nextractor = SpotifyExtractor()\n\n# \u0627\u0633\u062a\u062e\u0631\u0627\u062c \u0622\u0647\u0646\u06af\u200c\u0647\u0627\ntracks = extractor.extract_tracks(\"https://open.spotify.com/playlist/...\")\n\n# \u0630\u062e\u06cc\u0631\u0647 \u0628\u0647 \u0641\u0627\u06cc\u0644\nextractor.save_to_txt(tracks, \"my_playlist.txt\")\n\nprint(f\"\u2705 {len(tracks)} \u0622\u0647\u0646\u06af \u0627\u0633\u062a\u062e\u0631\u0627\u062c \u0634\u062f!\")\n```\n\n### \u062e\u0637 \u0641\u0631\u0645\u0627\u0646 (CLI)\n\n```bash\n# \u0627\u0633\u062a\u062e\u0631\u0627\u062c \u0633\u0627\u062f\u0647\nspotify-extract https://open.spotify.com/playlist/37i9dQZF1DX0XUsuxWHRQd\n\n# \u0628\u0627 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u0628\u06cc\u0634\u062a\u0631\nspotify-extract -f json -o my_music.json --stats [URL]\n\n# \u0641\u0642\u0637 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u067e\u0644\u06cc\u200c\u0644\u06cc\u0633\u062a\nspotify-extract --info-only [URL]\n```\n\n## \ud83d\udee0\ufe0f \u062a\u0646\u0638\u06cc\u0645\u0627\u062a\n\n### API Credentials\n\n\u0627\u0632 [Spotify Developer Dashboard](https://developer.spotify.com/dashboard) \u06cc\u0647 App \u0628\u0633\u0627\u0632 \u0648 credentials \u0628\u06af\u06cc\u0631:\n\n```bash\n# \u0645\u062a\u063a\u06cc\u0631\u0647\u0627\u06cc \u0645\u062d\u06cc\u0637\u06cc\nexport SPOTIFY_CLIENT_ID=\"your_client_id\"\nexport SPOTIFY_CLIENT_SECRET=\"your_client_secret\"\n```\n\n\u06cc\u0627 \u0645\u0633\u062a\u0642\u06cc\u0645 \u062a\u0648 \u06a9\u062f:\n\n```python\nextractor = SpotifyExtractor(\"your_client_id\", \"your_client_secret\")\n```\n\n## \ud83d\udcd6 \u0646\u0645\u0648\u0646\u0647\u200c\u0647\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631\u062f\n\n### \u0627\u0633\u062a\u062e\u0631\u0627\u062c \u0628\u0627 \u062c\u0632\u0626\u06cc\u0627\u062a\n\n```python\nfrom spotify_extractor import SpotifyExtractor\n\nextractor = SpotifyExtractor()\n\n# \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u067e\u0644\u06cc\u200c\u0644\u06cc\u0633\u062a\ninfo = extractor.get_playlist_info(playlist_url)\nprint(f\"\u0646\u0627\u0645: {info['name']}\")\nprint(f\"\u0633\u0627\u0632\u0646\u062f\u0647: {info['owner']}\")\nprint(f\"\u062a\u0639\u062f\u0627\u062f \u0622\u0647\u0646\u06af: {info['total_tracks']}\")\n\n# \u0627\u0633\u062a\u062e\u0631\u0627\u062c \u06a9\u0627\u0645\u0644\ntracks = extractor.extract_tracks(playlist_url, include_details=True)\n\n# \u0622\u0645\u0627\u0631\u06af\u06cc\u0631\u06cc\nstats = extractor.get_stats(tracks)\nprint(f\"\u062e\u0648\u0627\u0646\u0646\u062f\u0647\u200c\u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641: {stats['unique_artists']}\")\nprint(f\"\u0645\u062d\u0628\u0648\u0628\u200c\u062a\u0631\u06cc\u0646: {stats['top_artist']}\")\n```\n\n### \u0630\u062e\u06cc\u0631\u0647 \u062f\u0631 \u0641\u0631\u0645\u062a\u200c\u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641\n\n```python\n# \u0645\u062a\u0646 \u0633\u0627\u062f\u0647\nextractor.save_to_txt(tracks, \"playlist.txt\")\n\n# CSV \u0628\u0631\u0627\u06cc Excel\nextractor.save_to_csv(tracks, \"playlist.csv\") \n\n# JSON \u0628\u0631\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0646\u0648\u06cc\u0633\u06cc\nextractor.save_to_json(tracks, \"playlist.json\")\n\n# \u06cc\u06a9\u062c\u0627 \u0627\u0633\u062a\u062e\u0631\u0627\u062c \u0648 \u0630\u062e\u06cc\u0631\u0647\nfilename = extractor.extract_and_save(playlist_url, \"json\")\n```\n\n### \u067e\u0631\u062f\u0627\u0632\u0634 \u062f\u0633\u062a\u0647\u200c\u0627\u06cc\n\n```python\n# \u0686\u0646\u062f\u06cc\u0646 \u067e\u0644\u06cc\u200c\u0644\u06cc\u0633\u062a\nurls = [\n    \"https://open.spotify.com/playlist/...\",\n    \"https://open.spotify.com/playlist/...\",\n]\n\nall_tracks = []\nfor url in urls:\n    tracks = extractor.extract_tracks(url)\n    all_tracks.extend(tracks)\n\n# \u062d\u0630\u0641 \u062a\u06a9\u0631\u0627\u0631\u06cc\u200c\u0647\u0627\nunique_tracks = {track['url']: track for track in all_tracks}.values()\n```\n\n## \ud83c\udf10 Web App\n\n\u0627\u06af\u0647 UI \u06af\u0631\u0627\u0641\u06cc\u06a9\u06cc \u0645\u06cc\u200c\u062e\u0648\u0627\u06cc:\n\n```bash\npip install spotify-playlist-extractor[web]\ncd web_app\nstreamlit run app.py\n```\n\n## \ud83d\udcc1 \u0633\u0627\u062e\u062a\u0627\u0631 \u067e\u0631\u0648\u0698\u0647\n\n```\nspotify-playlist-extractor/\n\u251c\u2500\u2500 \ud83d\udce6 spotify_extractor/     # \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 \u0627\u0635\u0644\u06cc\n\u2502   \u251c\u2500\u2500 core.py              # \u06a9\u0644\u0627\u0633 \u0627\u0635\u0644\u06cc\n\u2502   \u251c\u2500\u2500 helpers.py           # \u062a\u0648\u0627\u0628\u0639 \u06a9\u0645\u06a9\u06cc\n\u2502   \u2514\u2500\u2500 cli.py               # \u0631\u0627\u0628\u0637 \u062e\u0637 \u0641\u0631\u0645\u0627\u0646\n\u251c\u2500\u2500 \ud83c\udf10 web_app/              # \u0631\u0627\u0628\u0637 \u0648\u0628\n\u251c\u2500\u2500 \ud83d\udcda examples/             # \u0646\u0645\u0648\u0646\u0647\u200c\u0647\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631\u062f\n\u2502   \u251c\u2500\u2500 basic_usage.py       # \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0633\u0627\u062f\u0647\n\u2502   \u2514\u2500\u2500 batch_processing.py  # \u067e\u0631\u062f\u0627\u0632\u0634 \u062f\u0633\u062a\u0647\u200c\u0627\u06cc\n\u2514\u2500\u2500 \ud83d\udccb README.md\n```\n\n## \ud83c\udfaf \u0642\u0627\u0628\u0644\u06cc\u062a\u200c\u0647\u0627\n\n- \u2705 \u0627\u0633\u062a\u062e\u0631\u0627\u062c \u0633\u0631\u06cc\u0639 \u067e\u0644\u06cc\u200c\u0644\u06cc\u0633\u062a\u200c\u0647\u0627\n- \u2705 \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc \u0627\u0632 \u0641\u0631\u0645\u062a\u200c\u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641\n- \u2705 CLI \u0642\u062f\u0631\u062a\u0645\u0646\u062f\n- \u2705 \u067e\u0631\u062f\u0627\u0632\u0634 \u062f\u0633\u062a\u0647\u200c\u0627\u06cc\n- \u2705 \u0622\u0645\u0627\u0631\u06af\u06cc\u0631\u06cc \u06a9\u0627\u0645\u0644\n- \u2705 Web UI (\u0627\u062e\u062a\u06cc\u0627\u0631\u06cc)\n- \u2705 \u062d\u0630\u0641 \u062a\u06a9\u0631\u0627\u0631\u06cc\u200c\u0647\u0627\n- \u2705 Python 3.8+ support\n\n## \ud83d\udd27 CLI Commands\n\n```bash\n# \u0646\u0645\u0627\u06cc\u0634 \u0631\u0627\u0647\u0646\u0645\u0627\nspotify-extract --help\n\n# \u0627\u0633\u062a\u062e\u0631\u0627\u062c \u0628\u0627 \u0641\u0631\u0645\u062a JSON\nspotify-extract -f json playlist_url\n\n# \u0646\u0645\u0627\u06cc\u0634 \u0622\u0645\u0627\u0631\nspotify-extract --stats playlist_url\n\n# verbose mode\nspotify-extract -v playlist_url\n\n# \u0641\u0627\u06cc\u0644 \u062e\u0631\u0648\u062c\u06cc \u062f\u0644\u062e\u0648\u0627\u0647\nspotify-extract -o my_music.txt playlist_url\n```\n\n## \ud83e\udd1d \u0645\u0634\u0627\u0631\u06a9\u062a\n\n1. Fork \u06a9\u0646\n2. Branch \u062c\u062f\u06cc\u062f \u0628\u0633\u0627\u0632: `git checkout -b feature-name`\n3. \u062a\u063a\u06cc\u06cc\u0631\u0627\u062a\u062a \u0631\u0648 commit \u06a9\u0646: `git commit -m 'Add feature'`\n4. Push \u06a9\u0646: `git push origin feature-name`\n5. Pull Request \u0628\u062f\u0647\n\n## \ud83d\udcdd \u0644\u0627\u06cc\u0633\u0646\u0633\n\nMIT License - \u0628\u0631\u0627\u06cc \u062c\u0632\u0626\u06cc\u0627\u062a \u0641\u0627\u06cc\u0644 [LICENSE](LICENSE) \u0631\u0648 \u0628\u0628\u06cc\u0646.\n\n## \ud83d\udc1b Bug Report\n\n\u0645\u0634\u06a9\u0644\u06cc \u062f\u0627\u0631\u06cc\u061f [Issues](https://github.com/MohammadHNdev/Spotify-Playlist-Extractor/issues) \u0628\u062e\u0634 \u062a\u0648 \u06af\u0632\u0627\u0631\u0634 \u0628\u062f\u0647.\n\n## \ud83d\udc64 \u0633\u0627\u0632\u0646\u062f\u0647\n\n**\u0645\u062d\u0645\u062f\u062d\u0633\u06cc\u0646 \u0646\u0648\u0631\u0648\u0632\u06cc**\n- GitHub: [@MohammadHNdev](https://github.com/MohammadHNdev)\n- Email: hosein.norozi434@gmail.com\n\n\n## \u2b50 \u062d\u0645\u0627\u06cc\u062a\n\n\u0627\u06af\u0647 \u0645\u0641\u06cc\u062f \u0628\u0648\u062f\u060c \u06cc\u0647 \u0633\u062a\u0627\u0631\u0647 \u0628\u062f\u0647! \ud83c\udf1f\n\n---\n\n**\u0633\u0627\u062e\u062a\u0647 \u0634\u062f\u0647 \u0628\u0627 \u2764\ufe0f \u0628\u0631\u0627\u06cc \u062c\u0627\u0645\u0639\u0647 \u0641\u0627\u0631\u0633\u06cc\u200c\u0632\u0628\u0627\u0646**\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "\u0627\u0633\u062a\u062e\u0631\u0627\u062c \u0633\u0627\u062f\u0647 \u0648 \u0633\u0631\u06cc\u0639 \u067e\u0644\u06cc\u200c\u0644\u06cc\u0633\u062a\u200c\u0647\u0627\u06cc \u0627\u0633\u067e\u0627\u062a\u06cc\u0641\u0627\u06cc",
    "version": "1.0.1",
    "project_urls": {
        "Bug Reports": "https://github.com/MohammadHNdev/Spotify-Playlist-Extractor/issues",
        "Documentation": "https://github.com/MohammadHNdev/Spotify-Playlist-Extractor#readme",
        "Homepage": "https://github.com/MohammadHNdev/Spotify-Playlist-Extractor",
        "Source": "https://github.com/MohammadHNdev/Spotify-Playlist-Extractor"
    },
    "split_keywords": [
        "spotify",
        "playlist",
        "music",
        "extractor",
        "download",
        "links"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "98403bc637bcab382dedaa9a3aebb6da2947120c88761bcd6a3cb3936945cff3",
                "md5": "24f397bd09e60b96fa1e42cc3ac622ce",
                "sha256": "3f0d5c5f544ef22178f4d4b67848d63c1cb158ce81a1bec09567f2781b86e7ae"
            },
            "downloads": -1,
            "filename": "spotify_playlist_extractor-1.0.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "24f397bd09e60b96fa1e42cc3ac622ce",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 12569,
            "upload_time": "2025-07-25T03:21:00",
            "upload_time_iso_8601": "2025-07-25T03:21:00.048129Z",
            "url": "https://files.pythonhosted.org/packages/98/40/3bc637bcab382dedaa9a3aebb6da2947120c88761bcd6a3cb3936945cff3/spotify_playlist_extractor-1.0.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c0ab28f8dec9576f3576aff2ca42bc4e59767fefc7509f3e9a77a7355282ea46",
                "md5": "a109c0355a945c70f2ba4d307a17ae28",
                "sha256": "66913ae1dc5fb3494ffe30bcfa9be19ae98ea4bf8ab7d735feff900219a120d3"
            },
            "downloads": -1,
            "filename": "spotify_playlist_extractor-1.0.1.tar.gz",
            "has_sig": false,
            "md5_digest": "a109c0355a945c70f2ba4d307a17ae28",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 31078,
            "upload_time": "2025-07-25T03:21:01",
            "upload_time_iso_8601": "2025-07-25T03:21:01.474632Z",
            "url": "https://files.pythonhosted.org/packages/c0/ab/28f8dec9576f3576aff2ca42bc4e59767fefc7509f3e9a77a7355282ea46/spotify_playlist_extractor-1.0.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-25 03:21:01",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "MohammadHNdev",
    "github_project": "Spotify-Playlist-Extractor",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "spotipy",
            "specs": [
                [
                    ">=",
                    "2.22.1"
                ]
            ]
        },
        {
            "name": "requests",
            "specs": [
                [
                    ">=",
                    "2.28.0"
                ]
            ]
        },
        {
            "name": "python-dotenv",
            "specs": [
                [
                    ">=",
                    "0.19.0"
                ]
            ]
        }
    ],
    "lcname": "spotify-playlist-extractor"
}
        
Elapsed time: 0.79904s