πŸš€ Launch Week Day 4:Introducing the Alert Details Page: A Better Way to Explore Alerts.Learn More β†’
Socket
Book a DemoInstallSign in
Socket

sideload

Package Overview
Dependencies
Maintainers
1
Versions
13
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

sideload

Download large files via PyPI packages

pipPyPI
Version
1.10.1
Maintainers
1

πŸš€ Sideload

Download large files via PyPI packages! Sideload automatically splits large files into PyPI-compliant chunks and allows you to download them through a beautiful CLI interface.

Features

  • ✨ Beautiful CLI powered by Rich with progress bars and status updates
  • πŸ“¦ Automatic file splitting into 99MB PyPI-compliant chunks
  • πŸ”„ Automatic reassembly of downloaded parts
  • 🌐 JSONBin integration for request tracking
  • πŸ›‘οΈ Error handling with detailed progress monitoring

Installation

git clone <repository-url>
cd Sideload
uv install

Usage

Environment Variables

Set up your credentials:

export JSONBIN_TOKEN="your_jsonbin_token"
export SIDELOAD_COLLECTION_ID="your_collection_id"

Download a File

# Basic usage
uv run sideload download https://example.com/largefile.zip

# Specify output directory
uv run sideload download https://example.com/largefile.zip --output ./downloads/

# Override credentials
uv run sideload download https://example.com/largefile.zip --token YOUR_TOKEN --collection YOUR_COLLECTION

How it Works

  • Submit Request: The CLI creates a new request in your JSONBin collection
  • Monitor Progress: Real-time progress monitoring with beautiful progress bars
  • Download Packages: Automatically downloads all PyPI packages containing file parts
  • Reassemble: Extracts and concatenates parts to rebuild the original file

CLI Interface

The CLI provides:

  • 🌈 Colorful output with status indicators
  • πŸ“Š Progress bars for downloads and processing
  • πŸ“ˆ Real-time monitoring of server-side processing
  • βœ… Success/error reporting with detailed information
  • πŸ“‹ Summary tables showing download statistics

Example Output

πŸš€ SIDELOAD
Download large files via PyPI packages

🌐 Requesting download for: https://example.com/largefile.zip
βœ… Created sideload request: abc123def456

πŸ“‘ Monitoring Progress
πŸ“₯ Downloading... (45%) β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–Œ                 
πŸ”¨ Building packages...
πŸ“€ Uploading part 1/3...

πŸ“Š Download Summary
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Property          ┃ Value                           ┃
┑━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
β”‚ Original Filename β”‚ largefile.zip                   β”‚
β”‚ File Size         β”‚ 250,123,456 bytes               β”‚
β”‚ Total Packages    β”‚ 3                               β”‚
β”‚ Status            β”‚ βœ… UPLOADED                     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ“¦ Downloading Packages
πŸ“¦ Downloading package 1/3... β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ

πŸ”§ Reassembling File
πŸ”— Assembling part 1/3... β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ

✨ Complete
πŸŽ‰ File successfully downloaded to: largefile.zip
πŸ“Š File size: 250,123,456 bytes

Development

Server Setup

The server component handles file processing and PyPI uploads:

# Set environment variables
export JSONBIN_TOKEN="your_token"
export PYPI_TOKEN="your_pypi_token"

# Run the server
uv run python src/sideload/main.py

Project Structure

src/sideload/
β”œβ”€β”€ __init__.py     # Package initialization
β”œβ”€β”€ main.py         # Server component
└── cli.py          # CLI client

License

[Your License Here]

FAQs

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts