Metadata-Version: 2.1
Name: ytdownloader
Version: 0.1.14
Summary: An automation service to download videos from Youtube
Home-page: https://github.com/mukultaneja/YoutubeDownloader
Author: mukultaneja
Author-email: mukultaneja91@gmail.com
License: MIT License
Project-URL: Source, https://github.com/mukultaneja/YoutubeDownloader
Project-URL: Bug Reports, https://github.com/mukultaneja/YoutubeDownloader/issues
Keywords: youtube download downloader videos playlist
Platform: UNKNOWN
Classifier: Environment :: Console
Classifier: Intended Audience :: System Administrators
Classifier: Intended Audience :: Developers
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: Microsoft :: Windows
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Requires-Python: >=2.7
Requires-Dist: pyyaml
Requires-Dist: youtube-dl

YoutubeDownloader
=================

**YoutubeDownloader** is an automated service to download multiple
youtube videos at a time.

About
-----

**YoutubeDownloader** is written in ``Python``. It uses
``Asynchronous Python Multiprocessing`` at its heart which facilitates
user to download more than one video at a time.

**YoutubeDownloader** must use a configuration file. It supports a YAML
/ JSON format of configuration file. This configuration file gives
structure and usability to the service. It defines what
**videos/playlists** needs to be downloaded and how they are going to be
stored.

Configuration Syntax
--------------------

**YoutubeDownloader** supports YAML / JSON configuration formats.
**YoutubeDownloader** prefers YAML more than JSON. Below is the snippet
of sample configurations in YAML / JSON format.

::

   settings:
     process: 2
   download:
     mostlyinsane:
       dirname: '../mostlyinsane'
       videos: 
         - 'https://www.youtube.com/watch?v=vcKPjDUc5EQ'
     trippling:
       dirname: 'trippling'
       playlists: 'https://www.youtube.com/watch?list=PLTB0eCoUXEraZe3d7fJRdB-znE5D0cMZ7'
     official-ceogiri:
       dirname: 'official-ceogiri'
       playlists:
           - 'https://www.youtube.com/watch?list=PLTB0eCoUXEraZe3d7fJRdB-znE5D0cMZ7'

::

   {
       "settings": {
           "process": 5
       },
       "download": {
           "mostlyinsane": {
               "dirname": "../mostlyinsane",
               "videos": [
                   "https://www.youtube.com/watch?v=vcKPjDUc5EQ"
               ]

           },
           "trippling": {
               "dirname": "trippling",
               "playlists": "https://www.youtube.com/watch?list=PLTB0eCoUXEraZe3d7fJRdB-znE5D0cMZ7"

           },
           "official-ceogiri": {
               "dirname": "official-ceogiri",
               "playlists": [
                   "https://www.youtube.com/watch?list=PLTB0eCoUXEraZe3d7fJRdB-znE5D0cMZ7"
               ]

           }
       }
   }

``settings`` defines service level variables. - ``process`` to force
**YoutubeDownloader** to use ``Asynchronous Python Multiprocessing`` and
tells how many processes should be deployed to download
**videos/playlists** at a time.

``download`` defines what **videos/playlists** to download. It tags
**dirnames** with **videos/playlists** internally and store the
downloaded **videos/playlists** in the respective **directory**.

-  ``dirname`` **relative / absolute directory path** to store videos
   in.
-  ``videos`` **single / array of youtube videos link** to download.
-  ``playlists`` **single / array of youtube playlists link** to
   download.

Install
-------

This is a pure-Python package built for Python 2.6+ and Python 3.0+. To
set up:

::

       sudo pip install ytdownloader

Options
-------

::

       ytdownloader --help

-  ``config`` specifies the location for the configuration file to
   **YoutubeDownloader**. If it omits, **YoutubeDownloader** looks in
   the current directory for the configuration file.
-  ``--version`` specifies the currect version of **YoutubeDownloader**.
-  ``--about`` about text for **YoutubeDownloader**

Usage
-----

::

       ytdownloader --version    // latest version of ytdownloader

::

       ytdownloader --about      // about text for ytdownloader

::

       ytdownloader              // start the ytdownloader and search config file in current directory

::

       ytdownloader docs/config.yaml // start the ytdownloader and use docs/config.yaml as config file


