Skip to main content

autoYT

autoYT is a Python program designed to automate the process of watching videos out of YouTube, without using YouTube. It's functions include searching YouTube for videos, searching channels for a new videos, but also to download, delete and group videos into folders based on their upload date both automatically and manually.

Usage

To search for a video, use the -s or --search argument.

To search for new videos on a channel, use -S or --searchchannel argument.

You can use -c or --cap argument with both of the above arguments to limit the number of results.

example:

$ autoyt -S "nocopyrightsounds" -c 5
Channel Name: NoCopyrightSounds
Channel Link: https://youtube.com/channel/UC_aEa8K-EOJ3D6gOs7HcyNg
-------------------------------------------

Title: ASHWOOD - Maria (ft. Blooom & Ghost’n’Ghost) [NCS Release]
Link: https://www.youtube.com/watch?v=FsnluXPC6s0
Upload Date: 2023-06-22
-------------------------------------------

Title: jeonghyeon & Noisy Choice - Too Far [NCS Release]
Link: https://www.youtube.com/watch?v=kI4usARVdaU
Upload Date: 2023-06-20
-------------------------------------------

Title: Daniel Levi - Clown Around [NCS Release]
Link: https://www.youtube.com/watch?v=iPyg-QknNeY
Upload Date: 2023-06-17
-------------------------------------------

Title: Coopex, Afterfab, Heleen - EX [NCS Release]
Link: https://www.youtube.com/watch?v=rpPiFMcjF6M
Upload Date: 2023-06-16
-------------------------------------------

Title: Anyone remember these? #nocopyrightsounds #ncs #music #nostalgia #childhoodmemories
Link: https://www.youtube.com/watch?v=kC8LvAqhPtE
Upload Date: 2023-06-15
-------------------------------------------

To add a channel to cache use -a or --add argument with a channel's ID or channel's name after. You can also add multiple channels at once.

In the same way you can remove channels from cache using -r or --remove argument with a channel's ID or channel's name after.

To list added channels use -l or --list argument.

example

$ autoyt -a "nocopyrightsounds" "UCsBjURrPoezykLs9EqgamOA"
$ autoyt -l
Name: NoCopyrightSounds
Link: https://www.youtube.com/channel/UC_aEa8K-EOJ3D6gOs7HcyNg
Channel ID: UC_aEa8K-EOJ3D6gOs7HcyNg
-------------------------------------------

Name: Fireship
Link: https://www.youtube.com/channel/UCsBjURrPoezykLs9EqgamOA
Channel ID: UCsBjURrPoezykLs9EqgamOA
-------------------------------------------


$ autoyt -r "UC_aEa8K-EOJ3D6gOs7HcyNg"
$ autoyt -l
Name: Fireship
Link: https://www.youtube.com/channel/UCsBjURrPoezykLs9EqgamOA
Channel ID: UCsBjURrPoezykLs9EqgamOA
-------------------------------------------

You can download videos from the saved channels using -d or --download argument. You can supply this argument with the number of days - this indicates how old videos are allowed to be downloaded.

In a similar way you can use a ``--removevideos` argument with the number N of days after it. It'll delete all videos older than N days.

You can also use --find argument with a channel's name after it. It will list location of all of the downloaded videos from a selected channel

example

$ autoyt -d 5
2023_06_21/Fireship/PHP will make you poor StackOverflow 2023 Results: Downloading...
2023_06_20/Fireship/SST in 100 seconds: Downloading...
2023_06_16/Fireship/RIP Google Domains… and 5 big tech stories this week: Downloading...
2023_06_13/Fireship/Nuxt in 100 Seconds: Downloading...
2023_06_12/Fireship/Reddit’s API rug pull: Downloading...
$ autoyt --find fireship
./videos/2023_06_12/Fireship/Reddit’s API rug pull.webm
./videos/2023_06_13/Fireship/Nuxt in 100 Seconds.webm
./videos/2023_06_16/Fireship/RIP Google Domains… and 5 big tech stories this week.webm
./videos/2023_06_20/Fireship/SST in 100 seconds.webm
./videos/2023_06_21/Fireship/PHP will make you poor StackOverflow 2023 Results.webm   

$ autoyt --removevideos 3
$ autoyt --find fireship 
./videos/2023_06_21/Fireship/PHP will make you poor StackOverflow 2023 Results.webm

And finally you can use an endless mode - -e. It'll download and remove videos automatically by running in a loop. It takes all of it's arguments from the config file.

You can do more using autoYT. To list all of the available options use -h argument - autoyt -h

Config

Config is stored in the autoYT/src/config/config.toml file(soon to change). Configuration contains all of the preferences regarding the usage of this program.

Sample config.toml

# The directory where program will put all of the downloaded videos.
download_dir = "./videos"
# The directory where program will put the cache file with all of the saved channels
cache_dir = "./cache"
# The quality used to download all of the videos(see yt-dlp -f option)
quality = "ba+bv[height<=?1080]"
# Describes how old downloaded videos can be(in days). 0 means no limit.
max_video_age = 0
# How many videos are allowed to be downloaded from a channel. 0 means no limit.
max_downloaded_channel_videos = 0
# Automatically delete videos older than this number of days(endless mode). 0 means never.
delete_videos_age = 0 
# Wait this many seconds before checking channels for new videos again(endless mode).
channels_check_break = 0

# ID of a channel
[UC_aEa8K-EOJ3D6gOs7HcyNg]
# Quality setting just for this channel
quality = "x"

Metadata

Release files for autoyt 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for autoyt 0.1.1
File Size Uploaded Provenance
autoyt-0.1.1.tar.gz 20.7 kB Without provenance Details

Release files / autoyt-0.1.1.tar.gz

Download URL autoyt-0.1.1.tar.gz
Size 20.7 kB
Tags Source
SHA-256 checksum
How to use checksums
df6d839abf165f7fabc5c8c834f4927f11ba6aed5a489417c3a74d146c4f69f1
BLAKE2b-256 checksum
How to use checksums
8f581eae21c6a540a5a9fab7667424dcc163c312614e1e9761ddaa10392cc203
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.6

Security for autoyt 0.1.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

0.1.1 This release

1 release file No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page