sideload 1.9.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- sideload-1.9.0/PKG-INFO +140 -0
- sideload-1.9.0/README.md +123 -0
- sideload-1.9.0/pyproject.toml +27 -0
- sideload-1.9.0/src/sideload/__init__.py +0 -0
- sideload-1.9.0/src/sideload/cli.py +765 -0
- sideload-1.9.0/src/sideload/jsonbin_connector.py +345 -0
- sideload-1.9.0/src/sideload/scripts/cleanup_pypi.py +352 -0
- sideload-1.9.0/src/sideload/server.py +361 -0
sideload-1.9.0/PKG-INFO
ADDED
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
Metadata-Version: 2.3
|
|
2
|
+
Name: sideload
|
|
3
|
+
Version: 1.9.0
|
|
4
|
+
Summary: Download large files via PyPI packages
|
|
5
|
+
Author: Sygmei
|
|
6
|
+
Author-email: Sygmei <3835355+Sygmei@users.noreply.github.com>
|
|
7
|
+
Requires-Dist: build>=1.3.0
|
|
8
|
+
Requires-Dist: twine>=6.2.0
|
|
9
|
+
Requires-Dist: wheel>=0.45.1
|
|
10
|
+
Requires-Dist: rich>=13.0.0
|
|
11
|
+
Requires-Dist: httpx>=0.28.1
|
|
12
|
+
Requires-Dist: pip>=25.2
|
|
13
|
+
Requires-Dist: playwright>=1.55.0
|
|
14
|
+
Requires-Dist: pyotp>=2.9.0
|
|
15
|
+
Requires-Python: >=3.12
|
|
16
|
+
Description-Content-Type: text/markdown
|
|
17
|
+
|
|
18
|
+
# ๐ Sideload
|
|
19
|
+
|
|
20
|
+
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.
|
|
21
|
+
|
|
22
|
+
## Features
|
|
23
|
+
|
|
24
|
+
- โจ **Beautiful CLI** powered by Rich with progress bars and status updates
|
|
25
|
+
- ๐ฆ **Automatic file splitting** into 99MB PyPI-compliant chunks
|
|
26
|
+
- ๐ **Automatic reassembly** of downloaded parts
|
|
27
|
+
- ๐ **JSONBin integration** for request tracking
|
|
28
|
+
- ๐ก๏ธ **Error handling** with detailed progress monitoring
|
|
29
|
+
|
|
30
|
+
## Installation
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
git clone <repository-url>
|
|
34
|
+
cd Sideload
|
|
35
|
+
uv install
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Usage
|
|
39
|
+
|
|
40
|
+
### Environment Variables
|
|
41
|
+
|
|
42
|
+
Set up your credentials:
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
export JSONBIN_TOKEN="your_jsonbin_token"
|
|
46
|
+
export SIDELOAD_COLLECTION_ID="your_collection_id"
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### Download a File
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
# Basic usage
|
|
53
|
+
uv run sideload download https://example.com/largefile.zip
|
|
54
|
+
|
|
55
|
+
# Specify output directory
|
|
56
|
+
uv run sideload download https://example.com/largefile.zip --output ./downloads/
|
|
57
|
+
|
|
58
|
+
# Override credentials
|
|
59
|
+
uv run sideload download https://example.com/largefile.zip --token YOUR_TOKEN --collection YOUR_COLLECTION
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### How it Works
|
|
63
|
+
|
|
64
|
+
1. **Submit Request**: The CLI creates a new request in your JSONBin collection
|
|
65
|
+
2. **Monitor Progress**: Real-time progress monitoring with beautiful progress bars
|
|
66
|
+
3. **Download Packages**: Automatically downloads all PyPI packages containing file parts
|
|
67
|
+
4. **Reassemble**: Extracts and concatenates parts to rebuild the original file
|
|
68
|
+
|
|
69
|
+
### CLI Interface
|
|
70
|
+
|
|
71
|
+
The CLI provides:
|
|
72
|
+
|
|
73
|
+
- ๐ **Colorful output** with status indicators
|
|
74
|
+
- ๐ **Progress bars** for downloads and processing
|
|
75
|
+
- ๐ **Real-time monitoring** of server-side processing
|
|
76
|
+
- โ
**Success/error reporting** with detailed information
|
|
77
|
+
- ๐ **Summary tables** showing download statistics
|
|
78
|
+
|
|
79
|
+
### Example Output
|
|
80
|
+
|
|
81
|
+
```
|
|
82
|
+
๐ SIDELOAD
|
|
83
|
+
Download large files via PyPI packages
|
|
84
|
+
|
|
85
|
+
๐ Requesting download for: https://example.com/largefile.zip
|
|
86
|
+
โ
Created sideload request: abc123def456
|
|
87
|
+
|
|
88
|
+
๐ก Monitoring Progress
|
|
89
|
+
๐ฅ Downloading... (45%) โโโโโโโโโโโโโโโโโ
|
|
90
|
+
๐จ Building packages...
|
|
91
|
+
๐ค Uploading part 1/3...
|
|
92
|
+
|
|
93
|
+
๐ Download Summary
|
|
94
|
+
โโโโโโโโโโโโโโโโโโโโโณโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
95
|
+
โ Property โ Value โ
|
|
96
|
+
โกโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฉ
|
|
97
|
+
โ Original Filename โ largefile.zip โ
|
|
98
|
+
โ File Size โ 250,123,456 bytes โ
|
|
99
|
+
โ Total Packages โ 3 โ
|
|
100
|
+
โ Status โ โ
UPLOADED โ
|
|
101
|
+
โโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
102
|
+
|
|
103
|
+
๐ฆ Downloading Packages
|
|
104
|
+
๐ฆ Downloading package 1/3... โโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
105
|
+
|
|
106
|
+
๐ง Reassembling File
|
|
107
|
+
๐ Assembling part 1/3... โโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
108
|
+
|
|
109
|
+
โจ Complete
|
|
110
|
+
๐ File successfully downloaded to: largefile.zip
|
|
111
|
+
๐ File size: 250,123,456 bytes
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
## Development
|
|
115
|
+
|
|
116
|
+
### Server Setup
|
|
117
|
+
|
|
118
|
+
The server component handles file processing and PyPI uploads:
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
# Set environment variables
|
|
122
|
+
export JSONBIN_TOKEN="your_token"
|
|
123
|
+
export PYPI_TOKEN="your_pypi_token"
|
|
124
|
+
|
|
125
|
+
# Run the server
|
|
126
|
+
uv run python src/sideload/main.py
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
### Project Structure
|
|
130
|
+
|
|
131
|
+
```
|
|
132
|
+
src/sideload/
|
|
133
|
+
โโโ __init__.py # Package initialization
|
|
134
|
+
โโโ main.py # Server component
|
|
135
|
+
โโโ cli.py # CLI client
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
## License
|
|
139
|
+
|
|
140
|
+
[Your License Here]
|
sideload-1.9.0/README.md
ADDED
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
# ๐ Sideload
|
|
2
|
+
|
|
3
|
+
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.
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
- โจ **Beautiful CLI** powered by Rich with progress bars and status updates
|
|
8
|
+
- ๐ฆ **Automatic file splitting** into 99MB PyPI-compliant chunks
|
|
9
|
+
- ๐ **Automatic reassembly** of downloaded parts
|
|
10
|
+
- ๐ **JSONBin integration** for request tracking
|
|
11
|
+
- ๐ก๏ธ **Error handling** with detailed progress monitoring
|
|
12
|
+
|
|
13
|
+
## Installation
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
git clone <repository-url>
|
|
17
|
+
cd Sideload
|
|
18
|
+
uv install
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Usage
|
|
22
|
+
|
|
23
|
+
### Environment Variables
|
|
24
|
+
|
|
25
|
+
Set up your credentials:
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
export JSONBIN_TOKEN="your_jsonbin_token"
|
|
29
|
+
export SIDELOAD_COLLECTION_ID="your_collection_id"
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
### Download a File
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
# Basic usage
|
|
36
|
+
uv run sideload download https://example.com/largefile.zip
|
|
37
|
+
|
|
38
|
+
# Specify output directory
|
|
39
|
+
uv run sideload download https://example.com/largefile.zip --output ./downloads/
|
|
40
|
+
|
|
41
|
+
# Override credentials
|
|
42
|
+
uv run sideload download https://example.com/largefile.zip --token YOUR_TOKEN --collection YOUR_COLLECTION
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### How it Works
|
|
46
|
+
|
|
47
|
+
1. **Submit Request**: The CLI creates a new request in your JSONBin collection
|
|
48
|
+
2. **Monitor Progress**: Real-time progress monitoring with beautiful progress bars
|
|
49
|
+
3. **Download Packages**: Automatically downloads all PyPI packages containing file parts
|
|
50
|
+
4. **Reassemble**: Extracts and concatenates parts to rebuild the original file
|
|
51
|
+
|
|
52
|
+
### CLI Interface
|
|
53
|
+
|
|
54
|
+
The CLI provides:
|
|
55
|
+
|
|
56
|
+
- ๐ **Colorful output** with status indicators
|
|
57
|
+
- ๐ **Progress bars** for downloads and processing
|
|
58
|
+
- ๐ **Real-time monitoring** of server-side processing
|
|
59
|
+
- โ
**Success/error reporting** with detailed information
|
|
60
|
+
- ๐ **Summary tables** showing download statistics
|
|
61
|
+
|
|
62
|
+
### Example Output
|
|
63
|
+
|
|
64
|
+
```
|
|
65
|
+
๐ SIDELOAD
|
|
66
|
+
Download large files via PyPI packages
|
|
67
|
+
|
|
68
|
+
๐ Requesting download for: https://example.com/largefile.zip
|
|
69
|
+
โ
Created sideload request: abc123def456
|
|
70
|
+
|
|
71
|
+
๐ก Monitoring Progress
|
|
72
|
+
๐ฅ Downloading... (45%) โโโโโโโโโโโโโโโโโ
|
|
73
|
+
๐จ Building packages...
|
|
74
|
+
๐ค Uploading part 1/3...
|
|
75
|
+
|
|
76
|
+
๐ Download Summary
|
|
77
|
+
โโโโโโโโโโโโโโโโโโโโโณโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
78
|
+
โ Property โ Value โ
|
|
79
|
+
โกโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฉ
|
|
80
|
+
โ Original Filename โ largefile.zip โ
|
|
81
|
+
โ File Size โ 250,123,456 bytes โ
|
|
82
|
+
โ Total Packages โ 3 โ
|
|
83
|
+
โ Status โ โ
UPLOADED โ
|
|
84
|
+
โโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
85
|
+
|
|
86
|
+
๐ฆ Downloading Packages
|
|
87
|
+
๐ฆ Downloading package 1/3... โโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
88
|
+
|
|
89
|
+
๐ง Reassembling File
|
|
90
|
+
๐ Assembling part 1/3... โโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
91
|
+
|
|
92
|
+
โจ Complete
|
|
93
|
+
๐ File successfully downloaded to: largefile.zip
|
|
94
|
+
๐ File size: 250,123,456 bytes
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
## Development
|
|
98
|
+
|
|
99
|
+
### Server Setup
|
|
100
|
+
|
|
101
|
+
The server component handles file processing and PyPI uploads:
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
# Set environment variables
|
|
105
|
+
export JSONBIN_TOKEN="your_token"
|
|
106
|
+
export PYPI_TOKEN="your_pypi_token"
|
|
107
|
+
|
|
108
|
+
# Run the server
|
|
109
|
+
uv run python src/sideload/main.py
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
### Project Structure
|
|
113
|
+
|
|
114
|
+
```
|
|
115
|
+
src/sideload/
|
|
116
|
+
โโโ __init__.py # Package initialization
|
|
117
|
+
โโโ main.py # Server component
|
|
118
|
+
โโโ cli.py # CLI client
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
## License
|
|
122
|
+
|
|
123
|
+
[Your License Here]
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
[project]
|
|
2
|
+
name = "sideload"
|
|
3
|
+
version = "1.9.0"
|
|
4
|
+
description = "Download large files via PyPI packages"
|
|
5
|
+
readme = "README.md"
|
|
6
|
+
authors = [
|
|
7
|
+
{ name = "Sygmei", email = "3835355+Sygmei@users.noreply.github.com" },
|
|
8
|
+
]
|
|
9
|
+
requires-python = ">=3.12"
|
|
10
|
+
dependencies = [
|
|
11
|
+
"build>=1.3.0",
|
|
12
|
+
"twine>=6.2.0",
|
|
13
|
+
"wheel>=0.45.1",
|
|
14
|
+
"rich>=13.0.0",
|
|
15
|
+
"httpx>=0.28.1",
|
|
16
|
+
"pip>=25.2",
|
|
17
|
+
"playwright>=1.55.0",
|
|
18
|
+
"pyotp>=2.9.0",
|
|
19
|
+
]
|
|
20
|
+
|
|
21
|
+
[project.scripts]
|
|
22
|
+
sideload = "sideload.cli:cli_main"
|
|
23
|
+
sideload-server = "sideload.server:server_main"
|
|
24
|
+
|
|
25
|
+
[build-system]
|
|
26
|
+
requires = ["uv_build>=0.8.15,<0.9.0"]
|
|
27
|
+
build-backend = "uv_build"
|
|
File without changes
|