BROKENXAPI 2.0.2__tar.gz → 2.0.3__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.
- {brokenxapi-2.0.2 → brokenxapi-2.0.3}/BROKENXAPI.egg-info/PKG-INFO +59 -123
- {brokenxapi-2.0.2 → brokenxapi-2.0.3}/PKG-INFO +59 -123
- brokenxapi-2.0.3/README.md +126 -0
- brokenxapi-2.0.3/brokenxapi/__init__.py +16 -0
- brokenxapi-2.0.3/brokenxapi/__version__.py +2 -0
- brokenxapi-2.0.2/README.md +0 -190
- brokenxapi-2.0.2/brokenxapi/__init__.py +0 -4
- brokenxapi-2.0.2/brokenxapi/__version__.py +0 -2
- {brokenxapi-2.0.2 → brokenxapi-2.0.3}/BROKENXAPI.egg-info/SOURCES.txt +0 -0
- {brokenxapi-2.0.2 → brokenxapi-2.0.3}/BROKENXAPI.egg-info/dependency_links.txt +0 -0
- {brokenxapi-2.0.2 → brokenxapi-2.0.3}/BROKENXAPI.egg-info/entry_points.txt +0 -0
- {brokenxapi-2.0.2 → brokenxapi-2.0.3}/BROKENXAPI.egg-info/not-zip-safe +0 -0
- {brokenxapi-2.0.2 → brokenxapi-2.0.3}/BROKENXAPI.egg-info/requires.txt +0 -0
- {brokenxapi-2.0.2 → brokenxapi-2.0.3}/BROKENXAPI.egg-info/top_level.txt +0 -0
- {brokenxapi-2.0.2 → brokenxapi-2.0.3}/LICENSE +0 -0
- {brokenxapi-2.0.2 → brokenxapi-2.0.3}/brokenxapi/auth.py +0 -0
- {brokenxapi-2.0.2 → brokenxapi-2.0.3}/brokenxapi/cli.py +0 -0
- {brokenxapi-2.0.2 → brokenxapi-2.0.3}/brokenxapi/client.py +0 -0
- {brokenxapi-2.0.2 → brokenxapi-2.0.3}/brokenxapi/exceptions.py +0 -0
- {brokenxapi-2.0.2 → brokenxapi-2.0.3}/brokenxapi/models.py +0 -0
- {brokenxapi-2.0.2 → brokenxapi-2.0.3}/pyproject.toml +0 -0
- {brokenxapi-2.0.2 → brokenxapi-2.0.3}/setup.cfg +0 -0
- {brokenxapi-2.0.2 → brokenxapi-2.0.3}/setup.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: BROKENXAPI
|
|
3
|
-
Version: 2.0.
|
|
3
|
+
Version: 2.0.3
|
|
4
4
|
Summary: Official async Python SDK and CLI for BrokenX YouTube API
|
|
5
5
|
Author-email: Mr Broken <brokenxnetwork@gmail.com>
|
|
6
6
|
License: MIT License
|
|
@@ -50,110 +50,53 @@ License-File: LICENSE
|
|
|
50
50
|
Requires-Dist: aiohttp>=3.8.0
|
|
51
51
|
Dynamic: license-file
|
|
52
52
|
|
|
53
|
+
# BROKENXAPI
|
|
53
54
|
|
|
54
|
-
|
|
55
|
+
**BROKENXAPI** is a high-performance asynchronous **Python SDK and CLI** that enables developers to search and download YouTube audio or video through a remote backend API.
|
|
55
56
|
|
|
56
|
-
**
|
|
57
|
-
Built by **Broken X Network**
|
|
57
|
+
It is built for **automation tools**, **Telegram bots**, and **production systems** where reliability, speed, and a clean developer experience are critical.
|
|
58
58
|
|
|
59
|
-
|
|
60
|
-
jisme **SDK + CLI dono** available hain.
|
|
59
|
+
The SDK abstracts authentication and networking, while the CLI provides a fast and simple way to interact with the API directly from the terminal.
|
|
61
60
|
|
|
62
61
|
---
|
|
63
62
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
* 🖥️ Built-in CLI (`brokenx`)
|
|
68
|
-
* 🔑 Secure API-key authentication
|
|
69
|
-
* 🎵 Audio & 🎬 Video support
|
|
70
|
-
* ☁️ Telegram-based media delivery
|
|
71
|
-
* 🚀 Server-side caching & rate limits
|
|
72
|
-
* 🧱 Clean, production-ready packaging
|
|
63
|
+
<p align="center">
|
|
64
|
+
<img src="./docs/brokenx.gif" width="600" />
|
|
65
|
+
</p>
|
|
73
66
|
|
|
74
67
|
---
|
|
75
68
|
|
|
76
|
-
##
|
|
77
|
-
|
|
78
|
-
```bash
|
|
79
|
-
pip install BROKENXAPI
|
|
80
|
-
```
|
|
69
|
+
## Installation
|
|
81
70
|
|
|
82
|
-
|
|
71
|
+
Install via pip:
|
|
83
72
|
|
|
84
73
|
```bash
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
---
|
|
89
|
-
|
|
90
|
-
## 🔑 Authentication (One-time)
|
|
91
|
-
|
|
92
|
-
CLI ke through **ek baar API key authenticate** karni hoti hai:
|
|
93
|
-
|
|
94
|
-
```bash
|
|
95
|
-
brokenx auth BROKENXAPI-XXXX
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
### 🔐 How it works
|
|
99
|
-
|
|
100
|
-
* API key securely local machine par store hoti hai
|
|
101
|
-
* Uske baad har command automatically authenticated hoti hai
|
|
102
|
-
* Environment variables ki zarurat nahi
|
|
74
|
+
pip install BROKENXAPI
|
|
75
|
+
````
|
|
103
76
|
|
|
104
77
|
---
|
|
105
78
|
|
|
106
|
-
##
|
|
79
|
+
## Authentication
|
|
107
80
|
|
|
108
|
-
BROKENXAPI
|
|
81
|
+
BROKENXAPI requires an API key for all requests.
|
|
109
82
|
|
|
110
|
-
###
|
|
83
|
+
### Environment Variable (Recommended)
|
|
111
84
|
|
|
112
|
-
|
|
113
|
-
brokenx -v
|
|
114
|
-
```
|
|
115
|
-
|
|
116
|
-
---
|
|
117
|
-
|
|
118
|
-
### 🔍 Search YouTube
|
|
85
|
+
**Linux / macOS**
|
|
119
86
|
|
|
120
87
|
```bash
|
|
121
|
-
|
|
88
|
+
export YTKEY="BROKENXAPI-XXXX"
|
|
122
89
|
```
|
|
123
90
|
|
|
124
|
-
|
|
91
|
+
**Windows**
|
|
125
92
|
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
* duration
|
|
129
|
-
* thumbnail
|
|
130
|
-
* temporary stream URL
|
|
131
|
-
|
|
132
|
-
---
|
|
133
|
-
|
|
134
|
-
### 🎵 Download Audio
|
|
135
|
-
|
|
136
|
-
```bash
|
|
137
|
-
brokenx download VIDEO_ID
|
|
93
|
+
```bat
|
|
94
|
+
set YTKEY=BROKENXAPI-XXXX
|
|
138
95
|
```
|
|
139
96
|
|
|
140
|
-
Default mode **audio** hota hai.
|
|
141
|
-
|
|
142
97
|
---
|
|
143
98
|
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
```bash
|
|
147
|
-
brokenx download VIDEO_ID -v
|
|
148
|
-
```
|
|
149
|
-
|
|
150
|
-
`-v` flag use karke video download hota hai.
|
|
151
|
-
|
|
152
|
-
---
|
|
153
|
-
|
|
154
|
-
## 🐍 Python SDK Usage
|
|
155
|
-
|
|
156
|
-
### Basic Example
|
|
99
|
+
## Python SDK Usage
|
|
157
100
|
|
|
158
101
|
```python
|
|
159
102
|
import asyncio
|
|
@@ -161,82 +104,75 @@ from brokenxapi import BrokenXAPI
|
|
|
161
104
|
|
|
162
105
|
async def main():
|
|
163
106
|
async with BrokenXAPI(api_key="BROKENXAPI-XXXX") as api:
|
|
164
|
-
|
|
165
|
-
|
|
107
|
+
# Search YouTube
|
|
108
|
+
search = await api.search("moosetape", video=False)
|
|
109
|
+
video_id = search["video_id"]
|
|
110
|
+
|
|
111
|
+
# Download audio
|
|
112
|
+
audio = await api.download(video_id, "audio")
|
|
113
|
+
print(audio["telegram_url"])
|
|
166
114
|
|
|
167
115
|
asyncio.run(main())
|
|
168
116
|
```
|
|
169
117
|
|
|
170
118
|
---
|
|
171
119
|
|
|
172
|
-
|
|
120
|
+
## Download Video (SDK)
|
|
173
121
|
|
|
174
122
|
```python
|
|
175
123
|
async with BrokenXAPI(api_key="BROKENXAPI-XXXX") as api:
|
|
176
|
-
audio = await api.download("VIDEO_ID", "audio")
|
|
177
124
|
video = await api.download("VIDEO_ID", "video")
|
|
125
|
+
print(video["telegram_url"])
|
|
178
126
|
```
|
|
179
127
|
|
|
180
128
|
---
|
|
181
129
|
|
|
182
|
-
##
|
|
130
|
+
## CLI Usage
|
|
183
131
|
|
|
184
|
-
|
|
185
|
-
* Rate limits server-side enforce hote hain
|
|
186
|
-
* Invalid / expired key par request reject ho jaati hai
|
|
187
|
-
|
|
188
|
-
---
|
|
132
|
+
Authenticate once:
|
|
189
133
|
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
👉 [DOCS](https://brokenxapi-docs.vercel.app)
|
|
194
|
-
|
|
195
|
-
---
|
|
196
|
-
|
|
197
|
-
## ⚠️ Important Notes
|
|
134
|
+
```bash
|
|
135
|
+
brokenx auth BROKENXAPI-XXXX
|
|
136
|
+
```
|
|
198
137
|
|
|
199
|
-
|
|
200
|
-
* Stream URLs **temporary** hote hain
|
|
201
|
-
* Rate limits API key ke type par depend karte hain
|
|
202
|
-
* SDK async hai — `async/await` required
|
|
138
|
+
Check installed version:
|
|
203
139
|
|
|
204
|
-
|
|
205
|
-
|
|
140
|
+
```bash
|
|
141
|
+
brokenx -v
|
|
142
|
+
```
|
|
206
143
|
|
|
207
|
-
|
|
144
|
+
Search YouTube:
|
|
208
145
|
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
146
|
+
```bash
|
|
147
|
+
brokenx search "moosetape"
|
|
148
|
+
```
|
|
212
149
|
|
|
213
|
-
|
|
150
|
+
Download audio:
|
|
214
151
|
|
|
215
|
-
|
|
152
|
+
```bash
|
|
153
|
+
brokenx download VIDEO_ID
|
|
154
|
+
```
|
|
216
155
|
|
|
217
|
-
|
|
218
|
-
Issues, feature requests aur suggestions welcome hain:
|
|
156
|
+
Download video:
|
|
219
157
|
|
|
220
|
-
|
|
158
|
+
```bash
|
|
159
|
+
brokenx download VIDEO_ID -v
|
|
160
|
+
```
|
|
221
161
|
|
|
222
162
|
---
|
|
223
163
|
|
|
224
|
-
##
|
|
164
|
+
## Notes
|
|
225
165
|
|
|
226
|
-
*
|
|
227
|
-
*
|
|
228
|
-
*
|
|
229
|
-
*
|
|
230
|
-
* 🔜 Production backend scaling
|
|
166
|
+
* Python **3.8+** is required
|
|
167
|
+
* An API key is mandatory for all requests
|
|
168
|
+
* All responses are returned as JSON-compatible dictionaries
|
|
169
|
+
* Download responses include a **Telegram-ready file URL**
|
|
231
170
|
|
|
232
171
|
---
|
|
233
172
|
|
|
234
|
-
##
|
|
173
|
+
## License
|
|
235
174
|
|
|
236
|
-
|
|
237
|
-
|
|
175
|
+
© 2025 **MR Broken**
|
|
176
|
+
All rights reserved.
|
|
238
177
|
|
|
239
178
|
---
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: BROKENXAPI
|
|
3
|
-
Version: 2.0.
|
|
3
|
+
Version: 2.0.3
|
|
4
4
|
Summary: Official async Python SDK and CLI for BrokenX YouTube API
|
|
5
5
|
Author-email: Mr Broken <brokenxnetwork@gmail.com>
|
|
6
6
|
License: MIT License
|
|
@@ -50,110 +50,53 @@ License-File: LICENSE
|
|
|
50
50
|
Requires-Dist: aiohttp>=3.8.0
|
|
51
51
|
Dynamic: license-file
|
|
52
52
|
|
|
53
|
+
# BROKENXAPI
|
|
53
54
|
|
|
54
|
-
|
|
55
|
+
**BROKENXAPI** is a high-performance asynchronous **Python SDK and CLI** that enables developers to search and download YouTube audio or video through a remote backend API.
|
|
55
56
|
|
|
56
|
-
**
|
|
57
|
-
Built by **Broken X Network**
|
|
57
|
+
It is built for **automation tools**, **Telegram bots**, and **production systems** where reliability, speed, and a clean developer experience are critical.
|
|
58
58
|
|
|
59
|
-
|
|
60
|
-
jisme **SDK + CLI dono** available hain.
|
|
59
|
+
The SDK abstracts authentication and networking, while the CLI provides a fast and simple way to interact with the API directly from the terminal.
|
|
61
60
|
|
|
62
61
|
---
|
|
63
62
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
* 🖥️ Built-in CLI (`brokenx`)
|
|
68
|
-
* 🔑 Secure API-key authentication
|
|
69
|
-
* 🎵 Audio & 🎬 Video support
|
|
70
|
-
* ☁️ Telegram-based media delivery
|
|
71
|
-
* 🚀 Server-side caching & rate limits
|
|
72
|
-
* 🧱 Clean, production-ready packaging
|
|
63
|
+
<p align="center">
|
|
64
|
+
<img src="./docs/brokenx.gif" width="600" />
|
|
65
|
+
</p>
|
|
73
66
|
|
|
74
67
|
---
|
|
75
68
|
|
|
76
|
-
##
|
|
77
|
-
|
|
78
|
-
```bash
|
|
79
|
-
pip install BROKENXAPI
|
|
80
|
-
```
|
|
69
|
+
## Installation
|
|
81
70
|
|
|
82
|
-
|
|
71
|
+
Install via pip:
|
|
83
72
|
|
|
84
73
|
```bash
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
---
|
|
89
|
-
|
|
90
|
-
## 🔑 Authentication (One-time)
|
|
91
|
-
|
|
92
|
-
CLI ke through **ek baar API key authenticate** karni hoti hai:
|
|
93
|
-
|
|
94
|
-
```bash
|
|
95
|
-
brokenx auth BROKENXAPI-XXXX
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
### 🔐 How it works
|
|
99
|
-
|
|
100
|
-
* API key securely local machine par store hoti hai
|
|
101
|
-
* Uske baad har command automatically authenticated hoti hai
|
|
102
|
-
* Environment variables ki zarurat nahi
|
|
74
|
+
pip install BROKENXAPI
|
|
75
|
+
````
|
|
103
76
|
|
|
104
77
|
---
|
|
105
78
|
|
|
106
|
-
##
|
|
79
|
+
## Authentication
|
|
107
80
|
|
|
108
|
-
BROKENXAPI
|
|
81
|
+
BROKENXAPI requires an API key for all requests.
|
|
109
82
|
|
|
110
|
-
###
|
|
83
|
+
### Environment Variable (Recommended)
|
|
111
84
|
|
|
112
|
-
|
|
113
|
-
brokenx -v
|
|
114
|
-
```
|
|
115
|
-
|
|
116
|
-
---
|
|
117
|
-
|
|
118
|
-
### 🔍 Search YouTube
|
|
85
|
+
**Linux / macOS**
|
|
119
86
|
|
|
120
87
|
```bash
|
|
121
|
-
|
|
88
|
+
export YTKEY="BROKENXAPI-XXXX"
|
|
122
89
|
```
|
|
123
90
|
|
|
124
|
-
|
|
91
|
+
**Windows**
|
|
125
92
|
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
* duration
|
|
129
|
-
* thumbnail
|
|
130
|
-
* temporary stream URL
|
|
131
|
-
|
|
132
|
-
---
|
|
133
|
-
|
|
134
|
-
### 🎵 Download Audio
|
|
135
|
-
|
|
136
|
-
```bash
|
|
137
|
-
brokenx download VIDEO_ID
|
|
93
|
+
```bat
|
|
94
|
+
set YTKEY=BROKENXAPI-XXXX
|
|
138
95
|
```
|
|
139
96
|
|
|
140
|
-
Default mode **audio** hota hai.
|
|
141
|
-
|
|
142
97
|
---
|
|
143
98
|
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
```bash
|
|
147
|
-
brokenx download VIDEO_ID -v
|
|
148
|
-
```
|
|
149
|
-
|
|
150
|
-
`-v` flag use karke video download hota hai.
|
|
151
|
-
|
|
152
|
-
---
|
|
153
|
-
|
|
154
|
-
## 🐍 Python SDK Usage
|
|
155
|
-
|
|
156
|
-
### Basic Example
|
|
99
|
+
## Python SDK Usage
|
|
157
100
|
|
|
158
101
|
```python
|
|
159
102
|
import asyncio
|
|
@@ -161,82 +104,75 @@ from brokenxapi import BrokenXAPI
|
|
|
161
104
|
|
|
162
105
|
async def main():
|
|
163
106
|
async with BrokenXAPI(api_key="BROKENXAPI-XXXX") as api:
|
|
164
|
-
|
|
165
|
-
|
|
107
|
+
# Search YouTube
|
|
108
|
+
search = await api.search("moosetape", video=False)
|
|
109
|
+
video_id = search["video_id"]
|
|
110
|
+
|
|
111
|
+
# Download audio
|
|
112
|
+
audio = await api.download(video_id, "audio")
|
|
113
|
+
print(audio["telegram_url"])
|
|
166
114
|
|
|
167
115
|
asyncio.run(main())
|
|
168
116
|
```
|
|
169
117
|
|
|
170
118
|
---
|
|
171
119
|
|
|
172
|
-
|
|
120
|
+
## Download Video (SDK)
|
|
173
121
|
|
|
174
122
|
```python
|
|
175
123
|
async with BrokenXAPI(api_key="BROKENXAPI-XXXX") as api:
|
|
176
|
-
audio = await api.download("VIDEO_ID", "audio")
|
|
177
124
|
video = await api.download("VIDEO_ID", "video")
|
|
125
|
+
print(video["telegram_url"])
|
|
178
126
|
```
|
|
179
127
|
|
|
180
128
|
---
|
|
181
129
|
|
|
182
|
-
##
|
|
130
|
+
## CLI Usage
|
|
183
131
|
|
|
184
|
-
|
|
185
|
-
* Rate limits server-side enforce hote hain
|
|
186
|
-
* Invalid / expired key par request reject ho jaati hai
|
|
187
|
-
|
|
188
|
-
---
|
|
132
|
+
Authenticate once:
|
|
189
133
|
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
👉 [DOCS](https://brokenxapi-docs.vercel.app)
|
|
194
|
-
|
|
195
|
-
---
|
|
196
|
-
|
|
197
|
-
## ⚠️ Important Notes
|
|
134
|
+
```bash
|
|
135
|
+
brokenx auth BROKENXAPI-XXXX
|
|
136
|
+
```
|
|
198
137
|
|
|
199
|
-
|
|
200
|
-
* Stream URLs **temporary** hote hain
|
|
201
|
-
* Rate limits API key ke type par depend karte hain
|
|
202
|
-
* SDK async hai — `async/await` required
|
|
138
|
+
Check installed version:
|
|
203
139
|
|
|
204
|
-
|
|
205
|
-
|
|
140
|
+
```bash
|
|
141
|
+
brokenx -v
|
|
142
|
+
```
|
|
206
143
|
|
|
207
|
-
|
|
144
|
+
Search YouTube:
|
|
208
145
|
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
146
|
+
```bash
|
|
147
|
+
brokenx search "moosetape"
|
|
148
|
+
```
|
|
212
149
|
|
|
213
|
-
|
|
150
|
+
Download audio:
|
|
214
151
|
|
|
215
|
-
|
|
152
|
+
```bash
|
|
153
|
+
brokenx download VIDEO_ID
|
|
154
|
+
```
|
|
216
155
|
|
|
217
|
-
|
|
218
|
-
Issues, feature requests aur suggestions welcome hain:
|
|
156
|
+
Download video:
|
|
219
157
|
|
|
220
|
-
|
|
158
|
+
```bash
|
|
159
|
+
brokenx download VIDEO_ID -v
|
|
160
|
+
```
|
|
221
161
|
|
|
222
162
|
---
|
|
223
163
|
|
|
224
|
-
##
|
|
164
|
+
## Notes
|
|
225
165
|
|
|
226
|
-
*
|
|
227
|
-
*
|
|
228
|
-
*
|
|
229
|
-
*
|
|
230
|
-
* 🔜 Production backend scaling
|
|
166
|
+
* Python **3.8+** is required
|
|
167
|
+
* An API key is mandatory for all requests
|
|
168
|
+
* All responses are returned as JSON-compatible dictionaries
|
|
169
|
+
* Download responses include a **Telegram-ready file URL**
|
|
231
170
|
|
|
232
171
|
---
|
|
233
172
|
|
|
234
|
-
##
|
|
173
|
+
## License
|
|
235
174
|
|
|
236
|
-
|
|
237
|
-
|
|
175
|
+
© 2025 **MR Broken**
|
|
176
|
+
All rights reserved.
|
|
238
177
|
|
|
239
178
|
---
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
# BROKENXAPI
|
|
2
|
+
|
|
3
|
+
**BROKENXAPI** is a high-performance asynchronous **Python SDK and CLI** that enables developers to search and download YouTube audio or video through a remote backend API.
|
|
4
|
+
|
|
5
|
+
It is built for **automation tools**, **Telegram bots**, and **production systems** where reliability, speed, and a clean developer experience are critical.
|
|
6
|
+
|
|
7
|
+
The SDK abstracts authentication and networking, while the CLI provides a fast and simple way to interact with the API directly from the terminal.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
<p align="center">
|
|
12
|
+
<img src="./docs/brokenx.gif" width="600" />
|
|
13
|
+
</p>
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Installation
|
|
18
|
+
|
|
19
|
+
Install via pip:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
pip install BROKENXAPI
|
|
23
|
+
````
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## Authentication
|
|
28
|
+
|
|
29
|
+
BROKENXAPI requires an API key for all requests.
|
|
30
|
+
|
|
31
|
+
### Environment Variable (Recommended)
|
|
32
|
+
|
|
33
|
+
**Linux / macOS**
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
export YTKEY="BROKENXAPI-XXXX"
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
**Windows**
|
|
40
|
+
|
|
41
|
+
```bat
|
|
42
|
+
set YTKEY=BROKENXAPI-XXXX
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## Python SDK Usage
|
|
48
|
+
|
|
49
|
+
```python
|
|
50
|
+
import asyncio
|
|
51
|
+
from brokenxapi import BrokenXAPI
|
|
52
|
+
|
|
53
|
+
async def main():
|
|
54
|
+
async with BrokenXAPI(api_key="BROKENXAPI-XXXX") as api:
|
|
55
|
+
# Search YouTube
|
|
56
|
+
search = await api.search("moosetape", video=False)
|
|
57
|
+
video_id = search["video_id"]
|
|
58
|
+
|
|
59
|
+
# Download audio
|
|
60
|
+
audio = await api.download(video_id, "audio")
|
|
61
|
+
print(audio["telegram_url"])
|
|
62
|
+
|
|
63
|
+
asyncio.run(main())
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## Download Video (SDK)
|
|
69
|
+
|
|
70
|
+
```python
|
|
71
|
+
async with BrokenXAPI(api_key="BROKENXAPI-XXXX") as api:
|
|
72
|
+
video = await api.download("VIDEO_ID", "video")
|
|
73
|
+
print(video["telegram_url"])
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## CLI Usage
|
|
79
|
+
|
|
80
|
+
Authenticate once:
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
brokenx auth BROKENXAPI-XXXX
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
Check installed version:
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
brokenx -v
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Search YouTube:
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
brokenx search "moosetape"
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
Download audio:
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
brokenx download VIDEO_ID
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
Download video:
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
brokenx download VIDEO_ID -v
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
## Notes
|
|
113
|
+
|
|
114
|
+
* Python **3.8+** is required
|
|
115
|
+
* An API key is mandatory for all requests
|
|
116
|
+
* All responses are returned as JSON-compatible dictionaries
|
|
117
|
+
* Download responses include a **Telegram-ready file URL**
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
## License
|
|
122
|
+
|
|
123
|
+
© 2025 **MR Broken**
|
|
124
|
+
All rights reserved.
|
|
125
|
+
|
|
126
|
+
---
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
from .client import BrokenXAPI
|
|
2
|
+
import logging
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
__all__ = ["BrokenXAPI"]
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
logger = logging.getLogger("BrokenXAPI")
|
|
10
|
+
|
|
11
|
+
logger.info("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━")
|
|
12
|
+
logger.info("🚀 BROKENXAPI INITIALIZED")
|
|
13
|
+
logger.info("⚡ Powered by Broken X Network")
|
|
14
|
+
logger.info("🔐 Secure • Async • Fast")
|
|
15
|
+
logger.info("Thanks ❤🩹 For Using BrokenxAPI")
|
|
16
|
+
logger.info("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━")
|
brokenxapi-2.0.2/README.md
DELETED
|
@@ -1,190 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
# 🚀 BROKENXAPI
|
|
3
|
-
|
|
4
|
-
**Official async Python SDK & CLI for BrokenX YouTube API**
|
|
5
|
-
Built by **Broken X Network**
|
|
6
|
-
|
|
7
|
-
BROKENXAPI developers ko YouTube search aur media processing (audio/video) ke liye ek **fast, async aur secure API** provide karta hai —
|
|
8
|
-
jisme **SDK + CLI dono** available hain.
|
|
9
|
-
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
## ✨ Features
|
|
13
|
-
|
|
14
|
-
* ⚡ Async Python SDK (aiohttp based)
|
|
15
|
-
* 🖥️ Built-in CLI (`brokenx`)
|
|
16
|
-
* 🔑 Secure API-key authentication
|
|
17
|
-
* 🎵 Audio & 🎬 Video support
|
|
18
|
-
* ☁️ Telegram-based media delivery
|
|
19
|
-
* 🚀 Server-side caching & rate limits
|
|
20
|
-
* 🧱 Clean, production-ready packaging
|
|
21
|
-
|
|
22
|
-
---
|
|
23
|
-
|
|
24
|
-
## 📦 Installation
|
|
25
|
-
|
|
26
|
-
```bash
|
|
27
|
-
pip install BROKENXAPI
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
Verify installation:
|
|
31
|
-
|
|
32
|
-
```bash
|
|
33
|
-
brokenx -v
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
---
|
|
37
|
-
|
|
38
|
-
## 🔑 Authentication (One-time)
|
|
39
|
-
|
|
40
|
-
CLI ke through **ek baar API key authenticate** karni hoti hai:
|
|
41
|
-
|
|
42
|
-
```bash
|
|
43
|
-
brokenx auth BROKENXAPI-XXXX
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
### 🔐 How it works
|
|
47
|
-
|
|
48
|
-
* API key securely local machine par store hoti hai
|
|
49
|
-
* Uske baad har command automatically authenticated hoti hai
|
|
50
|
-
* Environment variables ki zarurat nahi
|
|
51
|
-
|
|
52
|
-
---
|
|
53
|
-
|
|
54
|
-
## 📟 Command Line Interface (CLI)
|
|
55
|
-
|
|
56
|
-
BROKENXAPI with powerful CLI :
|
|
57
|
-
|
|
58
|
-
### 🔢 Version
|
|
59
|
-
|
|
60
|
-
```bash
|
|
61
|
-
brokenx -v
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
---
|
|
65
|
-
|
|
66
|
-
### 🔍 Search YouTube
|
|
67
|
-
|
|
68
|
-
```bash
|
|
69
|
-
brokenx search "lofi beats"
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
Returns:
|
|
73
|
-
|
|
74
|
-
* title
|
|
75
|
-
* video_id
|
|
76
|
-
* duration
|
|
77
|
-
* thumbnail
|
|
78
|
-
* temporary stream URL
|
|
79
|
-
|
|
80
|
-
---
|
|
81
|
-
|
|
82
|
-
### 🎵 Download Audio
|
|
83
|
-
|
|
84
|
-
```bash
|
|
85
|
-
brokenx download VIDEO_ID
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
Default mode **audio** hota hai.
|
|
89
|
-
|
|
90
|
-
---
|
|
91
|
-
|
|
92
|
-
### 🎬 Download Video
|
|
93
|
-
|
|
94
|
-
```bash
|
|
95
|
-
brokenx download VIDEO_ID -v
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
`-v` flag use karke video download hota hai.
|
|
99
|
-
|
|
100
|
-
---
|
|
101
|
-
|
|
102
|
-
## 🐍 Python SDK Usage
|
|
103
|
-
|
|
104
|
-
### Basic Example
|
|
105
|
-
|
|
106
|
-
```python
|
|
107
|
-
import asyncio
|
|
108
|
-
from brokenxapi import BrokenXAPI
|
|
109
|
-
|
|
110
|
-
async def main():
|
|
111
|
-
async with BrokenXAPI(api_key="BROKENXAPI-XXXX") as api:
|
|
112
|
-
result = await api.search("Arijit Singh")
|
|
113
|
-
print(result)
|
|
114
|
-
|
|
115
|
-
asyncio.run(main())
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
---
|
|
119
|
-
|
|
120
|
-
### Download Example
|
|
121
|
-
|
|
122
|
-
```python
|
|
123
|
-
async with BrokenXAPI(api_key="BROKENXAPI-XXXX") as api:
|
|
124
|
-
audio = await api.download("VIDEO_ID", "audio")
|
|
125
|
-
video = await api.download("VIDEO_ID", "video")
|
|
126
|
-
```
|
|
127
|
-
|
|
128
|
-
---
|
|
129
|
-
|
|
130
|
-
## 🧠 How Authentication Works
|
|
131
|
-
|
|
132
|
-
* API key har request ke saath backend par verify hoti hai
|
|
133
|
-
* Rate limits server-side enforce hote hain
|
|
134
|
-
* Invalid / expired key par request reject ho jaati hai
|
|
135
|
-
|
|
136
|
-
---
|
|
137
|
-
|
|
138
|
-
## 📚 Documentation
|
|
139
|
-
|
|
140
|
-
📘 **Full Docs:**
|
|
141
|
-
👉 [DOCS](https://brokenxapi-docs.vercel.app)
|
|
142
|
-
|
|
143
|
-
---
|
|
144
|
-
|
|
145
|
-
## ⚠️ Important Notes
|
|
146
|
-
|
|
147
|
-
* Media files **Telegram** ke through deliver hote hain
|
|
148
|
-
* Stream URLs **temporary** hote hain
|
|
149
|
-
* Rate limits API key ke type par depend karte hain
|
|
150
|
-
* SDK async hai — `async/await` required
|
|
151
|
-
|
|
152
|
-
---
|
|
153
|
-
---
|
|
154
|
-
|
|
155
|
-
## 🔒 Security & Licensing
|
|
156
|
-
|
|
157
|
-
* Core client logic intentionally compiled (`.pyc`)
|
|
158
|
-
* No sensitive keys repo me store nahi hoti
|
|
159
|
-
* License: **MIT**
|
|
160
|
-
|
|
161
|
-
---
|
|
162
|
-
|
|
163
|
-
## 🤝 Contributing
|
|
164
|
-
|
|
165
|
-
Currently BROKENXAPI core is maintained by **Broken X Network**.
|
|
166
|
-
Issues, feature requests aur suggestions welcome hain:
|
|
167
|
-
|
|
168
|
-
👉 [DROP ISSUES](https://github.com/mrxbroken011/BROKENXAPI/issues)
|
|
169
|
-
|
|
170
|
-
---
|
|
171
|
-
|
|
172
|
-
## 🏁 Roadmap (High-level)
|
|
173
|
-
|
|
174
|
-
* ✅ SDK + CLI
|
|
175
|
-
* 🔜 Advanced CLI flags
|
|
176
|
-
* 🔜 Improved docs & examples
|
|
177
|
-
* 🔜 Multi-profile auth support
|
|
178
|
-
* 🔜 Production backend scaling
|
|
179
|
-
|
|
180
|
-
---
|
|
181
|
-
|
|
182
|
-
## © License
|
|
183
|
-
|
|
184
|
-
MIT License
|
|
185
|
-
© 2025–2026 **MR BROKEN**
|
|
186
|
-
|
|
187
|
-
---
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|