nficano commited on
Commit
bff3e77
Β·
unverified Β·
1 Parent(s): 5d2c1a4

Remove "harold.martin@gmail.com" from authors (#974)

Browse files

* Update authors/contact

* Update documentation URLs

* Update some old references from nficano/pytube to pytube/pytube

* Updated license in setup.py to The Unlicense

* Removed pytube3 CLI entrypoint

* Change OS classified to platform-independent

* Remove travis, coveralls, and codecov references

* Remove legacy 'coding: utf-8' tag

.github/workflows/codecov.yml DELETED
@@ -1,17 +0,0 @@
1
- name: Code Coverage
2
- on: [push]
3
- jobs:
4
- Code-Coverage:
5
- runs-on: ubuntu-latest
6
- steps:
7
- - run: echo "πŸŽ‰ The job was automatically triggered by a ${{ github.event_name }} event."
8
- - run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by GitHub!"
9
- - run: echo "πŸ”Ž The name of your branch is ${{ github.ref }} and your repository is ${{ github.repository }}."
10
- - name: Check out repository code
11
- uses: actions/checkout@v2
12
- - run: echo "πŸ’‘ The ${{ github.repository }} repository has been cloned to the runner."
13
- - run: echo "πŸ–₯️ The workflow is now ready to test your code on the runner."
14
- - name: List files in the repository
15
- run: |
16
- ls ${{ github.workspace }}
17
- - run: echo "🍏 This job's status is ${{ job.status }}."
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
.github/workflows/greetings.yml CHANGED
@@ -9,4 +9,4 @@ jobs:
9
  - uses: actions/first-interaction@v1
10
  with:
11
  repo-token: ${{ secrets.GITHUB_TOKEN }}
12
- issue-message: 'Thank you for contributing to PyTube. Please remember to reference [Contributing.md](https://github.com/nficano/pytube/blob/master/Contributing.md)'
 
9
  - uses: actions/first-interaction@v1
10
  with:
11
  repo-token: ${{ secrets.GITHUB_TOKEN }}
12
+ issue-message: 'Thank you for contributing to PyTube. Please remember to reference [Contributing.md](https://github.com/pytube/pytube/blob/master/Contributing.md)'
Contributing.md CHANGED
@@ -2,9 +2,9 @@
2
 
3
  #### **Did you find a bug?**
4
 
5
- * **Ensure the bug was not already reported** by searching on GitHub under [Issues](https://github.com/nficano/pytube/issues).
6
 
7
- * If you're unable to find an open issue addressing the problem, [open a new one](https://github.com/nficano/pytube/issues/new). Be sure to include a **title and clear description**, as much relevant information as possible, and a **[MRE code sample](https://stackoverflow.com/help/minimal-reproducible-example)** or an **executable test case** demonstrating the expected behavior that is not occurring.
8
 
9
  * For more detailed information on submitting a bug report and creating an issue, visit `TODO`
10
 
@@ -32,7 +32,7 @@ Changes that are cosmetic in nature and do not add anything substantial to the s
32
 
33
  #### **Do you want to contribute to the PyTube documentation?**
34
 
35
- * Consider submitting a patch to the [docs](https://github.com/nficano/pytube/tree/master/docs)
36
 
37
  PyTube is a volunteer effort. We encourage you to pitch in and [join the team](https://contributors.rubyonrails.org)!
38
 
 
2
 
3
  #### **Did you find a bug?**
4
 
5
+ * **Ensure the bug was not already reported** by searching on GitHub under [Issues](https://github.com/pytube/pytube/issues).
6
 
7
+ * If you're unable to find an open issue addressing the problem, [open a new one](https://github.com/pytube/pytube/issues/new). Be sure to include a **title and clear description**, as much relevant information as possible, and a **[MRE code sample](https://stackoverflow.com/help/minimal-reproducible-example)** or an **executable test case** demonstrating the expected behavior that is not occurring.
8
 
9
  * For more detailed information on submitting a bug report and creating an issue, visit `TODO`
10
 
 
32
 
33
  #### **Do you want to contribute to the PyTube documentation?**
34
 
35
+ * Consider submitting a patch to the [docs](https://github.com/pytube/pytube/tree/master/docs)
36
 
37
  PyTube is a volunteer effort. We encourage you to pitch in and [join the team](https://contributors.rubyonrails.org)!
38
 
README.md CHANGED
@@ -4,7 +4,8 @@
4
  </p>
5
  <p align="center">
6
  <a href="https://pypi.org/project/pytube/"><img src="https://img.shields.io/pypi/dm/pytube?style=flat-square" alt="pypi"/></a>
7
- <a href="https://python-pytube.readthedocs.io/en/latest/"><img src="https://readthedocs.org/projects/python-pytube/badge/?version=latest&style=flat-square" /></a>
 
8
  <a href="https://pypi.org/project/pytube/"><img src="https://img.shields.io/pypi/v/pytube?style=flat-square" /></a>
9
  </p>
10
  </div>
@@ -21,8 +22,8 @@ command-line utility) for downloading YouTube Videos.
21
 
22
  ## Documentation
23
 
24
- Detailed documentation about how to use the library can be found on our
25
- [readthedocs](https://python-pytube.readthedocs.io) page. This is recommended
26
  for most use cases. If you just want to quickly download a single video,
27
  the [quickstart](#Quickstart) guide below might be what you're looking for.
28
 
@@ -56,8 +57,7 @@ download videos right from terminal.
56
  ## Quickstart
57
 
58
  This guide is only meant to cover the most basic usage of the library. For more
59
- detailed information, please refer to our
60
- [readthedocs](https://python-pytube.readthedocs.io) page.
61
 
62
  ### Installation
63
 
 
4
  </p>
5
  <p align="center">
6
  <a href="https://pypi.org/project/pytube/"><img src="https://img.shields.io/pypi/dm/pytube?style=flat-square" alt="pypi"/></a>
7
+ <a href="https://pytube.io/en/latest/"><img src="https://readthedocs.org/projects/python-pytube/badge/?version=latest&style=flat-square" /></a>
8
+ <a href="https://codecov.io/gh/pytube/pytube" aria-label="coverage"><img src="https://img.shields.io/codecov/c/github/pytube/pytube?style=flat-square" /></a>
9
  <a href="https://pypi.org/project/pytube/"><img src="https://img.shields.io/pypi/v/pytube?style=flat-square" /></a>
10
  </p>
11
  </div>
 
22
 
23
  ## Documentation
24
 
25
+ Detailed documentation about how to use the library can be found on
26
+ [pytube.io](pytube.io). This is recommended
27
  for most use cases. If you just want to quickly download a single video,
28
  the [quickstart](#Quickstart) guide below might be what you're looking for.
29
 
 
57
  ## Quickstart
58
 
59
  This guide is only meant to cover the most basic usage of the library. For more
60
+ detailed information, please refer to [pytube.io](https://pytube.io).
 
61
 
62
  ### Installation
63
 
docs/conf.py CHANGED
@@ -1,5 +1,4 @@
1
  #!/usr/bin/env python3
2
- # -*- coding: utf-8 -*-
3
  """pytube documentation build configuration file."""
4
  import os
5
  import sys
@@ -36,8 +35,7 @@ master_doc = "index"
36
 
37
  # General information about the project.
38
  project = "pytube"
39
- copyright = "2019, Nick Ficano" # noqa: A001
40
- author = "Nick Ficano, Harold Martin"
41
 
42
  # The version info for the project you're documenting, acts as replacement for
43
  # |version| and |release|, also used in various other places throughout the
 
1
  #!/usr/bin/env python3
 
2
  """pytube documentation build configuration file."""
3
  import os
4
  import sys
 
35
 
36
  # General information about the project.
37
  project = "pytube"
38
+ author = "RonnieΒ Ghose, Taylor Fox Dahlin, Nick Ficano"
 
39
 
40
  # The version info for the project you're documenting, acts as replacement for
41
  # |version| and |release|, also used in various other places throughout the
docs/index.rst CHANGED
@@ -8,18 +8,13 @@ Release v\ |version|. (:ref:`Installation<install>`)
8
  :alt: Pypi
9
  :target: https://pypi.python.org/pypi/pytube/
10
 
11
- .. image:: https://travis-ci.org/nficano/pytube.svg?branch=master
12
- :alt: Build status
13
- :target: https://travis-ci.org/nficano/pytube
14
-
15
- .. image:: https://coveralls.io/repos/github/nficano/pytube/badge.svg?branch=master
16
- :alt: Coverage
17
- :target: https://coveralls.io/github/nficano/pytube?branch=master
18
-
19
  .. image:: https://img.shields.io/pypi/pyversions/pytube.svg
20
  :alt: Python Versions
21
  :target: https://pypi.python.org/pypi/pytube/
22
 
 
 
 
23
  **pytube** is a lightweight, Pythonic, dependency-free, library (and
24
  command-line utility) for downloading YouTube Videos.
25
 
 
8
  :alt: Pypi
9
  :target: https://pypi.python.org/pypi/pytube/
10
 
 
 
 
 
 
 
 
 
11
  .. image:: https://img.shields.io/pypi/pyversions/pytube.svg
12
  :alt: Python Versions
13
  :target: https://pypi.python.org/pypi/pytube/
14
 
15
+ .. image:: https://readthedocs.org/projects/python-pytube/badge/?version=latest&style=flat-square
16
+ :alt: Readthedocs
17
+
18
  **pytube** is a lightweight, Pythonic, dependency-free, library (and
19
  command-line utility) for downloading YouTube Videos.
20
 
pytube/__init__.py CHANGED
@@ -4,8 +4,8 @@
4
  Pytube: a very serious Python library for downloading YouTube Videos.
5
  """
6
  __title__ = "pytube"
7
- __author__ = "Nick Ficano"
8
- __license__ = "Unlicensed"
9
  __js__ = None
10
  __js_url__ = None
11
 
 
4
  Pytube: a very serious Python library for downloading YouTube Videos.
5
  """
6
  __title__ = "pytube"
7
+ __author__ = "RonnieΒ Ghose, Taylor Fox Dahlin, Nick Ficano"
8
+ __license__ = "The Unlicense (Unlicense)"
9
  __js__ = None
10
  __js_url__ = None
11
 
pytube/__main__.py CHANGED
@@ -1,4 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
  """
3
  This module implements the core developer interface for pytube.
4
 
@@ -209,7 +208,7 @@ class YouTube:
209
  return self._fmt_streams
210
 
211
  self._fmt_streams = []
212
- # https://github.com/nficano/pytube/issues/165
213
  stream_maps = ["url_encoded_fmt_stream_map"]
214
  if "adaptive_fmts" in self.player_config_args:
215
  stream_maps.append("adaptive_fmts")
 
 
1
  """
2
  This module implements the core developer interface for pytube.
3
 
 
208
  return self._fmt_streams
209
 
210
  self._fmt_streams = []
211
+ # https://github.com/pytube/pytube/issues/165
212
  stream_maps = ["url_encoded_fmt_stream_map"]
213
  if "adaptive_fmts" in self.player_config_args:
214
  stream_maps.append("adaptive_fmts")
pytube/captions.py CHANGED
@@ -1,4 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
  import math
3
  import os
4
  import time
 
 
1
  import math
2
  import os
3
  import time
pytube/cipher.py CHANGED
@@ -1,4 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
  """
3
  This module contains all logic necessary to decipher the signature.
4
 
@@ -49,7 +48,7 @@ class Cipher:
49
  The ciphered signature sent in the ``player_config``.
50
  :rtype: str
51
  :returns:
52
- Decrypted signature required to download the media content.
53
  """
54
  signature = list(ciphered_signature)
55
 
@@ -108,7 +107,7 @@ def get_initial_function_name(js: str) -> str:
108
  The contents of the base.js asset file.
109
  :rtype: str
110
  :returns:
111
- Function name from regex match
112
  """
113
 
114
  function_patterns = [
@@ -226,7 +225,7 @@ def reverse(arr: List, _: Optional[Any]):
226
 
227
  .. code-block:: javascript
228
 
229
- function(a, b) { a.reverse() }
230
 
231
  This method takes an unused ``b`` variable as their transform functions
232
  universally sent two arguments.
@@ -246,7 +245,7 @@ def splice(arr: List, b: int):
246
 
247
  .. code-block:: javascript
248
 
249
- function(a, b) { a.splice(0, b) }
250
 
251
  **Example**:
252
 
@@ -263,7 +262,7 @@ def swap(arr: List, b: int):
263
 
264
  .. code-block:: javascript
265
 
266
- function(a, b) { var c=a[0];a[0]=a[b%a.length];a[b]=c }
267
 
268
  **Example**:
269
 
@@ -279,7 +278,6 @@ def map_functions(js_func: str) -> Callable:
279
 
280
  :param str js_func:
281
  The JavaScript version of the transform function.
282
-
283
  """
284
  mapper = (
285
  # function(a){a.reverse()}
 
 
1
  """
2
  This module contains all logic necessary to decipher the signature.
3
 
 
48
  The ciphered signature sent in the ``player_config``.
49
  :rtype: str
50
  :returns:
51
+ Decrypted signature required to download the media content.
52
  """
53
  signature = list(ciphered_signature)
54
 
 
107
  The contents of the base.js asset file.
108
  :rtype: str
109
  :returns:
110
+ Function name from regex match
111
  """
112
 
113
  function_patterns = [
 
225
 
226
  .. code-block:: javascript
227
 
228
+ function(a, b) { a.reverse() }
229
 
230
  This method takes an unused ``b`` variable as their transform functions
231
  universally sent two arguments.
 
245
 
246
  .. code-block:: javascript
247
 
248
+ function(a, b) { a.splice(0, b) }
249
 
250
  **Example**:
251
 
 
262
 
263
  .. code-block:: javascript
264
 
265
+ function(a, b) { var c=a[0];a[0]=a[b%a.length];a[b]=c }
266
 
267
  **Example**:
268
 
 
278
 
279
  :param str js_func:
280
  The JavaScript version of the transform function.
 
281
  """
282
  mapper = (
283
  # function(a){a.reverse()}
pytube/cli.py CHANGED
@@ -1,5 +1,4 @@
1
  #!/usr/bin/env python3
2
- # -*- coding: utf-8 -*-
3
  """A simple command line application to download youtube videos."""
4
  import argparse
5
  import gzip
 
1
  #!/usr/bin/env python3
 
2
  """A simple command line application to download youtube videos."""
3
  import argparse
4
  import gzip
pytube/contrib/playlist.py CHANGED
@@ -1,4 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
  """Module to download a complete playlist from a youtube channel."""
3
  import json
4
  import logging
 
 
1
  """Module to download a complete playlist from a youtube channel."""
2
  import json
3
  import logging
pytube/exceptions.py CHANGED
@@ -1,4 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
  """Library specific exception definitions."""
3
  from typing import Pattern, Union
4
 
 
 
1
  """Library specific exception definitions."""
2
  from typing import Pattern, Union
3
 
pytube/extract.py CHANGED
@@ -1,4 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
  """This module contains all non-cipher related data extraction logic."""
3
  import json
4
  import logging
 
 
1
  """This module contains all non-cipher related data extraction logic."""
2
  import json
3
  import logging
pytube/helpers.py CHANGED
@@ -1,4 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
  """Various helper functions implemented by pytube."""
3
  import functools
4
  import gzip
@@ -93,7 +92,7 @@ def setup_logger(level: int = logging.ERROR, log_filename: Optional[str] = None)
93
  date_fmt = "%H:%M:%S"
94
  formatter = logging.Formatter(fmt, datefmt=date_fmt)
95
 
96
- # https://github.com/nficano/pytube/issues/163
97
  logger = logging.getLogger("pytube")
98
  logger.setLevel(level)
99
 
 
 
1
  """Various helper functions implemented by pytube."""
2
  import functools
3
  import gzip
 
92
  date_fmt = "%H:%M:%S"
93
  formatter = logging.Formatter(fmt, datefmt=date_fmt)
94
 
95
+ # https://github.com/pytube/pytube/issues/163
96
  logger = logging.getLogger("pytube")
97
  logger.setLevel(level)
98
 
pytube/itags.py CHANGED
@@ -1,4 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
  """This module contains a lookup table of YouTube's itag values."""
3
  from typing import Dict
4
 
 
 
1
  """This module contains a lookup table of YouTube's itag values."""
2
  from typing import Dict
3
 
pytube/metadata.py CHANGED
@@ -1,4 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
  """This module contains the YouTubeMetadata class."""
3
  import json
4
  from typing import Dict, List, Optional
 
 
1
  """This module contains the YouTubeMetadata class."""
2
  import json
3
  from typing import Dict, List, Optional
pytube/monostate.py CHANGED
@@ -1,4 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
  from typing import Any, Callable, Optional
3
 
4
 
 
 
1
  from typing import Any, Callable, Optional
2
 
3
 
pytube/query.py CHANGED
@@ -1,4 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
  """This module provides a query interface for media streams and captions."""
3
  from collections.abc import Mapping, Sequence
4
  from typing import Callable, List, Optional, Union
 
 
1
  """This module provides a query interface for media streams and captions."""
2
  from collections.abc import Mapping, Sequence
3
  from typing import Callable, List, Optional, Union
pytube/request.py CHANGED
@@ -1,4 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
  """Implements a simple wrapper around urlopen."""
3
  import json
4
  import logging
 
 
1
  """Implements a simple wrapper around urlopen."""
2
  import json
3
  import logging
pytube/streams.py CHANGED
@@ -1,4 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
  """
3
  This module contains a container for stream manifest data.
4
 
 
 
1
  """
2
  This module contains a container for stream manifest data.
3
 
pytube/version.py CHANGED
@@ -1,5 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
-
3
  __version__ = "10.7.1"
4
 
5
  if __name__ == "__main__":
 
 
 
1
  __version__ = "10.7.1"
2
 
3
  if __name__ == "__main__":
setup.py CHANGED
@@ -1,6 +1,5 @@
1
  #!/usr/bin/env python
2
- # -*- coding: utf-8 -*-
3
- """This module contains setup instructions for pytube3."""
4
  import codecs
5
  import os
6
 
@@ -17,25 +16,22 @@ with open(os.path.join(here, "pytube", "version.py")) as fp:
17
  setup(
18
  name="pytube",
19
  version=__version__, # noqa: F821
20
- author="Nick Ficano, Harold Martin",
21
- author_email="nficano@gmail.com, harold.martin@gmail.com",
22
  packages=["pytube", "pytube.contrib"],
23
  package_data={"": ["LICENSE"],},
24
- url="https://github.com/nficano/pytube",
25
- license="MIT",
26
  entry_points={
27
  "console_scripts": [
28
- "pytube = pytube.cli:main", "pytube3 = pytube.cli:main"],},
29
  classifiers=[
30
  "Development Status :: 5 - Production/Stable",
31
  "Environment :: Console",
32
  "Intended Audience :: Developers",
33
- "License :: OSI Approved :: MIT License",
34
  "Natural Language :: English",
35
- "Operating System :: MacOS",
36
- "Operating System :: Microsoft",
37
- "Operating System :: POSIX",
38
- "Operating System :: Unix",
39
  "Programming Language :: Python :: 3.6",
40
  "Programming Language :: Python :: 3.7",
41
  "Programming Language :: Python :: 3.8",
@@ -54,8 +50,8 @@ setup(
54
  zip_safe=True,
55
  python_requires=">=3.6",
56
  project_urls={
57
- "Bug Reports": "https://github.com/nficano/pytube/issues",
58
- "Read the Docs": "https://python-pytube.readthedocs.io/en/latest",
59
  },
60
  keywords=["youtube", "download", "video", "stream",],
61
  )
 
1
  #!/usr/bin/env python
2
+ """This module contains setup instructions for pytube."""
 
3
  import codecs
4
  import os
5
 
 
16
  setup(
17
  name="pytube",
18
  version=__version__, # noqa: F821
19
+ author="RonnieΒ Ghose, Taylor Fox Dahlin, Nick Ficano",
20
+ author_email="hey@pytube.io",
21
  packages=["pytube", "pytube.contrib"],
22
  package_data={"": ["LICENSE"],},
23
+ url="https://github.com/pytube/pytube",
24
+ license="The Unlicense (Unlicense)",
25
  entry_points={
26
  "console_scripts": [
27
+ "pytube = pytube.cli:main"],},
28
  classifiers=[
29
  "Development Status :: 5 - Production/Stable",
30
  "Environment :: Console",
31
  "Intended Audience :: Developers",
32
+ "License :: OSI Approved :: The Unlicense (Unlicense)",
33
  "Natural Language :: English",
34
+ "Operating System :: OS Independent",
 
 
 
35
  "Programming Language :: Python :: 3.6",
36
  "Programming Language :: Python :: 3.7",
37
  "Programming Language :: Python :: 3.8",
 
50
  zip_safe=True,
51
  python_requires=">=3.6",
52
  project_urls={
53
+ "Bug Reports": "https://github.com/pytube/pytube/issues",
54
+ "Read the Docs": "https://pytube.io",
55
  },
56
  keywords=["youtube", "download", "video", "stream",],
57
  )
tests/__init__.py CHANGED
@@ -1,2 +1 @@
1
- # -*- coding: utf-8 -*-
2
  """Package init | pydocstyle ignore isn't working :/."""
 
 
1
  """Package init | pydocstyle ignore isn't working :/."""
tests/conftest.py CHANGED
@@ -1,4 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
  """Reusable dependency injected testing components."""
3
  import gzip
4
  import json
 
 
1
  """Reusable dependency injected testing components."""
2
  import gzip
3
  import json
tests/contrib/test_playlist.py CHANGED
@@ -1,4 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
  import datetime
3
  from unittest import mock
4
 
 
 
1
  import datetime
2
  from unittest import mock
3
 
tests/test_captions.py CHANGED
@@ -1,4 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
  import os
3
  import pytest
4
  from unittest import mock
 
 
1
  import os
2
  import pytest
3
  from unittest import mock
tests/test_cipher.py CHANGED
@@ -1,4 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
  import pytest
3
 
4
  from pytube import cipher
 
 
1
  import pytest
2
 
3
  from pytube import cipher
tests/test_cli.py CHANGED
@@ -1,4 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
  import argparse
3
  import os
4
  from unittest import mock
 
 
1
  import argparse
2
  import os
3
  from unittest import mock
tests/test_exceptions.py CHANGED
@@ -1,4 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
  import pytest
3
  from unittest import mock
4
 
 
 
1
  import pytest
2
  from unittest import mock
3
 
tests/test_extract.py CHANGED
@@ -1,4 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
  """Unit tests for the :module:`extract <extract>` module."""
3
  from datetime import datetime
4
  import pytest
 
 
1
  """Unit tests for the :module:`extract <extract>` module."""
2
  from datetime import datetime
3
  import pytest
tests/test_helpers.py CHANGED
@@ -1,4 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
  import gzip
3
  import io
4
  import json
 
 
1
  import gzip
2
  import io
3
  import json
tests/test_itags.py CHANGED
@@ -1,4 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
  from pytube import itags
3
 
4
 
 
 
1
  from pytube import itags
2
 
3
 
tests/test_main.py CHANGED
@@ -1,4 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
  from unittest import mock
3
 
4
  import pytest
 
 
1
  from unittest import mock
2
 
3
  import pytest
tests/test_metadata.py CHANGED
@@ -1,4 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
  """Unit tests for the :module:`metadata <metadata>` module."""
3
  from pytube import extract
4
 
 
 
1
  """Unit tests for the :module:`metadata <metadata>` module."""
2
  from pytube import extract
3
 
tests/test_query.py CHANGED
@@ -1,4 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
  """Unit tests for the :class:`StreamQuery <StreamQuery>` class."""
3
  import pytest
4
 
 
 
1
  """Unit tests for the :class:`StreamQuery <StreamQuery>` class."""
2
  import pytest
3
 
tests/test_request.py CHANGED
@@ -1,4 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
  import socket
3
  import os
4
  import pytest
 
 
1
  import socket
2
  import os
3
  import pytest
tests/test_streams.py CHANGED
@@ -1,4 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
  import os
3
  import random
4
  import pytest
 
 
1
  import os
2
  import random
3
  import pytest