diff options
Diffstat (limited to 'python-pincer.spec')
| -rw-r--r-- | python-pincer.spec | 661 |
1 files changed, 661 insertions, 0 deletions
diff --git a/python-pincer.spec b/python-pincer.spec new file mode 100644 index 0000000..5d34d04 --- /dev/null +++ b/python-pincer.spec @@ -0,0 +1,661 @@ +%global _empty_manifest_terminate_build 0 +Name: python-pincer +Version: 0.16.1 +Release: 1 +Summary: Discord API wrapper rebuilt from scratch. +License: MIT +URL: https://pincer.dev +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/2c/79/6f6e8914c7ba4e8ef709728004c81e30a991c693297c9d18be89080ef81e/pincer-0.16.1.tar.gz +BuildArch: noarch + +Requires: python3-Brotli +Requires: python3-Pillow +Requires: python3-aiodns +Requires: python3-aiohttp +Requires: python3-cchardet +Requires: python3-orjson +Requires: python3-types-Pillow + +%description +# Pincer + +[](https://pypi.org/project/Pincer) + + + +[](https://scrutinizer-ci.com/g/Pincer-org/pincer/?branch=main) +[](https://scrutinizer-ci.com/g/Pincer-org/Pincer/build-status/main) +[](https://pincer.readthedocs.io/en/latest/?badge=latest) +[](https://codecov.io/gh/Pincer-org/Pincer) + + + + + + +[](https://github.com/psf/black) + + +## :pushpin: Links + +> <img src="../assets/svg/discord.svg" width="16px" alt="Discord Logo"> |Join the Discord server: https://discord.gg/pincer <br> +> <img src="../assets/svg/pypi.svg" width="16px" alt="PyPI Logo"> |The PyPI package: https://pypi.org/project/Pincer <br> +> <img src="../assets/svg/pincer.svg" width="16px" alt="Pincer Logo"> |Our website: https://pincer.dev <br> +> 📝 | ReadTheDocs: https://pincer.readthedocs.io + +## ☄️ Installation + +Use the following command to install Pincer into your Python environment: + +```sh +pip install pincer +``` + +To install our version with Aiohttp Speedup, use: + +```sh +pip install pincer[speed] +``` + +<details> + +<summary> + ⚙️ <i> Didn't work?</i> +</summary> + +Depending on your Python installation, you might need to use one of the +following: + +- Python is not in PATH + + ```sh + path/to/python.exe -m pip install pincer + ``` + +- Python is in PATH but pip is not + + ```sh + python -m pip install pincer + ``` + +- Unix systems can use pip3/python3 commands + + ```sh + pip3 install pincer + ``` + + ```sh + python3 -m pip install pincer + ``` + +- Using multiple Python versions + + ```sh + py -m pip install pincer + ``` + +</details> + +**Client base class example:** + +```py +from pincer.client import Bot + +# Note that both `Bot` and `Client` are valid! +bot = Bot("YOUR_TOKEN_HERE") +bot.run() +``` + +**An example on the `on_ready` event** + +Pincer bots are required to inherit from the Client. + +```py +from time import perf_counter +from pincer import Client + +marker = perf_counter() + + +class Bot(Client): + + @Client.event + async def on_ready(): + print(f"Logged in as {client.bot} after {perf_counter() - marker} seconds") + + +client = Bot("YOUR_TOKEN_HERE") +client.run() +``` + +### Interactions + +Pincer makes developing application commands intuitive and fast. + +```py +from typing import Annotation # python 3.9+ +from typing_extensions import Annotation # python 3.8 + +from pincer import Client +from pincer.commands import command, CommandArg, Description +from pincer.objects import UserMessage, User + + +class Bot(Client): + @Client.event + async def on_ready(self) -> None: + ... + + @command(description="Say something as the bot!") + async def say(self, message: str): + return message + + @user_command + async def user_command(self, user: User): + return f"The user is {user}" + + @message_command(name="Message command") + async def message_command(self, message: UserMessage): + return f"The message read '{message.content}'" + + @command(description="Add two numbers!") + async def add( + self, + first: Annotation[int, Description("The first number")], + second: Annotation[int, Description("The second number")] + ): + return f"The addition of `{first}` and `{second}` is `{first + second}`" + + +``` + +For more examples, you can take a look at the examples folder or check out our +bot: + +> <https://github.com/Pincer-org/Pincer-bot> + +You can also read the interactions guide for more information: +> <https://docs.pincer.dev/en/latest/interactions.html> + +### Advanced Usage + +#### Enable the debug mode + +_If you want to see everything that is happening under the hood, either out of +curiosity or to get a deeper insight into the implementation of some features, +we provide debug logging!_ + +```py +import logging + +logging.basicConfig(level=logging.DEBUG) +``` + +#### Middleware + +_The middleware system was introduced in version `0.4.0-dev`. This system gives you the +freedom to create custom events and remove the already existing middleware created by +the developers. Your custom middleware directly receives the payload from +Discord. You can't do anything wrong without accessing the `override` attribute, but if +you do access it, the Pincer team will not provide any support for weird behavior. +So, in short, only use this if you know what you're doing. An example of using +the middleware system with a custom `on_ready` event can be found +[in our docs](https://pincer.readthedocs.io/en/latest/pincer.html#pincer.client.middleware). +._ + +## 🏷️ License + +`© 2021 copyright Pincer` + +This repository is licensed under the MIT License. + +See LICENSE for details. + + + +%package -n python3-pincer +Summary: Discord API wrapper rebuilt from scratch. +Provides: python-pincer +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-pincer +# Pincer + +[](https://pypi.org/project/Pincer) + + + +[](https://scrutinizer-ci.com/g/Pincer-org/pincer/?branch=main) +[](https://scrutinizer-ci.com/g/Pincer-org/Pincer/build-status/main) +[](https://pincer.readthedocs.io/en/latest/?badge=latest) +[](https://codecov.io/gh/Pincer-org/Pincer) + + + + + + +[](https://github.com/psf/black) + + +## :pushpin: Links + +> <img src="../assets/svg/discord.svg" width="16px" alt="Discord Logo"> |Join the Discord server: https://discord.gg/pincer <br> +> <img src="../assets/svg/pypi.svg" width="16px" alt="PyPI Logo"> |The PyPI package: https://pypi.org/project/Pincer <br> +> <img src="../assets/svg/pincer.svg" width="16px" alt="Pincer Logo"> |Our website: https://pincer.dev <br> +> 📝 | ReadTheDocs: https://pincer.readthedocs.io + +## ☄️ Installation + +Use the following command to install Pincer into your Python environment: + +```sh +pip install pincer +``` + +To install our version with Aiohttp Speedup, use: + +```sh +pip install pincer[speed] +``` + +<details> + +<summary> + ⚙️ <i> Didn't work?</i> +</summary> + +Depending on your Python installation, you might need to use one of the +following: + +- Python is not in PATH + + ```sh + path/to/python.exe -m pip install pincer + ``` + +- Python is in PATH but pip is not + + ```sh + python -m pip install pincer + ``` + +- Unix systems can use pip3/python3 commands + + ```sh + pip3 install pincer + ``` + + ```sh + python3 -m pip install pincer + ``` + +- Using multiple Python versions + + ```sh + py -m pip install pincer + ``` + +</details> + +**Client base class example:** + +```py +from pincer.client import Bot + +# Note that both `Bot` and `Client` are valid! +bot = Bot("YOUR_TOKEN_HERE") +bot.run() +``` + +**An example on the `on_ready` event** + +Pincer bots are required to inherit from the Client. + +```py +from time import perf_counter +from pincer import Client + +marker = perf_counter() + + +class Bot(Client): + + @Client.event + async def on_ready(): + print(f"Logged in as {client.bot} after {perf_counter() - marker} seconds") + + +client = Bot("YOUR_TOKEN_HERE") +client.run() +``` + +### Interactions + +Pincer makes developing application commands intuitive and fast. + +```py +from typing import Annotation # python 3.9+ +from typing_extensions import Annotation # python 3.8 + +from pincer import Client +from pincer.commands import command, CommandArg, Description +from pincer.objects import UserMessage, User + + +class Bot(Client): + @Client.event + async def on_ready(self) -> None: + ... + + @command(description="Say something as the bot!") + async def say(self, message: str): + return message + + @user_command + async def user_command(self, user: User): + return f"The user is {user}" + + @message_command(name="Message command") + async def message_command(self, message: UserMessage): + return f"The message read '{message.content}'" + + @command(description="Add two numbers!") + async def add( + self, + first: Annotation[int, Description("The first number")], + second: Annotation[int, Description("The second number")] + ): + return f"The addition of `{first}` and `{second}` is `{first + second}`" + + +``` + +For more examples, you can take a look at the examples folder or check out our +bot: + +> <https://github.com/Pincer-org/Pincer-bot> + +You can also read the interactions guide for more information: +> <https://docs.pincer.dev/en/latest/interactions.html> + +### Advanced Usage + +#### Enable the debug mode + +_If you want to see everything that is happening under the hood, either out of +curiosity or to get a deeper insight into the implementation of some features, +we provide debug logging!_ + +```py +import logging + +logging.basicConfig(level=logging.DEBUG) +``` + +#### Middleware + +_The middleware system was introduced in version `0.4.0-dev`. This system gives you the +freedom to create custom events and remove the already existing middleware created by +the developers. Your custom middleware directly receives the payload from +Discord. You can't do anything wrong without accessing the `override` attribute, but if +you do access it, the Pincer team will not provide any support for weird behavior. +So, in short, only use this if you know what you're doing. An example of using +the middleware system with a custom `on_ready` event can be found +[in our docs](https://pincer.readthedocs.io/en/latest/pincer.html#pincer.client.middleware). +._ + +## 🏷️ License + +`© 2021 copyright Pincer` + +This repository is licensed under the MIT License. + +See LICENSE for details. + + + +%package help +Summary: Development documents and examples for pincer +Provides: python3-pincer-doc +%description help +# Pincer + +[](https://pypi.org/project/Pincer) + + + +[](https://scrutinizer-ci.com/g/Pincer-org/pincer/?branch=main) +[](https://scrutinizer-ci.com/g/Pincer-org/Pincer/build-status/main) +[](https://pincer.readthedocs.io/en/latest/?badge=latest) +[](https://codecov.io/gh/Pincer-org/Pincer) + + + + + + +[](https://github.com/psf/black) + + +## :pushpin: Links + +> <img src="../assets/svg/discord.svg" width="16px" alt="Discord Logo"> |Join the Discord server: https://discord.gg/pincer <br> +> <img src="../assets/svg/pypi.svg" width="16px" alt="PyPI Logo"> |The PyPI package: https://pypi.org/project/Pincer <br> +> <img src="../assets/svg/pincer.svg" width="16px" alt="Pincer Logo"> |Our website: https://pincer.dev <br> +> 📝 | ReadTheDocs: https://pincer.readthedocs.io + +## ☄️ Installation + +Use the following command to install Pincer into your Python environment: + +```sh +pip install pincer +``` + +To install our version with Aiohttp Speedup, use: + +```sh +pip install pincer[speed] +``` + +<details> + +<summary> + ⚙️ <i> Didn't work?</i> +</summary> + +Depending on your Python installation, you might need to use one of the +following: + +- Python is not in PATH + + ```sh + path/to/python.exe -m pip install pincer + ``` + +- Python is in PATH but pip is not + + ```sh + python -m pip install pincer + ``` + +- Unix systems can use pip3/python3 commands + + ```sh + pip3 install pincer + ``` + + ```sh + python3 -m pip install pincer + ``` + +- Using multiple Python versions + + ```sh + py -m pip install pincer + ``` + +</details> + +**Client base class example:** + +```py +from pincer.client import Bot + +# Note that both `Bot` and `Client` are valid! +bot = Bot("YOUR_TOKEN_HERE") +bot.run() +``` + +**An example on the `on_ready` event** + +Pincer bots are required to inherit from the Client. + +```py +from time import perf_counter +from pincer import Client + +marker = perf_counter() + + +class Bot(Client): + + @Client.event + async def on_ready(): + print(f"Logged in as {client.bot} after {perf_counter() - marker} seconds") + + +client = Bot("YOUR_TOKEN_HERE") +client.run() +``` + +### Interactions + +Pincer makes developing application commands intuitive and fast. + +```py +from typing import Annotation # python 3.9+ +from typing_extensions import Annotation # python 3.8 + +from pincer import Client +from pincer.commands import command, CommandArg, Description +from pincer.objects import UserMessage, User + + +class Bot(Client): + @Client.event + async def on_ready(self) -> None: + ... + + @command(description="Say something as the bot!") + async def say(self, message: str): + return message + + @user_command + async def user_command(self, user: User): + return f"The user is {user}" + + @message_command(name="Message command") + async def message_command(self, message: UserMessage): + return f"The message read '{message.content}'" + + @command(description="Add two numbers!") + async def add( + self, + first: Annotation[int, Description("The first number")], + second: Annotation[int, Description("The second number")] + ): + return f"The addition of `{first}` and `{second}` is `{first + second}`" + + +``` + +For more examples, you can take a look at the examples folder or check out our +bot: + +> <https://github.com/Pincer-org/Pincer-bot> + +You can also read the interactions guide for more information: +> <https://docs.pincer.dev/en/latest/interactions.html> + +### Advanced Usage + +#### Enable the debug mode + +_If you want to see everything that is happening under the hood, either out of +curiosity or to get a deeper insight into the implementation of some features, +we provide debug logging!_ + +```py +import logging + +logging.basicConfig(level=logging.DEBUG) +``` + +#### Middleware + +_The middleware system was introduced in version `0.4.0-dev`. This system gives you the +freedom to create custom events and remove the already existing middleware created by +the developers. Your custom middleware directly receives the payload from +Discord. You can't do anything wrong without accessing the `override` attribute, but if +you do access it, the Pincer team will not provide any support for weird behavior. +So, in short, only use this if you know what you're doing. An example of using +the middleware system with a custom `on_ready` event can be found +[in our docs](https://pincer.readthedocs.io/en/latest/pincer.html#pincer.client.middleware). +._ + +## 🏷️ License + +`© 2021 copyright Pincer` + +This repository is licensed under the MIT License. + +See LICENSE for details. + + + +%prep +%autosetup -n pincer-0.16.1 + +%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-pincer -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Fri May 05 2023 Python_Bot <Python_Bot@openeuler.org> - 0.16.1-1 +- Package Spec generated |
