Name | redgifs JSON |
Version |
2.3.0
JSON |
| download |
home_page | None |
Summary | Async and Sync Python Wrapper for the RedGIFs API. |
upload_time | 2025-07-20 06:23:23 |
maintainer | None |
docs_url | None |
author | scrazzz |
requires_python | >=3.8 |
license | The MIT License (MIT)
Copyright (c) 2022-present scrazzz
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE. |
keywords |
redgifs
api
python
cli
async
sync
aiohttp
requests
|
VCS |
 |
bugtrack_url |
|
requirements |
requests
aiohttp
click
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
<h1 align="center"> <code>redgifs</code> </h1>
<div align="center">
<a href="https://pypi.org/project/redgifs">
<img src="https://img.shields.io/pypi/v/redgifs.svg" alt="pypi">
</a>
<a href="https://github.com/scrazzz/redgifs/actions/workflows/test.yml">
<img src="https://github.com/scrazzz/redgifs/actions/workflows/test.yml/badge.svg" alt="pytest">
</a>
<a href='https://redgifs.readthedocs.io/en/latest/?badge=latest'>
<img src='https://readthedocs.org/projects/redgifs/badge/?version=latest' alt='Documentation Status' />
</a>
</div>
<p align="center"> Async and Sync Python Wrapper for the RedGIFs API. </p>
-----
> ⭐ _Please star this repo to support the developer and to encourage the development of this project!_
-----
### Installation
```
pip install -U redgifs
```
#### Development version
```
pip install -U git+https://github.com/scrazzz/redgifs
```
`redgifs` works on Python versions 3.8 and above.
-----
### Quickstart
#### 1. Command Line:
```console
$ redgifs --help
Usage: redgifs [OPTIONS] [URLS]...
Options:
-v, --version Shows currently installed version.
-q, --quality [sd|hd] Video quality of GIF to download. [default: hd]
-f, --folder FOLDER_NAME The folder to save the downloads to.
-i, --input FILE_NAME Download URLs from a newline seperated txt file.
--images Download only images from a user profile.
--help Show this message and exit.
```
Examples:
<details>
<summary>Download multiple GIFs</summary>
```console
$ redgifs https://redgifs.com/watch/abc https://redgifs.com/watch/xyz https://redgifs.com/watch/def
Downloading abc...
Download complete
Downloading xyz...
Download complete
Downloading def...
Download complete
```
</details>
<details>
<summary>Download GIFs to a specific folder</summary>
```console
$ ls
Home Downloads Homework Music
Backup Documents Videos Games
$ redgifs https://redgifs.com/watch/xyz --quality sd --folder Homework
Downloading xyz...
Download complete
$ ls Homework
xyz.mp4
```
</details>
<details>
<summary>Download GIFs from a text file that contains a list of URLs</summary>
```console
$ # urls.txt:
$ # https://redigfs.com/watch/xyz
$ # https://redigfs.com/watch/qwe
$ # https://redigfs.com/watch/abc
$ # https://redigfs.com/watch/rst
$ redgifs -i urls.txt
Downloading xyz...
Download complete
Downloading qwe...
```
</details>
<details>
<summary>Download all GIFs from a user's profile</summary>
```console
$ mkdir rg_vids
$ redgifs https://redgifs.com/users/usernamethatexists -f rg_vids
Downloaded 1/3 GIFs
Downloaded 2/3 GIFs
...
Downloaded 3/3 videos of user usernamethatexists to folder rg_vids sucessfully!
```
</details>
#### 2. Synchronous usage:
```py
import redgifs
api = redgifs.API()
api.login() # Login with temporary token
response = api.search('3D')
print(response)
api.close()
```
#### 3. Asynchronous usage:
```py
import asyncio
from redgifs.aio import API # note this
async def main():
api = API()
await api.login() # Login with temporary token
response = await api.search('3D')
print(response)
await api.close()
loop = asyncio.get_event_loop()
loop.run_until_complete(main())
```
More examples can be found in the examples directory.
-----
### Links
- [Documentation](https://redgifs.readthedocs.io)
- [Discord](https://discord.gg/NtAJMCcTd4)
- [Examples](https://github.com/scrazzz/redgifs/tree/main/examples)
Raw data
{
"_id": null,
"home_page": null,
"name": "redgifs",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "redgifs, api, python, cli, async, sync, aiohttp, requests",
"author": "scrazzz",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/02/f0/da7c0917a0ec81f4c75f5ab9eab3b8152522afc5afdd6dba733d0a86a3fd/redgifs-2.3.0.tar.gz",
"platform": null,
"description": "<h1 align=\"center\"> <code>redgifs</code> </h1>\n\n<div align=\"center\">\n <a href=\"https://pypi.org/project/redgifs\">\n <img src=\"https://img.shields.io/pypi/v/redgifs.svg\" alt=\"pypi\">\n </a>\n <a href=\"https://github.com/scrazzz/redgifs/actions/workflows/test.yml\">\n <img src=\"https://github.com/scrazzz/redgifs/actions/workflows/test.yml/badge.svg\" alt=\"pytest\">\n </a>\n <a href='https://redgifs.readthedocs.io/en/latest/?badge=latest'>\n <img src='https://readthedocs.org/projects/redgifs/badge/?version=latest' alt='Documentation Status' />\n </a>\n</div>\n\n<p align=\"center\"> Async and Sync Python Wrapper for the RedGIFs API. </p>\n\n-----\n\n> \u2b50 _Please star this repo to support the developer and to encourage the development of this project!_\n\n-----\n\n### Installation\n```\npip install -U redgifs\n```\n\n#### Development version\n```\npip install -U git+https://github.com/scrazzz/redgifs\n```\n\n`redgifs` works on Python versions 3.8 and above.\n\n-----\n\n### Quickstart\n#### 1. Command Line:\n\n```console\n$ redgifs --help\nUsage: redgifs [OPTIONS] [URLS]...\n\nOptions:\n -v, --version Shows currently installed version.\n -q, --quality [sd|hd] Video quality of GIF to download. [default: hd]\n -f, --folder FOLDER_NAME The folder to save the downloads to.\n -i, --input FILE_NAME Download URLs from a newline seperated txt file.\n --images Download only images from a user profile.\n --help Show this message and exit.\n```\n\nExamples:\n\n<details>\n<summary>Download multiple GIFs</summary>\n\n```console\n$ redgifs https://redgifs.com/watch/abc https://redgifs.com/watch/xyz https://redgifs.com/watch/def\nDownloading abc...\nDownload complete\n\nDownloading xyz...\nDownload complete\n\nDownloading def...\nDownload complete\n```\n</details>\n\n<details>\n<summary>Download GIFs to a specific folder</summary>\n \n```console\n$ ls\nHome Downloads Homework Music\nBackup Documents Videos Games\n$ redgifs https://redgifs.com/watch/xyz --quality sd --folder Homework\nDownloading xyz...\nDownload complete\n$ ls Homework\nxyz.mp4\n```\n</details>\n\n<details>\n<summary>Download GIFs from a text file that contains a list of URLs</summary>\n\n```console\n$ # urls.txt:\n$ # https://redigfs.com/watch/xyz\n$ # https://redigfs.com/watch/qwe\n$ # https://redigfs.com/watch/abc\n$ # https://redigfs.com/watch/rst\n\n$ redgifs -i urls.txt\nDownloading xyz...\nDownload complete\nDownloading qwe...\n```\n</details>\n\n<details>\n<summary>Download all GIFs from a user's profile</summary>\n\n```console\n$ mkdir rg_vids\n$ redgifs https://redgifs.com/users/usernamethatexists -f rg_vids\nDownloaded 1/3 GIFs\nDownloaded 2/3 GIFs\n...\nDownloaded 3/3 videos of user usernamethatexists to folder rg_vids sucessfully!\n```\n</details>\n\n#### 2. Synchronous usage:\n```py\nimport redgifs\n\napi = redgifs.API()\napi.login() # Login with temporary token\nresponse = api.search('3D')\nprint(response)\napi.close()\n```\n\n#### 3. Asynchronous usage:\n```py\nimport asyncio\nfrom redgifs.aio import API # note this\n\nasync def main():\n api = API()\n await api.login() # Login with temporary token\n response = await api.search('3D')\n print(response)\n await api.close()\n\nloop = asyncio.get_event_loop()\nloop.run_until_complete(main())\n```\n\nMore examples can be found in the examples directory.\n\n-----\n\n### Links\n- [Documentation](https://redgifs.readthedocs.io)\n- [Discord](https://discord.gg/NtAJMCcTd4)\n- [Examples](https://github.com/scrazzz/redgifs/tree/main/examples)\n",
"bugtrack_url": null,
"license": "The MIT License (MIT)\n \n Copyright (c) 2022-present scrazzz\n \n Permission is hereby granted, free of charge, to any person obtaining a\n copy of this software and associated documentation files (the \"Software\"),\n to deal in the Software without restriction, including without limitation\n the rights to use, copy, modify, merge, publish, distribute, sublicense,\n and/or sell copies of the Software, and to permit persons to whom the\n Software is furnished to do so, subject to the following conditions:\n \n The above copyright notice and this permission notice shall be included in\n all copies or substantial portions of the Software.\n \n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\n DEALINGS IN THE SOFTWARE.",
"summary": "Async and Sync Python Wrapper for the RedGIFs API.",
"version": "2.3.0",
"project_urls": {
"Changelogs": "https://redgifs.rtfd.io/en/stable/changelogs.html",
"Documentation": "https://redgifs.rtfd.io/en/stable/",
"Issues": "https://github.com/scrazzz/redgifs/issues",
"Repository": "https://github.com/scrazzz/redgifs"
},
"split_keywords": [
"redgifs",
" api",
" python",
" cli",
" async",
" sync",
" aiohttp",
" requests"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "1fb6c1267aa62930d7b9aff8b2be254d5f26964e9949a8c30234082290d7e1a0",
"md5": "b704af8e82e90875665d45ebe9567d6c",
"sha256": "fdfbff8b236e42a48ad980106ffeb7dbe818270bbf7625f41c223359d94422fd"
},
"downloads": -1,
"filename": "redgifs-2.3.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "b704af8e82e90875665d45ebe9567d6c",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 120037,
"upload_time": "2025-07-20T06:23:21",
"upload_time_iso_8601": "2025-07-20T06:23:21.835782Z",
"url": "https://files.pythonhosted.org/packages/1f/b6/c1267aa62930d7b9aff8b2be254d5f26964e9949a8c30234082290d7e1a0/redgifs-2.3.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "02f0da7c0917a0ec81f4c75f5ab9eab3b8152522afc5afdd6dba733d0a86a3fd",
"md5": "bca94bff079581138f89fb3acdc47371",
"sha256": "eec068095047564a80831b88551b817f43e9ed587bc914fd5ea6136f0e5fded9"
},
"downloads": -1,
"filename": "redgifs-2.3.0.tar.gz",
"has_sig": false,
"md5_digest": "bca94bff079581138f89fb3acdc47371",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 107929,
"upload_time": "2025-07-20T06:23:23",
"upload_time_iso_8601": "2025-07-20T06:23:23.417294Z",
"url": "https://files.pythonhosted.org/packages/02/f0/da7c0917a0ec81f4c75f5ab9eab3b8152522afc5afdd6dba733d0a86a3fd/redgifs-2.3.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-20 06:23:23",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "scrazzz",
"github_project": "redgifs",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "requests",
"specs": [
[
">=",
"2.25.0"
]
]
},
{
"name": "aiohttp",
"specs": [
[
">=",
"3.6.0"
],
[
"<",
"4"
]
]
},
{
"name": "click",
"specs": [
[
">=",
"8"
]
]
}
],
"lcname": "redgifs"
}