forked from Rapptz/discord.py
-
Notifications
You must be signed in to change notification settings - Fork 170
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
3 changed files
with
113 additions
and
107 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,93 @@ | ||
[build-system] | ||
requires = ["setuptools", "wheel"] | ||
requires = ["setuptools"] | ||
build-backend = "setuptools.build_meta" | ||
|
||
[project] | ||
name = "discord.py-self" | ||
description = "A Python wrapper for the Discord user API" | ||
readme = { file = "README.rst", content-type = "text/x-rst" } | ||
license = { file = "LICENSE" } | ||
requires-python = ">=3.8" | ||
authors = [{ name = "Dolfies", email = "[email protected]" }] | ||
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", | ||
"Programming Language :: Python :: 3.10", | ||
"Programming Language :: Python :: 3.11", | ||
"Programming Language :: Python :: 3.12", | ||
"Programming Language :: Python :: 3.13", | ||
"Topic :: Internet", | ||
"Topic :: Software Development :: Libraries", | ||
"Topic :: Software Development :: Libraries :: Python Modules", | ||
"Topic :: Utilities", | ||
"Typing :: Typed", | ||
] | ||
dynamic = ["version", "dependencies"] | ||
|
||
[project.urls] | ||
Documentation = "https://discordpy-self.readthedocs.io/en/latest/" | ||
"Issue tracker" = "https://github.com/dolfies/discord.py-self/issues" | ||
"Project updates" = "https://t.me/dpy_self" | ||
"Discussion & support" = "https://t.me/dpy_self_discussions" | ||
|
||
[tool.setuptools.dynamic] | ||
dependencies = { file = "requirements.txt" } | ||
|
||
[project.optional-dependencies] | ||
voice = ["PyNaCl>=1.3.0,<1.6"] | ||
docs = [ | ||
"sphinx==4.4.0", | ||
"sphinxcontrib_trio==1.1.2", | ||
# TODO: bump these when migrating to a newer Sphinx version | ||
"sphinxcontrib-websupport==1.2.4", | ||
"sphinxcontrib-applehelp==1.0.4", | ||
"sphinxcontrib-devhelp==1.0.2", | ||
"sphinxcontrib-htmlhelp==2.0.1", | ||
"sphinxcontrib-jsmath==1.0.1", | ||
"sphinxcontrib-qthelp==1.0.3", | ||
"sphinxcontrib-serializinghtml==1.1.5", | ||
"typing-extensions>=4.3,<5", | ||
"sphinx-inline-tabs==2023.4.21", | ||
# TODO: Remove this when moving to Sphinx >= 6.6 | ||
"imghdr-lts==1.0.0; python_version>='3.13'", | ||
] | ||
speed = [ | ||
"orjson>=3.5.4", | ||
"aiodns>=1.1; sys_platform != 'win32'", | ||
"Brotli", | ||
"cchardet==2.1.7; python_version < '3.10'", | ||
"mmh3>=2.5", | ||
"zstandard>=0.23.0", | ||
] | ||
test = [ | ||
"coverage[toml]", | ||
"pytest", | ||
"pytest-asyncio", | ||
"pytest-cov", | ||
"pytest-mock", | ||
"typing-extensions>=4.3,<5", | ||
"tzdata; sys_platform == 'win32'", | ||
] | ||
dev = [ | ||
"black==22.6", | ||
"typing_extensions>=4.3,<5", | ||
] | ||
|
||
[tool.setuptools] | ||
packages = [ | ||
"discord", | ||
"discord.types", | ||
"discord.webhook", | ||
"discord.ext.commands", | ||
"discord.ext.tasks", | ||
] | ||
include-package-data = true | ||
|
||
[tool.black] | ||
line-length = 125 | ||
skip-string-normalization = true | ||
|
@@ -17,7 +103,7 @@ omit = [ | |
[tool.coverage.report] | ||
exclude_lines = [ | ||
"pragma: no cover", | ||
"@overload" | ||
"@overload", | ||
] | ||
|
||
[tool.isort] | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,111 +1,31 @@ | ||
from setuptools import setup, find_packages | ||
from setuptools import setup | ||
import re | ||
|
||
prefix = 'discord' # This will be changed with regular expressions if necessary | ||
def derive_version() -> str: | ||
version = '' | ||
with open('discord/__init__.py') as f: | ||
version = re.search(r'^__version__\s*=\s*[\'"]([^\'"]*)[\'"]', f.read(), re.MULTILINE).group(1) # type: ignore | ||
|
||
requirements = [] | ||
with open('requirements.txt') as f: | ||
requirements = f.read().splitlines() | ||
if not version: | ||
raise RuntimeError('version is not set') | ||
|
||
version = '' | ||
with open(f'{prefix}/__init__.py') as f: | ||
version = re.search(r'^__version__\s*=\s*[\'"]([^\'"]*)[\'"]', f.read(), re.MULTILINE).group(1) | ||
if version.endswith(('a', 'b', 'rc')): | ||
# append version identifier based on commit count | ||
try: | ||
import subprocess | ||
|
||
if not version: | ||
raise RuntimeError('version is not set') | ||
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 | ||
|
||
if version.endswith(('a', 'b', 'rc')): | ||
# append version identifier based on commit count | ||
try: | ||
import subprocess | ||
return version | ||
|
||
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.6'], | ||
'docs': [ | ||
'sphinx==4.4.0', | ||
'sphinxcontrib_trio==1.1.2', | ||
# TODO: bump these when migrating to a newer Sphinx version | ||
'sphinxcontrib-websupport==1.2.4', | ||
'sphinxcontrib-applehelp==1.0.4', | ||
'sphinxcontrib-devhelp==1.0.2', | ||
'sphinxcontrib-htmlhelp==2.0.1', | ||
'sphinxcontrib-jsmath==1.0.1', | ||
'sphinxcontrib-qthelp==1.0.3', | ||
'sphinxcontrib-serializinghtml==1.1.5', | ||
'typing-extensions>=4.3,<5', | ||
'sphinx-inline-tabs==2023.4.21', | ||
], | ||
'speed': [ | ||
'orjson>=3.5.4', | ||
'aiodns>=1.1; sys_platform != "win32"', | ||
'Brotli', | ||
'cchardet==2.1.7; python_version < "3.10"', | ||
'mmh3>=2.5', | ||
'zstandard>=0.23.0', | ||
], | ||
'test': [ | ||
'coverage[toml]', | ||
'pytest', | ||
'pytest-asyncio', | ||
'pytest-cov', | ||
'pytest-mock', | ||
'typing-extensions>=4.3,<5', | ||
'tzdata; sys_platform == "win32"', | ||
], | ||
} | ||
|
||
setup( | ||
name='discord.py-self' if prefix == 'discord' else f'{prefix}.py', | ||
author='Dolfies', | ||
author_email='[email protected]', | ||
url='https://github.com/dolfies/discord.py-self', | ||
project_urls={ | ||
'Documentation': 'https://discordpy-self.readthedocs.io/en/latest/', | ||
'Issue tracker': 'https://github.com/dolfies/discord.py-self/issues', | ||
'Project updates': 'https://t.me/dpy_self', | ||
'Discussion & support': 'https://t.me/dpy_self_discussions', | ||
}, | ||
version=version, | ||
packages=find_packages() + [f'{prefix}.ext.commands', f'{prefix}.ext.tasks'], | ||
license='MIT', | ||
description='A Python wrapper for the Discord user 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', | ||
'Programming Language :: Python :: 3.10', | ||
'Programming Language :: Python :: 3.11', | ||
'Programming Language :: Python :: 3.12', | ||
'Programming Language :: Python :: 3.13', | ||
'Topic :: Internet', | ||
'Topic :: Software Development :: Libraries', | ||
'Topic :: Software Development :: Libraries :: Python Modules', | ||
'Topic :: Utilities', | ||
'Typing :: Typed', | ||
], | ||
) | ||
setup(version=derive_version()) |