summaryrefslogtreecommitdiff
path: root/python-innertube.spec
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-05-18 06:48:58 +0000
committerCoprDistGit <infra@openeuler.org>2023-05-18 06:48:58 +0000
commitb35eeb532fd92399642b4db489542b2173105467 (patch)
tree77075b1511802d17e077c0e12d792a6ecc8961a8 /python-innertube.spec
parentb75894e8d79df4df30d983bcfb91cefdd8ec7330 (diff)
automatic import of python-innertube
Diffstat (limited to 'python-innertube.spec')
-rw-r--r--python-innertube.spec269
1 files changed, 269 insertions, 0 deletions
diff --git a/python-innertube.spec b/python-innertube.spec
new file mode 100644
index 0000000..d88ee95
--- /dev/null
+++ b/python-innertube.spec
@@ -0,0 +1,269 @@
+%global _empty_manifest_terminate_build 0
+Name: python-innertube
+Version: 2.1.3
+Release: 1
+Summary: Python Client for Google's Private InnerTube API. Works with Youtube, YouTube Music and more!
+License: MIT
+URL: https://pypi.org/project/innertube/
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/cc/e4/10d6eab6956a07f137391a26e3d595dc74bf0aa7d9bee709a872d198a0ef/innertube-2.1.3.tar.gz
+BuildArch: noarch
+
+Requires: python3-httpx
+Requires: python3-mediate
+
+%description
+# innertube
+Python Client for Google's Private InnerTube API. Works with **YouTube**, **YouTube Music**, **YouTube Kids**, **YouTube Studio** and more!
+
+## About
+This library handles low-level interactions with the underlying InnerTube API used by each of the YouTube services.
+
+Here are a few articles available online relating to the InnerTube API:
+* [Gizmodo - How Project InnerTube Helped Pull YouTube Out of the Gutter](https://gizmodo.com/how-project-innertube-helped-pull-youtube-out-of-the-gu-1704946491)
+* [Fast Company - To Take On HBO And Netflix, YouTube Had To Rewire Itself](https://www.fastcompany.com/3044995/to-take-on-hbo-and-netflix-youtube-had-to-rewire-itself)
+
+## Installation
+`innertube` uses [Poetry](https://github.com/python-poetry/poetry) under the hood and can easily be installed from source or from PyPI using *pip*.
+
+### Latest Release
+```console
+pip install innertube
+```
+
+### Bleeding Edge
+```console
+pip install git+https://github.com/tombulled/innertube@develop
+```
+
+## Usage
+```python
+>>> import innertube
+>>>
+>>> # Construct a client
+>>> client = innertube.InnerTube("WEB")
+>>>
+>>> # Get some data!
+>>> data = client.search(query="foo fighters")
+>>>
+>>> # Power user? No problem, dispatch requests yourself
+>>> data = client("browse", body={"browseId": "FEwhat_to_watch"})
+>>>
+>>> # The core endpoints are implemented, so the above is equivalent to:
+>>> data = client.browse("FEwhat_to_watch")
+```
+
+## Comparison with the [YouTube Data API](https://developers.google.com/youtube/v3/)
+The InnerTube API provides access to data you can't get from the Data API, however it comes at somewhat of a cost *(explained below)*.
+| | This Library | YouTube Data API |
+| ------------------------------------- | ------------ | ---------------- |
+| Google account required | No | Yes |
+| Request limit | No | Yes |
+| Clean data | No | Yes |
+
+The InnerTube API is used by a variety of YouTube services and is not designed for consumption by users. Therefore, the data returned by the InnerTube API will need to be parsed and sanitised to extract data of interest.
+
+## Endpoints
+Currently only the following core, unauthenticated endpoints are implemented:
+| | YouTube | YouTubeMusic | YouTubeKids | YouTubeStudio |
+| ------------------------------ | ------- | ------------ | ----------- | ------------- |
+| config | &check; | &check; | &check; | &check; |
+| browse | &check; | &check; | &check; | &check; |
+| player | &check; | &check; | &check; | &check; |
+| next | &check; | &check; | &check; | |
+| search | &check; | &check; | &check; | |
+| guide | &check; | &check; | | |
+| get_transcript | &check; | | | |
+| music/get_search_suggestions | | &check; | | |
+| music/get_queue | | &check; | | |
+
+## Authentication
+The InnerTube API uses OAuth2, however this has not yet been implemented, therefore this library currently only provides unauthenticated API access.
+
+%package -n python3-innertube
+Summary: Python Client for Google's Private InnerTube API. Works with Youtube, YouTube Music and more!
+Provides: python-innertube
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-innertube
+# innertube
+Python Client for Google's Private InnerTube API. Works with **YouTube**, **YouTube Music**, **YouTube Kids**, **YouTube Studio** and more!
+
+## About
+This library handles low-level interactions with the underlying InnerTube API used by each of the YouTube services.
+
+Here are a few articles available online relating to the InnerTube API:
+* [Gizmodo - How Project InnerTube Helped Pull YouTube Out of the Gutter](https://gizmodo.com/how-project-innertube-helped-pull-youtube-out-of-the-gu-1704946491)
+* [Fast Company - To Take On HBO And Netflix, YouTube Had To Rewire Itself](https://www.fastcompany.com/3044995/to-take-on-hbo-and-netflix-youtube-had-to-rewire-itself)
+
+## Installation
+`innertube` uses [Poetry](https://github.com/python-poetry/poetry) under the hood and can easily be installed from source or from PyPI using *pip*.
+
+### Latest Release
+```console
+pip install innertube
+```
+
+### Bleeding Edge
+```console
+pip install git+https://github.com/tombulled/innertube@develop
+```
+
+## Usage
+```python
+>>> import innertube
+>>>
+>>> # Construct a client
+>>> client = innertube.InnerTube("WEB")
+>>>
+>>> # Get some data!
+>>> data = client.search(query="foo fighters")
+>>>
+>>> # Power user? No problem, dispatch requests yourself
+>>> data = client("browse", body={"browseId": "FEwhat_to_watch"})
+>>>
+>>> # The core endpoints are implemented, so the above is equivalent to:
+>>> data = client.browse("FEwhat_to_watch")
+```
+
+## Comparison with the [YouTube Data API](https://developers.google.com/youtube/v3/)
+The InnerTube API provides access to data you can't get from the Data API, however it comes at somewhat of a cost *(explained below)*.
+| | This Library | YouTube Data API |
+| ------------------------------------- | ------------ | ---------------- |
+| Google account required | No | Yes |
+| Request limit | No | Yes |
+| Clean data | No | Yes |
+
+The InnerTube API is used by a variety of YouTube services and is not designed for consumption by users. Therefore, the data returned by the InnerTube API will need to be parsed and sanitised to extract data of interest.
+
+## Endpoints
+Currently only the following core, unauthenticated endpoints are implemented:
+| | YouTube | YouTubeMusic | YouTubeKids | YouTubeStudio |
+| ------------------------------ | ------- | ------------ | ----------- | ------------- |
+| config | &check; | &check; | &check; | &check; |
+| browse | &check; | &check; | &check; | &check; |
+| player | &check; | &check; | &check; | &check; |
+| next | &check; | &check; | &check; | |
+| search | &check; | &check; | &check; | |
+| guide | &check; | &check; | | |
+| get_transcript | &check; | | | |
+| music/get_search_suggestions | | &check; | | |
+| music/get_queue | | &check; | | |
+
+## Authentication
+The InnerTube API uses OAuth2, however this has not yet been implemented, therefore this library currently only provides unauthenticated API access.
+
+%package help
+Summary: Development documents and examples for innertube
+Provides: python3-innertube-doc
+%description help
+# innertube
+Python Client for Google's Private InnerTube API. Works with **YouTube**, **YouTube Music**, **YouTube Kids**, **YouTube Studio** and more!
+
+## About
+This library handles low-level interactions with the underlying InnerTube API used by each of the YouTube services.
+
+Here are a few articles available online relating to the InnerTube API:
+* [Gizmodo - How Project InnerTube Helped Pull YouTube Out of the Gutter](https://gizmodo.com/how-project-innertube-helped-pull-youtube-out-of-the-gu-1704946491)
+* [Fast Company - To Take On HBO And Netflix, YouTube Had To Rewire Itself](https://www.fastcompany.com/3044995/to-take-on-hbo-and-netflix-youtube-had-to-rewire-itself)
+
+## Installation
+`innertube` uses [Poetry](https://github.com/python-poetry/poetry) under the hood and can easily be installed from source or from PyPI using *pip*.
+
+### Latest Release
+```console
+pip install innertube
+```
+
+### Bleeding Edge
+```console
+pip install git+https://github.com/tombulled/innertube@develop
+```
+
+## Usage
+```python
+>>> import innertube
+>>>
+>>> # Construct a client
+>>> client = innertube.InnerTube("WEB")
+>>>
+>>> # Get some data!
+>>> data = client.search(query="foo fighters")
+>>>
+>>> # Power user? No problem, dispatch requests yourself
+>>> data = client("browse", body={"browseId": "FEwhat_to_watch"})
+>>>
+>>> # The core endpoints are implemented, so the above is equivalent to:
+>>> data = client.browse("FEwhat_to_watch")
+```
+
+## Comparison with the [YouTube Data API](https://developers.google.com/youtube/v3/)
+The InnerTube API provides access to data you can't get from the Data API, however it comes at somewhat of a cost *(explained below)*.
+| | This Library | YouTube Data API |
+| ------------------------------------- | ------------ | ---------------- |
+| Google account required | No | Yes |
+| Request limit | No | Yes |
+| Clean data | No | Yes |
+
+The InnerTube API is used by a variety of YouTube services and is not designed for consumption by users. Therefore, the data returned by the InnerTube API will need to be parsed and sanitised to extract data of interest.
+
+## Endpoints
+Currently only the following core, unauthenticated endpoints are implemented:
+| | YouTube | YouTubeMusic | YouTubeKids | YouTubeStudio |
+| ------------------------------ | ------- | ------------ | ----------- | ------------- |
+| config | &check; | &check; | &check; | &check; |
+| browse | &check; | &check; | &check; | &check; |
+| player | &check; | &check; | &check; | &check; |
+| next | &check; | &check; | &check; | |
+| search | &check; | &check; | &check; | |
+| guide | &check; | &check; | | |
+| get_transcript | &check; | | | |
+| music/get_search_suggestions | | &check; | | |
+| music/get_queue | | &check; | | |
+
+## Authentication
+The InnerTube API uses OAuth2, however this has not yet been implemented, therefore this library currently only provides unauthenticated API access.
+
+%prep
+%autosetup -n innertube-2.1.3
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-innertube -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Thu May 18 2023 Python_Bot <Python_Bot@openeuler.org> - 2.1.3-1
+- Package Spec generated