No project description provided
Project description
Installation
Install using PIP
pip install pybalt
This should create aliases pybalt
and cobalt
in your shell.
Try running cobalt -h
to see the help message.
If for some reason it didn't work, try using it with python:
python -m pybalt
Usage & Examples
Selecting processing instance
You can set processing instance url, api key and user-agent to enviroment variables, pybalt will use them if none was provided.
COBALT_API_URL=YOUR_INSTANCE_URL
COBALT_API_KEY=YOUR_API_KEY
COBALT_USER_AGENT=YOUR_USER_AGENT
By default pybalt uses https://dwnld.nichind.dev
as the processing instance. I recommend hosting your own instance or asking someone to give you api key
for their instance.
As a CLI
Every command here uses the cobalt
alias, you can also use pybalt
or python -m pybalt
as well.
By default all downloads are saved in a user downloads folder ~/Downloads
or the one specified by the --folder
flag.
Get list of all available commands by running:
cobalt -h
Download video from URL
cobalt -u 'https://youtube.com/watch?v=8ZP5eqm4JqM'
you can also provide url as positional argument:
cobalt 'https://youtube.com/watch?v=8ZP5eqm4JqM'
Download Youtube playlist
cobalt -pl 'https://youtube.com/playlist?list=PL_93TBqf4ymR9GsuI9W4kQ-G3WM7d2Tqj'
Download from text file
Create a text file with URLs on each line:
https://youtube.com/watch?v=8ZP...
.....
....
...
then run:
cobalt -l 'path/to/file.txt'
More examples
Download all videos from a YouTube playlist in 720p
to folder /Music/
, filename style classic
, use instance https://dwnld.nichind.dev
with api key
authorization
cobalt -pl 'https://youtube.com/playlist?list=PL_93TBqf4ymR9GsuI9W4kQ-G3WM7d2Tqj' -q 720 -f './Music/' -fs 'classic' -i 'https://dwnld.nichind.dev' -k 'YOUR_API_KEY'
As a module
Download video from URL
from pybalt import Cobalt
from asyncio import run
async def main():
cobalt = Cobalt()
path = await cobalt.download('https://youtube.com/watch?v=8ZP5eqm4JqM')
print('Downloaded: ', path) # Downloaded: /Users/%USER%/Downloads/8ZP5eqm4JqM.mp4
run(main())
You can pass arguments inside Cobalt object:
from pybalt import Cobalt
from asyncio import run
async def main():
cobalt = Cobalt(api_instance='YOUR_INSTANCE_URL', api_key='YOUR_API_KEY', headers={...})
path = await cobalt.download(url='https://youtube.com/watch?v=8ZP5eqm4JqM', quality='1080')
print('Downloaded: ', path) # Downloaded: /Users/%USER%/Downloads/8ZP5eqm4JqM.mp4
run(main())
Contributing
If you have any questions or suggestions, please open an issue or create a pull request.
Contributors
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file pybalt-2024.11.7.tar.gz
.
File metadata
- Download URL: pybalt-2024.11.7.tar.gz
- Upload date:
- Size: 11.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b560f7832b3ecf9250fbaeed6c002551abed8db91b830578e8725abdeb77dbba |
|
MD5 | ab6797a770971b34b784b7b23fa6d835 |
|
BLAKE2b-256 | a8555ab9072217d4d69adbae4a313c1ec0700a9f5900cba5ee0fb4c16850aad4 |
Provenance
The following attestation bundles were made for pybalt-2024.11.7.tar.gz
:
Publisher:
publish.yml
on nichind/pybalt
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
pybalt-2024.11.7.tar.gz
- Subject digest:
b560f7832b3ecf9250fbaeed6c002551abed8db91b830578e8725abdeb77dbba
- Sigstore transparency entry: 147569682
- Sigstore integration time:
- Predicate type:
File details
Details for the file pybalt-2024.11.7-py3-none-any.whl
.
File metadata
- Download URL: pybalt-2024.11.7-py3-none-any.whl
- Upload date:
- Size: 10.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 57a12514db3291e789a71917914037a0c1ac319e224338ab6e60ee324c6007d1 |
|
MD5 | a710727ef061c780ee50fd36341771eb |
|
BLAKE2b-256 | 7d3becfac7138c6ad1b96d6e22f9e383da27566187e60cecbe9f975af55109f8 |
Provenance
The following attestation bundles were made for pybalt-2024.11.7-py3-none-any.whl
:
Publisher:
publish.yml
on nichind/pybalt
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
pybalt-2024.11.7-py3-none-any.whl
- Subject digest:
57a12514db3291e789a71917914037a0c1ac319e224338ab6e60ee324c6007d1
- Sigstore transparency entry: 147569683
- Sigstore integration time:
- Predicate type: