-
Notifications
You must be signed in to change notification settings - Fork 16
Expand file tree
/
Copy pathpyproject.toml
More file actions
125 lines (106 loc) · 2.99 KB
/
pyproject.toml
File metadata and controls
125 lines (106 loc) · 2.99 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
[build-system]
requires = ["setuptools>=77.0"]
build-backend = "setuptools.build_meta"
# Load setuptools info and dynamic version
[tool.setuptools]
packages = [
"fortnite_api",
"fortnite_api.cosmetics",
"fortnite_api.cosmetics.variants",
]
[tool.setuptools.dynamic]
version = { attr = "fortnite_api.__version__" }
dependencies = { file = "requirements.txt" }
[tool.setuptools.package-data]
fortnite_api = ["py.typed"]
# And specify project specific metadata
[project]
name = "fortnite-api"
dynamic = ["version", "dependencies"]
authors = [
{ name = "Luc1412", email = 'Luc1412.lh@gmail.com' },
{ name = "Trevor Flahardy", email = "trevorflahardy@gmail.com" },
]
description = "A python wrapper for Fortnite-API.com"
readme = "README.md"
requires-python = ">=3.10.0"
license = "MIT"
keywords = [
'fortnite',
'fortnite-api.com',
'shop',
'cosmetics',
'fortnite api',
'fortnite shop',
]
classifiers = [
'Intended Audience :: Developers',
'Natural Language :: English',
'Operating System :: OS Independent',
'Programming Language :: Python :: 3.10',
'Programming Language :: Python :: 3.11',
'Programming Language :: Python :: 3.12',
'Programming Language :: Python :: 3.13',
'Programming Language :: Python :: 3.14',
'Topic :: Internet',
'Topic :: Software Development :: Libraries',
'Topic :: Software Development :: Libraries :: Python Modules',
'Topic :: Utilities',
]
[project.optional-dependencies]
tests = [
'pytest~=8.4',
'pytest-asyncio~=1.2',
'pytest-cov~=7.0',
'python-dotenv~=1.2',
'pytest-mock~=3.15',
]
docs = [
'sphinx~=8.1',
'sphinx-copybutton~=0.5.0',
'sphinxcontrib-trio~=1.1',
'sphinxcontrib-websupport~=2.0',
'furo~=2025.9',
]
dev = ['ruff==0.14.3', 'discord.py~=2.6', 'pyright~=1.1.407', 'pre-commit~=4.3']
speed = ['orjson']
[project.urls]
"Home Page" = "https://github.com/Fortnite-API/py-wrapper"
Issues = "https://github.com/Fortnite-API/py-wrapper/issues"
Documentation = "https://fortnite-api.readthedocs.io/en/rewrite/"
# Pytest configuration
[tool.pytest.ini_options]
asyncio_mode = "strict"
testpaths = ["tests"]
addopts = "--import-mode=importlib"
log_cli = true
log_cli_level = "INFO"
log_cli_format = "%(asctime)s [%(levelname)8s] %(message)s (%(filename)s:%(lineno)s)"
log_cli_date_format = "%Y-%m-%d %H:%M:%S"
# Pyright configuration
[tool.pyright]
typeCheckingMode = "strict"
reportUnnecessaryTypeIgnoreComment = "error"
reportUnusedImport = "error"
pythonVersion = "3.10"
reportPrivateUsage = "none"
exclude = ["**/__pycache__", "build", "dist", "docs"]
include = ["fortnite_api/", "tests/", "examples/"]
venvPath = "."
venv = ".venv"
# Ruff formatting
[tool.ruff]
# Allow lines to be as long as 120.
line-length = 120
[tool.ruff.format]
# Prefer single quotes over double quotes.
quote-style = "preserve"
[tool.ruff.lint]
select = [
"I", # Isort
"UP", # Pyupgrade
]
[tool.ruff.lint.isort]
combine-as-imports = true
[tool.ruff.lint.pyupgrade]
keep-runtime-typing = true