mirror of
https://github.com/Rapptz/discord.py.git
synced 2025-04-20 16:00:29 +00:00
This unfortunately required splitting the types into two. This led to a lot of unfortunate code duplication that I didn't really enjoy writing. The new design allows users to pass an authentication token to make webhook requests without the webhook token and allows to finally edit the webhook channel. The new design also uses a contextvar to store rate limiting information so multiple instances or recreating instances no longer clears the ratelimiting state since it's now essentially a "global" object. Closes #6525, closes #6662, closes #2509, closes #1761
76 lines
2.5 KiB
Python
76 lines
2.5 KiB
Python
from setuptools import setup
|
|
import re
|
|
|
|
requirements = []
|
|
with open('requirements.txt') as f:
|
|
requirements = f.read().splitlines()
|
|
|
|
version = ''
|
|
with open('discord/__init__.py') as f:
|
|
version = re.search(r'^__version__\s*=\s*[\'"]([^\'"]*)[\'"]', f.read(), re.MULTILINE).group(1)
|
|
|
|
if not version:
|
|
raise RuntimeError('version is not set')
|
|
|
|
if version.endswith(('a', 'b', 'rc')):
|
|
# append version identifier based on commit count
|
|
try:
|
|
import subprocess
|
|
p = subprocess.Popen(['git', 'rev-list', '--count', 'HEAD'],
|
|
stdout=subprocess.PIPE, stderr=subprocess.PIPE)
|
|
out, err = p.communicate()
|
|
if out:
|
|
version += out.decode('utf-8').strip()
|
|
p = subprocess.Popen(['git', 'rev-parse', '--short', 'HEAD'],
|
|
stdout=subprocess.PIPE, stderr=subprocess.PIPE)
|
|
out, err = p.communicate()
|
|
if out:
|
|
version += '+g' + out.decode('utf-8').strip()
|
|
except Exception:
|
|
pass
|
|
|
|
readme = ''
|
|
with open('README.rst') as f:
|
|
readme = f.read()
|
|
|
|
extras_require = {
|
|
'voice': ['PyNaCl>=1.3.0,<1.5'],
|
|
'docs': [
|
|
'sphinx==3.5.3',
|
|
'sphinxcontrib_trio==1.1.2',
|
|
'sphinxcontrib-websupport',
|
|
]
|
|
}
|
|
|
|
setup(name='discord.py',
|
|
author='Rapptz',
|
|
url='https://github.com/Rapptz/discord.py',
|
|
project_urls={
|
|
"Documentation": "https://discordpy.readthedocs.io/en/latest/",
|
|
"Issue tracker": "https://github.com/Rapptz/discord.py/issues",
|
|
},
|
|
version=version,
|
|
packages=['discord', 'discord.types', 'discord.webhook', 'discord.ext.commands', 'discord.ext.tasks'],
|
|
license='MIT',
|
|
description='A Python wrapper for the Discord API',
|
|
long_description=readme,
|
|
long_description_content_type="text/x-rst",
|
|
include_package_data=True,
|
|
install_requires=requirements,
|
|
extras_require=extras_require,
|
|
python_requires='>=3.8.0',
|
|
classifiers=[
|
|
'Development Status :: 5 - Production/Stable',
|
|
'License :: OSI Approved :: MIT License',
|
|
'Intended Audience :: Developers',
|
|
'Natural Language :: English',
|
|
'Operating System :: OS Independent',
|
|
'Programming Language :: Python :: 3.8',
|
|
'Programming Language :: Python :: 3.9',
|
|
'Topic :: Internet',
|
|
'Topic :: Software Development :: Libraries',
|
|
'Topic :: Software Development :: Libraries :: Python Modules',
|
|
'Topic :: Utilities',
|
|
]
|
|
)
|