X-Git-Url: https://jfr.im/git/yt-dlp.git/blobdiff_plain/d6712378e73951bede475569c887a1ac73f660a9..7a5c1cfe93924351387b44919b3c0b2f66c4b883:/setup.py diff --git a/setup.py b/setup.py index 9444d403d..c49b8edaf 100644 --- a/setup.py +++ b/setup.py @@ -1,56 +1,36 @@ #!/usr/bin/env python -# -*- coding: utf-8 -*- - -from __future__ import print_function +# coding: utf-8 +from setuptools import setup, Command, find_packages import os.path import warnings import sys - -try: - from setuptools import setup, Command - setuptools_available = True -except ImportError: - from distutils.core import setup, Command - setuptools_available = False from distutils.spawn import spawn -try: - # This will create an exe that needs Microsoft Visual C++ 2008 - # Redistributable Package - import py2exe -except ImportError: - if len(sys.argv) >= 2 and sys.argv[1] == 'py2exe': - print("Cannot import py2exe", file=sys.stderr) - exit(1) - -py2exe_options = { - "bundle_files": 1, - "compressed": 1, - "optimize": 2, - "dist_dir": '.', - "dll_excludes": ['w9xpopen.exe', 'crypt32.dll'], -} - -py2exe_console = [{ - "script": "./youtube_dl/__main__.py", - "dest_base": "youtube-dl", -}] - -py2exe_params = { - 'console': py2exe_console, - 'options': {"py2exe": py2exe_options}, - 'zipfile': None -} + +# Get the version from yt_dlp/version.py without importing the package +exec(compile(open('yt_dlp/version.py').read(), + 'yt_dlp/version.py', 'exec')) + + +DESCRIPTION = 'Command-line program to download videos from YouTube.com and many other other video platforms.' + +LONG_DESCRIPTION = '\n\n'.join(( + 'Official repository: ', + '**PS**: Many links in this document will not work since this is a copy of the README.md from Github', + open("README.md", "r", encoding="utf-8").read())) + +REQUIREMENTS = ['mutagen', 'pycryptodome'] + if len(sys.argv) >= 2 and sys.argv[1] == 'py2exe': - params = py2exe_params + print("inv") else: files_spec = [ - ('etc/bash_completion.d', ['youtube-dl.bash-completion']), - ('etc/fish/completions', ['youtube-dl.fish']), - ('share/doc/youtube_dl', ['README.txt']), - ('share/man/man1', ['youtube-dl.1']) + ('etc/bash_completion.d', ['yt-dlp.bash-completion']), + ('etc/fish/completions', ['yt-dlp.fish']), + ('share/doc/yt_dlp', ['README.txt']), + ('share/man/man1', ['yt-dlp.1']) ] root = os.path.dirname(os.path.abspath(__file__)) data_files = [] @@ -66,13 +46,11 @@ params = { 'data_files': data_files, } - if setuptools_available: - params['entry_points'] = {'console_scripts': ['youtube-dl = youtube_dl:main']} - else: - params['scripts'] = ['bin/youtube-dl'] + params['entry_points'] = {'console_scripts': ['yt-dlp = yt_dlp:main']} + class build_lazy_extractors(Command): - description = "Build the extractor lazy loading module" + description = 'Build the extractor lazy loading module' user_options = [] def initialize_options(self): @@ -83,47 +61,56 @@ def finalize_options(self): def run(self): spawn( - [sys.executable, 'devscripts/make_lazy_extractors.py', 'youtube_dl/extractor/lazy_extractors.py'], + [sys.executable, 'devscripts/make_lazy_extractors.py', 'yt_dlp/extractor/lazy_extractors.py'], dry_run=self.dry_run, ) -# Get the version from youtube_dl/version.py without importing the package -exec(compile(open('youtube_dl/version.py').read(), - 'youtube_dl/version.py', 'exec')) + +packages = find_packages(exclude=("youtube_dl", "test", "ytdlp_plugins")) setup( - name='youtube_dl', + name="yt-dlp", version=__version__, - description='YouTube video downloader', - long_description='Small command-line program to download videos from' - ' YouTube.com and other video sites.', - url='https://github.com/rg3/youtube-dl', - author='Ricardo Garcia', - author_email='ytdl@yt-dl.org', - maintainer='Philipp Hagemeister', - maintainer_email='phihag@phihag.de', - packages=[ - 'youtube_dl', - 'youtube_dl.extractor', 'youtube_dl.downloader', - 'youtube_dl.postprocessor'], - - # Provokes warning on most systems (why?!) - # test_suite = 'nose.collector', - # test_requires = ['nosetest'], - + maintainer="pukkandan", + maintainer_email="pukkandan.ytdlp@gmail.com", + description=DESCRIPTION, + long_description=LONG_DESCRIPTION, + long_description_content_type="text/markdown", + url="https://github.com/yt-dlp/yt-dlp", + packages=packages, + install_requires=REQUIREMENTS, + project_urls={ + 'Documentation': 'https://github.com/yt-dlp/yt-dlp#yt-dlp', + 'Source': 'https://github.com/yt-dlp/yt-dlp', + 'Tracker': 'https://github.com/yt-dlp/yt-dlp/issues', + #'Funding': 'https://donate.pypi.org', + }, classifiers=[ - "Topic :: Multimedia :: Video", + "Topic :: Multimedia :: Video", "Development Status :: 5 - Production/Stable", "Environment :: Console", - "License :: Public Domain", + "Programming Language :: Python", + "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: Implementation", + "Programming Language :: Python :: Implementation :: CPython", + "Programming Language :: Python :: Implementation :: IronPython", + "Programming Language :: Python :: Implementation :: Jython", + "Programming Language :: Python :: Implementation :: PyPy", + "License :: Public Domain", + "Operating System :: OS Independent", ], - - cmdclass={'build_lazy_extractors': build_lazy_extractors}, + python_requires='>=2.6', + + cmdclass={'build_lazy_extractors': build_lazy_extractors}, **params )