# Juice WRLD API Wrapper
[](https://www.python.org/downloads/)
A comprehensive Python wrapper for the Juice WRLD API, providing easy access to Juice WRLD's complete discography including released tracks, unreleased songs, recording sessions, and unsurfaced content.
## Features
- **Full API Coverage**: Access to all Juice WRLD API endpoints
- **Type Safety**: Full type hints and data models
- **Error Handling**: Comprehensive exception handling
- **Context Manager Support**: Safe resource management
- **Search & Filtering**: Advanced song search across all categories
- **File Operations**: Browse, download, and manage audio files
- **Audio Streaming**: Modern streaming support with range requests
- **ZIP Operations**: Create and manage ZIP archives
## Requirements
- **Python**: 3.7+ (for dataclasses support)
- **Dependencies**: Only `requests>=2.28.0` (all other imports are built-in Python modules)
## Installation
### Quick Install (Recommended)
```bash
pip install juicewrld-api-wrapper
```
### Alternative Installation Methods
**From PyPI (Latest Release)**
```bash
pip install juicewrld-api-wrapper
```
**From GitHub Repository (Development Version)**
```bash
pip install git+https://github.com/hackinhood/juicewrld-api-wrapper.git
```
**From Source**
```bash
git clone https://github.com/hackinhood/juicewrld-api-wrapper.git
cd juicewrld-api-wrapper
pip install -e .
```
### Verify Installation
```bash
python -c "from juicewrld_api_wrapper import JuiceWRLDAPI; print('Installation successful!')"
```
## Quick Start
### Basic Usage
```python
from juicewrld_api_wrapper import JuiceWRLDAPI
# Initialize the API client
api = JuiceWRLDAPI()
# Get API overview
overview = api.get_api_overview()
# Search for songs
results = api.search_songs("lucid dreams", limit=10)
# Get songs by category
unreleased = api.get_songs_by_category("unreleased", page=1, page_size=20)
# Close the client
api.close()
```
### Audio Streaming
```python
from juicewrld_api_wrapper import JuiceWRLDAPI
api = JuiceWRLDAPI()
# Stream audio directly
stream_result = api.stream_audio_file("Compilation/2. Unreleased Discography/song.mp3")
if stream_result['status'] == 'success':
stream_url = stream_result['stream_url']
print(f"Stream URL: {stream_url}")
print(f"Supports range: {stream_result['supports_range']}")
# Play songs from player endpoint (uses modern streaming)
play_result = api.play_juicewrld_song(song_id)
if play_result.get('stream_url'):
print(f"Stream URL: {play_result['stream_url']}")
api.close()
```
### Context Manager Usage
```python
from juicewrld_api_wrapper import JuiceWRLDAPI
with JuiceWRLDAPI() as api:
stats = api.get_stats()
print(f"Total songs: {stats.total_songs}")
songs = api.get_songs(category="released", page_size=5)
for song in songs['results']:
print(f"- {song.name} ({song.length})")
```
## API Endpoints
### Song Management
- `get_songs()` - Get songs with pagination and filtering
- `get_song()` - Get song by ID
- `search_songs()` - Search songs across all categories
- `get_songs_by_category()` - Get songs by specific category
### Categories & Eras
- `get_categories()` - Get available song categories
- `get_eras()` - Get all musical eras
- `get_stats()` - Get comprehensive statistics
### Audio Streaming
- `stream_audio_file(file_path)` - Stream audio files directly
- `play_juicewrld_song(song_id)` - Get streaming URL for player songs
### File Operations
- `browse_files()` - Browse directory structure
- `download_file()` - Download audio files
- `get_cover_art()` - Extract cover art
- `create_zip()` - Create ZIP archives
- `start_zip_job()` - Start background ZIP creation
- `get_zip_job_status()` - Check ZIP job status
- `cancel_zip_job()` - Cancel ZIP jobs
### Artist & Album Information
- `get_artists()` - Get all artists
- `get_artist()` - Get artist by ID
- `get_albums()` - Get all albums
- `get_album()` - Get album by ID
## Data Models
The wrapper provides structured data models for all entities:
```python
from juicewrld_api_wrapper.models import Song, Artist, Album, Era
# Song object with full metadata
song = Song(
id=36310,
name="Hit-Boys 2030",
category="recording_session",
era=Era(
id=34,
name="DRFL",
description="Death Race For Love era (December 2018-December 2019)",
time_frame="(December 2018-December 2019)"
),
track_titles=["Hit-Boys 2030", "Big"],
credited_artists="Juice WRLD",
producers="Corbett, Hit-Boy & TreShaunBeatz",
engineers="Evan Swayne, Jacob Richards, Jaycen Joshua, Max Lord, Mike Seaberg & Rashawn McLean",
recording_locations="Blue Room West Recording Studio, West Hollywood, Los Angeles, CA.",
record_dates="Recorded January 11, 2019.",
length="",
session_titles="Big-OG Multitrack.ptx",
session_tracking="Stem Track Files: 27, Total Vocal Takes: 44",
instrumental_names="Hit-Boys2030 2018, Big-Instrumental V5 FNL",
dates="Surfaced July 8, 2023."
)
# Access song metadata
print(f"Song: {song.name}")
print(f"Category: {song.category}")
print(f"Era: {song.era.name} ({song.era.time_frame})")
print(f"Track Titles: {', '.join(song.track_titles)}")
print(f"Producers: {song.producers}")
print(f"Recording Location: {song.recording_locations}")
print(f"Session: {song.session_titles}")
print(f"Stem Tracks: {song.session_tracking}")
```
## Audio Streaming
The wrapper provides modern audio streaming capabilities:
### Direct File Streaming
```python
# Stream any audio file directly
stream_result = api.stream_audio_file("Compilation/2. Unreleased Discography/song.mp3")
if stream_result['status'] == 'success':
stream_url = stream_result['stream_url']
content_type = stream_result['content_type']
supports_range = stream_result['supports_range']
print(f"Stream URL: {stream_url}")
print(f"Content Type: {content_type}")
print(f"Range Support: {supports_range}")
```
### Player Song Streaming
```python
# Get streaming URL for songs from player endpoint
play_result = api.play_juicewrld_song(song_id)
if play_result.get('stream_url'):
stream_url = play_result['stream_url']
print(f"Stream URL: {stream_url}")
```
### Streaming Features
- **Range Requests**: Support for partial content (206 responses)
- **Content Type Detection**: Automatic audio/mpeg detection
- **File Validation**: Checks if files exist before streaming
- **Error Handling**: Graceful fallback for missing files
## Error Handling
```python
from juicewrld_api_wrapper.exceptions import (
JuiceWRLDAPIError,
RateLimitError,
NotFoundError,
AuthenticationError,
ValidationError
)
try:
songs = api.get_songs(category="invalid_category")
except NotFoundError:
print("Category not found")
except RateLimitError:
print("Rate limit exceeded")
except AuthenticationError:
print("Authentication required")
except JuiceWRLDAPIError as e:
print(f"API error: {e}")
```
## Examples
See `examples.py` for comprehensive usage examples covering:
- Basic API operations
- Song search and filtering
- Audio streaming
- Error handling
- Context manager usage
## Configuration
### Environment Variables
```bash
export JUICE_WRLD_API_
export JUICE_WRLD_API_TIMEOUT="30"
```
## Data Categories
- **Released**: Officially released tracks and albums
- **Unreleased**: Confirmed unreleased songs with metadata
- **Recording Sessions**: Studio session recordings and snippets
- **Unsurfaced**: Rare and unsurfaced content
## Search Capabilities
- **Text Search**: Search by song title, artist, or lyrics
- **Category Filtering**: Filter by release status
- **Era Filtering**: Filter by musical era
- **Year Filtering**: Filter by recording/release year
- **Tag Filtering**: Filter by musical tags
## File Path Structure
The API expects file paths relative to the `comp` directory:
```
comp/
├── Compilation/
│ ├── 1. Released Discography/
│ └── 2. Unreleased Discography/
├── Session Edits/
├── Snippets/
└── Original Files/
```
**Example paths:**
- `"Compilation/2. Unreleased Discography/1. JUICED UP THE EP (Sessions)/Ain't Talkin' Toronto (feat. JuiceTheKidd).mp3"`
- `"Snippets/Auto/Auto.mp4"`
- `"Session Edits/song.mp3"`
## Rate Limiting
The wrapper respects API rate limits:
- Search queries: 100 requests/minute
- File downloads: 50 requests/minute
- ZIP creation: 10 requests/minute
- Audio streaming: 30 requests/minute
## Contributing
1. Fork the repository
2. Create a feature branch
3. Make your changes
4. Add tests if applicable
5. Submit a pull request
## Project Status
- **Version**: 1.0.4
- **Status**: Production Ready
- **Python Support**: 3.7+
- **Dependencies**: Minimal (only requests)
## Support
For support or questions:
- Check the examples in `examples.py`
- Review the API documentation in `API_ENDPOINTS.md`
- Open an issue on GitHub
- Check the [CONTRIBUTING.md](CONTRIBUTING.md) for development guidelines
## Changelog
### v1.0.0
- Initial release
- Full API coverage
- Comprehensive error handling
- Type hints and data models
- Audio streaming support
- ZIP operations
- Modern files/download endpoint integration
Raw data
{
"_id": null,
"home_page": "https://github.com/HackinHood/juicewrld-api-wrapper",
"name": "juicewrld-api-wrapper",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": "Juice WRLD API Wrapper <support@juicewrldapi.com>",
"keywords": "juice wrld, api, wrapper, music, discography, python",
"author": "Juice WRLD API Wrapper",
"author_email": "Juice WRLD API Wrapper <support@juicewrldapi.com>",
"download_url": "https://files.pythonhosted.org/packages/71/06/5c3dd0e69743466e9250fe3ef419eefc64a2afb2803b09e98ee6182ea1cb/juicewrld_api_wrapper-1.0.4.tar.gz",
"platform": null,
"description": "# Juice WRLD API Wrapper\r\n\r\n[](https://www.python.org/downloads/)\r\n\r\nA comprehensive Python wrapper for the Juice WRLD API, providing easy access to Juice WRLD's complete discography including released tracks, unreleased songs, recording sessions, and unsurfaced content.\r\n\r\n## Features\r\n\r\n- **Full API Coverage**: Access to all Juice WRLD API endpoints\r\n- **Type Safety**: Full type hints and data models\r\n- **Error Handling**: Comprehensive exception handling\r\n- **Context Manager Support**: Safe resource management\r\n- **Search & Filtering**: Advanced song search across all categories\r\n- **File Operations**: Browse, download, and manage audio files\r\n- **Audio Streaming**: Modern streaming support with range requests\r\n- **ZIP Operations**: Create and manage ZIP archives\r\n\r\n## Requirements\r\n\r\n- **Python**: 3.7+ (for dataclasses support)\r\n- **Dependencies**: Only `requests>=2.28.0` (all other imports are built-in Python modules)\r\n\r\n## Installation\r\n\r\n### Quick Install (Recommended)\r\n```bash\r\npip install juicewrld-api-wrapper\r\n```\r\n\r\n### Alternative Installation Methods\r\n\r\n**From PyPI (Latest Release)**\r\n```bash\r\npip install juicewrld-api-wrapper\r\n```\r\n\r\n**From GitHub Repository (Development Version)**\r\n```bash\r\npip install git+https://github.com/hackinhood/juicewrld-api-wrapper.git\r\n```\r\n\r\n**From Source**\r\n```bash\r\ngit clone https://github.com/hackinhood/juicewrld-api-wrapper.git\r\ncd juicewrld-api-wrapper\r\npip install -e .\r\n```\r\n\r\n### Verify Installation\r\n```bash\r\npython -c \"from juicewrld_api_wrapper import JuiceWRLDAPI; print('Installation successful!')\"\r\n```\r\n\r\n## Quick Start\r\n\r\n### Basic Usage\r\n\r\n```python\r\nfrom juicewrld_api_wrapper import JuiceWRLDAPI\r\n\r\n# Initialize the API client\r\napi = JuiceWRLDAPI()\r\n\r\n# Get API overview\r\noverview = api.get_api_overview()\r\n\r\n# Search for songs\r\nresults = api.search_songs(\"lucid dreams\", limit=10)\r\n\r\n# Get songs by category\r\nunreleased = api.get_songs_by_category(\"unreleased\", page=1, page_size=20)\r\n\r\n# Close the client\r\napi.close()\r\n```\r\n\r\n### Audio Streaming\r\n\r\n```python\r\nfrom juicewrld_api_wrapper import JuiceWRLDAPI\r\n\r\napi = JuiceWRLDAPI()\r\n\r\n# Stream audio directly\r\nstream_result = api.stream_audio_file(\"Compilation/2. Unreleased Discography/song.mp3\")\r\nif stream_result['status'] == 'success':\r\n stream_url = stream_result['stream_url']\r\n print(f\"Stream URL: {stream_url}\")\r\n print(f\"Supports range: {stream_result['supports_range']}\")\r\n\r\n# Play songs from player endpoint (uses modern streaming)\r\nplay_result = api.play_juicewrld_song(song_id)\r\nif play_result.get('stream_url'):\r\n print(f\"Stream URL: {play_result['stream_url']}\")\r\n\r\napi.close()\r\n```\r\n\r\n### Context Manager Usage\r\n\r\n```python\r\nfrom juicewrld_api_wrapper import JuiceWRLDAPI\r\n\r\nwith JuiceWRLDAPI() as api:\r\n stats = api.get_stats()\r\n print(f\"Total songs: {stats.total_songs}\")\r\n \r\n songs = api.get_songs(category=\"released\", page_size=5)\r\n for song in songs['results']:\r\n print(f\"- {song.name} ({song.length})\")\r\n```\r\n\r\n## API Endpoints\r\n\r\n### Song Management\r\n\r\n- `get_songs()` - Get songs with pagination and filtering\r\n- `get_song()` - Get song by ID\r\n- `search_songs()` - Search songs across all categories\r\n- `get_songs_by_category()` - Get songs by specific category\r\n\r\n\r\n### Categories & Eras\r\n\r\n- `get_categories()` - Get available song categories\r\n- `get_eras()` - Get all musical eras\r\n- `get_stats()` - Get comprehensive statistics\r\n\r\n### Audio Streaming\r\n\r\n- `stream_audio_file(file_path)` - Stream audio files directly\r\n- `play_juicewrld_song(song_id)` - Get streaming URL for player songs\r\n\r\n### File Operations\r\n\r\n- `browse_files()` - Browse directory structure\r\n- `download_file()` - Download audio files\r\n- `get_cover_art()` - Extract cover art\r\n- `create_zip()` - Create ZIP archives\r\n- `start_zip_job()` - Start background ZIP creation\r\n- `get_zip_job_status()` - Check ZIP job status\r\n- `cancel_zip_job()` - Cancel ZIP jobs\r\n\r\n### Artist & Album Information\r\n\r\n- `get_artists()` - Get all artists\r\n- `get_artist()` - Get artist by ID\r\n- `get_albums()` - Get all albums\r\n- `get_album()` - Get album by ID\r\n\r\n## Data Models\r\n\r\nThe wrapper provides structured data models for all entities:\r\n\r\n```python\r\nfrom juicewrld_api_wrapper.models import Song, Artist, Album, Era\r\n\r\n# Song object with full metadata\r\nsong = Song(\r\n id=36310,\r\n name=\"Hit-Boys 2030\",\r\n category=\"recording_session\",\r\n era=Era(\r\n id=34,\r\n name=\"DRFL\", \r\n description=\"Death Race For Love era (December 2018-December 2019)\",\r\n time_frame=\"(December 2018-December 2019)\"\r\n ),\r\n track_titles=[\"Hit-Boys 2030\", \"Big\"],\r\n credited_artists=\"Juice WRLD\",\r\n producers=\"Corbett, Hit-Boy & TreShaunBeatz\",\r\n engineers=\"Evan Swayne, Jacob Richards, Jaycen Joshua, Max Lord, Mike Seaberg & Rashawn McLean\",\r\n recording_locations=\"Blue Room West Recording Studio, West Hollywood, Los Angeles, CA.\",\r\n record_dates=\"Recorded January 11, 2019.\",\r\n length=\"\",\r\n session_titles=\"Big-OG Multitrack.ptx\",\r\n session_tracking=\"Stem Track Files: 27, Total Vocal Takes: 44\",\r\n instrumental_names=\"Hit-Boys2030 2018, Big-Instrumental V5 FNL\",\r\n dates=\"Surfaced July 8, 2023.\"\r\n)\r\n\r\n# Access song metadata\r\nprint(f\"Song: {song.name}\")\r\nprint(f\"Category: {song.category}\")\r\nprint(f\"Era: {song.era.name} ({song.era.time_frame})\")\r\nprint(f\"Track Titles: {', '.join(song.track_titles)}\")\r\nprint(f\"Producers: {song.producers}\")\r\nprint(f\"Recording Location: {song.recording_locations}\")\r\nprint(f\"Session: {song.session_titles}\")\r\nprint(f\"Stem Tracks: {song.session_tracking}\")\r\n```\r\n\r\n## Audio Streaming\r\n\r\nThe wrapper provides modern audio streaming capabilities:\r\n\r\n### Direct File Streaming\r\n```python\r\n# Stream any audio file directly\r\nstream_result = api.stream_audio_file(\"Compilation/2. Unreleased Discography/song.mp3\")\r\n\r\nif stream_result['status'] == 'success':\r\n stream_url = stream_result['stream_url']\r\n content_type = stream_result['content_type']\r\n supports_range = stream_result['supports_range']\r\n \r\n print(f\"Stream URL: {stream_url}\")\r\n print(f\"Content Type: {content_type}\")\r\n print(f\"Range Support: {supports_range}\")\r\n```\r\n\r\n### Player Song Streaming\r\n```python\r\n# Get streaming URL for songs from player endpoint\r\nplay_result = api.play_juicewrld_song(song_id)\r\n\r\nif play_result.get('stream_url'):\r\n stream_url = play_result['stream_url']\r\n print(f\"Stream URL: {stream_url}\")\r\n```\r\n\r\n### Streaming Features\r\n- **Range Requests**: Support for partial content (206 responses)\r\n- **Content Type Detection**: Automatic audio/mpeg detection\r\n- **File Validation**: Checks if files exist before streaming\r\n- **Error Handling**: Graceful fallback for missing files\r\n\r\n## Error Handling\r\n\r\n```python\r\nfrom juicewrld_api_wrapper.exceptions import (\r\n JuiceWRLDAPIError, \r\n RateLimitError, \r\n NotFoundError,\r\n AuthenticationError,\r\n ValidationError\r\n)\r\n\r\ntry:\r\n songs = api.get_songs(category=\"invalid_category\")\r\nexcept NotFoundError:\r\n print(\"Category not found\")\r\nexcept RateLimitError:\r\n print(\"Rate limit exceeded\")\r\nexcept AuthenticationError:\r\n print(\"Authentication required\")\r\nexcept JuiceWRLDAPIError as e:\r\n print(f\"API error: {e}\")\r\n```\r\n\r\n## Examples\r\n\r\nSee `examples.py` for comprehensive usage examples covering:\r\n\r\n- Basic API operations\r\n- Song search and filtering\r\n- Audio streaming\r\n- Error handling\r\n- Context manager usage\r\n\r\n## Configuration\r\n\r\n### Environment Variables\r\n\r\n```bash\r\nexport JUICE_WRLD_API_\r\nexport JUICE_WRLD_API_TIMEOUT=\"30\"\r\n```\r\n\r\n## Data Categories\r\n\r\n- **Released**: Officially released tracks and albums\r\n- **Unreleased**: Confirmed unreleased songs with metadata\r\n- **Recording Sessions**: Studio session recordings and snippets\r\n- **Unsurfaced**: Rare and unsurfaced content\r\n\r\n## Search Capabilities\r\n\r\n- **Text Search**: Search by song title, artist, or lyrics\r\n- **Category Filtering**: Filter by release status\r\n- **Era Filtering**: Filter by musical era\r\n- **Year Filtering**: Filter by recording/release year\r\n- **Tag Filtering**: Filter by musical tags\r\n\r\n## File Path Structure\r\n\r\nThe API expects file paths relative to the `comp` directory:\r\n\r\n```\r\ncomp/\r\n\u251c\u2500\u2500 Compilation/\r\n\u2502 \u251c\u2500\u2500 1. Released Discography/\r\n\u2502 \u2514\u2500\u2500 2. Unreleased Discography/\r\n\u251c\u2500\u2500 Session Edits/\r\n\u251c\u2500\u2500 Snippets/\r\n\u2514\u2500\u2500 Original Files/\r\n```\r\n\r\n**Example paths:**\r\n- `\"Compilation/2. Unreleased Discography/1. JUICED UP THE EP (Sessions)/Ain't Talkin' Toronto (feat. JuiceTheKidd).mp3\"`\r\n- `\"Snippets/Auto/Auto.mp4\"`\r\n- `\"Session Edits/song.mp3\"`\r\n\r\n## Rate Limiting\r\n\r\nThe wrapper respects API rate limits:\r\n- Search queries: 100 requests/minute\r\n- File downloads: 50 requests/minute\r\n- ZIP creation: 10 requests/minute\r\n- Audio streaming: 30 requests/minute\r\n\r\n## Contributing\r\n\r\n1. Fork the repository\r\n2. Create a feature branch\r\n3. Make your changes\r\n4. Add tests if applicable\r\n5. Submit a pull request\r\n\r\n## Project Status\r\n\r\n- **Version**: 1.0.4\r\n- **Status**: Production Ready\r\n- **Python Support**: 3.7+\r\n- **Dependencies**: Minimal (only requests)\r\n\r\n## Support\r\n\r\nFor support or questions:\r\n- Check the examples in `examples.py`\r\n- Review the API documentation in `API_ENDPOINTS.md`\r\n- Open an issue on GitHub\r\n- Check the [CONTRIBUTING.md](CONTRIBUTING.md) for development guidelines\r\n\r\n## Changelog\r\n\r\n### v1.0.0\r\n- Initial release\r\n- Full API coverage\r\n- Comprehensive error handling\r\n- Type hints and data models\r\n- Audio streaming support\r\n- ZIP operations\r\n- Modern files/download endpoint integration\r\n\r\n",
"bugtrack_url": null,
"license": null,
"summary": "A comprehensive Python wrapper for the Juice WRLD API",
"version": "1.0.4",
"project_urls": {
"Bug Tracker": "https://github.com/HackinHood/juicewrld-api-wrapper/issues",
"Documentation": "https://github.com/HackinHood/juicewrld-api-wrapper#readme",
"Homepage": "https://github.com/HackinHood/juicewrld-api-wrapper",
"Repository": "https://github.com/HackinHood/juicewrld-api-wrapper",
"Source Code": "https://github.com/HackinHood/juicewrld-api-wrapper"
},
"split_keywords": [
"juice wrld",
" api",
" wrapper",
" music",
" discography",
" python"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "fe1c48d81997f63721966df68857df3f791672d61e50b573d6011a2bac893a7c",
"md5": "95674fcec0b73040ecae65cba814db17",
"sha256": "1198347ed179e8c73e8546b3902c3111f41188e44e7fc0ee8e0ac5b9cf66e141"
},
"downloads": -1,
"filename": "juicewrld_api_wrapper-1.0.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "95674fcec0b73040ecae65cba814db17",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 19340,
"upload_time": "2025-09-02T15:35:11",
"upload_time_iso_8601": "2025-09-02T15:35:11.303236Z",
"url": "https://files.pythonhosted.org/packages/fe/1c/48d81997f63721966df68857df3f791672d61e50b573d6011a2bac893a7c/juicewrld_api_wrapper-1.0.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "71065c3dd0e69743466e9250fe3ef419eefc64a2afb2803b09e98ee6182ea1cb",
"md5": "6ad699e46e3a31c0bc3aa1c2e855cefe",
"sha256": "5c72f5057d369f0820c967de649e315fc89e06b489c2e5c941ae26d149a752eb"
},
"downloads": -1,
"filename": "juicewrld_api_wrapper-1.0.4.tar.gz",
"has_sig": false,
"md5_digest": "6ad699e46e3a31c0bc3aa1c2e855cefe",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 23890,
"upload_time": "2025-09-02T15:35:12",
"upload_time_iso_8601": "2025-09-02T15:35:12.133316Z",
"url": "https://files.pythonhosted.org/packages/71/06/5c3dd0e69743466e9250fe3ef419eefc64a2afb2803b09e98ee6182ea1cb/juicewrld_api_wrapper-1.0.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-09-02 15:35:12",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "HackinHood",
"github_project": "juicewrld-api-wrapper",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "requests",
"specs": [
[
">=",
"2.28.0"
]
]
}
],
"lcname": "juicewrld-api-wrapper"
}