
Security News
vlt Launches "reproduce": A New Tool Challenging the Limits of Package Provenance
vlt's new "reproduce" tool verifies npm packages against their source code, outperforming traditional provenance adoption in the JavaScript ecosystem.
tool/python-module for downloading videos from YouTube, Twitter (X), Instagram, Reddit, Soundcloud and more! Powered by the @imputnet cobalt instances.
pybalt is a powerful and flexible tool for downloading media files from various platforms, including but not limited to YouTube, X (formerly Twitter), Reddit, Instagram, and TikTok. It works using cobalt processing instances and serves both as a CLI and a Python module.
https://github.com/user-attachments/assets/cf5fd9a9-520b-4970-b8c2-42baa80d7523
install pybalt with pip
pip install pybalt -U
or install pybalt on windows with the bat file included in the repo (if you dont have python installed)
cobalt
and pybalt
in the terminal)powershell -Command "Invoke-WebRequest -Uri https://raw.githubusercontent.com/nichind/pybalt/main/install.bat -OutFile install.bat; .\install.bat"
[!NOTE] pybalt will auto-detect if you are hosting a local cobalt-api instance and will try to use it first instead of instances from public instance list and my fallback one.
[!NOTE] if alias
cobalt
isn't working for you in the terminal usepython -m pybalt <command>
instead.
[!CAUTION] Remuxing (
-r
) requires for ffmpeg to be installed on your device and being in system path.
The cli part of this project is very intuitive and easy to-use! Let's see a few examples:
-vQ max
) and then remux it (-r
).cobalt "https://youtube.com/watch?v=DG2QqcHwNdE" -r -vQ max
cobalt "C://Users/nichind/Videos/video.mp4" -r
cobalt "c://Users/nichind/Desktop/very-important.txt"
View all possible arguments using
-h
, pass them accordingly to the api docs
pybalt originally comes as-a python module, integrating pybalt into your project is just 2 lines of code:
from pybalt import download
from asyncio import run
async def main():
path = await download("your-video-url", filenameStyle="pretty", remux=True, youtubeHLS=False, videoQuality="1080", status_parent=status)
print(path)
run(main())
you can also construct custom Cobalt
instance.
from pybalt import Cobalt
cobalt = Cobalt(debug=True, proxy="http://...", user_agent="idk :)")
# then use await cobalt.download(url) to download
run detached download and monitor progress using StatusParent
from pybalt import StatusParent
status = StatusParent() # You can use default python dict instead of StatusParent!
run_detached(await download(url, status_parent=status)) # run detached with your own logic
while not status.completed:
print(f"Still downloading... size: {status.downloaded_size}, time passed: {status.time_passed}")
print(f"download finished: {status.file_path}")
disable print info
await download(url, status_callback=None, done_callback=None) # You can replace callbacks with your custom sync/async funcion!
If you want pybalt to always use your proxy, user agent or something else you can configure enviroment variables, pybalt will use them if none was provided as a parameter.
COBALT_PROXY=http://...
COBALT_USER_AGENT=...
COBALT_TIMEOUT=12
COBALT_API_KEY=key
COBALT_DEBUG=true
COBALT_LOCAL_INSTANCE=http://127.0.0.1:9000
COBALT_LOCAL_INSTANCE_API_KEY=ye
pybalt is used by the following projects:
I spent too much time on this project... please consider leaving a :star: if you like it!
FAQs
tool/python-module for downloading videos from YouTube, Twitter (X), Instagram, Reddit, Soundcloud and more! Powered by the @imputnet cobalt instances.
We found that pybalt demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
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.
Security News
vlt's new "reproduce" tool verifies npm packages against their source code, outperforming traditional provenance adoption in the JavaScript ecosystem.
Research
Security News
Socket researchers uncovered a malicious PyPI package exploiting Deezer’s API to enable coordinated music piracy through API abuse and C2 server control.
Research
The Socket Research Team discovered a malicious npm package, '@ton-wallet/create', stealing cryptocurrency wallet keys from developers and users in the TON ecosystem.