Skip to content

Commit 3ef1021

Browse files
authored
Merge pull request #277 from davidhozic/feat/pyproject.toml
pyproject.toml build configuration
2 parents bf1c785 + cf02cfb commit 3ef1021

File tree

9 files changed

+88
-71
lines changed

9 files changed

+88
-71
lines changed

pyproject.toml

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
[build-system]
2+
requires = [
3+
"setuptools>=62.6,<66",
4+
"setuptools-scm>=6.2,<8",
5+
"wheel",
6+
]
7+
build-backend = "setuptools.build_meta"
8+
9+
[project]
10+
name = "discord-advert-framework"
11+
authors = [
12+
{name = "David Hozic"}
13+
]
14+
description = "Framework for periodic advertisements on Discord"
15+
readme = "README.rst"
16+
requires-python = ">=3.10"
17+
keywords = ["Discord", "Advertising", "Framework", "NFT", "Shilling"]
18+
classifiers = [
19+
"Programming Language :: Python :: 3",
20+
"License :: OSI Approved :: MIT License",
21+
"Operating System :: OS Independent",
22+
]
23+
24+
dynamic = ["dependencies", "optional-dependencies", "version"]
25+
26+
[tool.setuptools]
27+
include-package-data = true
28+
29+
[tool.setuptools.dynamic]
30+
dependencies = {file = "requirements/mandatory.txt"}
31+
version = {attr = "daf.VERSION"}
32+
33+
[tool.setuptools.dynamic.optional-dependencies]
34+
docs = {file = "requirements/docs.txt"}
35+
voice = {file = "requirements/voice.txt"}
36+
sql = {file = "requirements/sql.txt"}
37+
testing = {file = "requirements/testing.txt"}
38+
web = {file = "requirements/web.txt"}
39+
[tool.setuptools.dynamic.optional-dependencies.all]
40+
file = [
41+
"requirements/voice.txt",
42+
"requirements/sql.txt",
43+
"requirements/web.txt"
44+
]
45+
46+
47+
48+
[tool.setuptools.packages.find]
49+
where = [
50+
"src"
51+
]

requirements/docs.txt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
sphinx
2+
sphinx-autobuild
3+
sphinx-copybutton
4+
furo
5+
enum-tools[sphinx]
6+
sphinx-design[furo]
7+
readthedocs-sphinx-search
8+
sphinxcontrib-svg2pdfconverter

requirements/mandatory.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
aiohttp>=3.6.0,<3.9.0
2+
aiohttp_socks
3+
typeguard
4+
typing_extensions>=4,<5; python_version < "3.11"

requirements/sql.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
sqlalchemy[asyncio]>=2.0
2+
aiosqlite
3+
pymssql
4+
asyncpg
5+
asyncmy

requirements/testing.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
pytest
2+
pytest-asyncio

requirements/voice.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
PyNaCl
2+
yt-dlp

requirements/web.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
selenium
2+
undetected-chromedriver

setup.py

Lines changed: 0 additions & 69 deletions
This file was deleted.

src/daf/__init__.py

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
"""
22
Discord Advertisement Framework
3-
4-
Version 2.5
53
"""
64
import _discord as discord
75
from .client import *
@@ -15,3 +13,17 @@
1513
from .misc import DOCUMENTATION_MODE
1614
if DOCUMENTATION_MODE:
1715
from .misc import *
16+
17+
import os
18+
# Parse version
19+
gh_release = os.environ.get("GITHUB_REF_NAME", default=None) # Workflow run release
20+
readthedocs_release = os.environ.get("READTHEDOCS_VERSION", default=None) # Readthe docs version
21+
22+
VERSION = "v0.0.1"
23+
if gh_release is not None:
24+
VERSION = gh_release
25+
elif readthedocs_release is not None:
26+
VERSION = readthedocs_release
27+
28+
VERSION = VERSION.removeprefix("v")
29+
del os

0 commit comments

Comments
 (0)