-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathpyproject.toml
More file actions
94 lines (85 loc) · 1.94 KB
/
pyproject.toml
File metadata and controls
94 lines (85 loc) · 1.94 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
[build-system]
requires = ["setuptools>=80.10.2"]
build-backend = "setuptools.build_meta"
[project]
name = "switchcraft"
version = "2026.2.0.dev0+1efea0e"
description = "A comprehensive enterprise IT platform for software packaging, analysis, and Intune management."
readme = "README.md"
authors = [{ name = "FaserF" }]
license = "MIT"
classifiers = [
"Programming Language :: Python",
"Programming Language :: Python :: 3",
]
keywords = ["installer", "silent-install", "automation", "winget", "msi", "exe"]
dependencies = [
"pefile",
"olefile",
"requests",
"click",
"rich",
"PyYAML",
"defusedxml",
"PyJWT",
"anyio>=4.12.1",
"urllib3>=2.6.3,<3",
"packaging"
]
requires-python = ">=3.14.3"
[project.optional-dependencies]
gui = [
"customtkinter",
"tkinterdnd2",
"pillow",
"plyer"
]
modern = ["flet==0.80.4", "flet-desktop==0.80.4", "flet-charts==0.80.4"]
test = [
"pytest==9.0.2",
"flet-charts==0.80.4",
"httpx>=0.28.1",
"pytest-timeout"
]
build = [
"pyinstaller==6.18.0"
]
desktop = [
"winotify",
"py7zr",
"keyring"
]
web-server = [
"fastapi",
"uvicorn",
"python-multipart",
"jinja2",
"itsdangerous",
"bcrypt<=5.0.0",
"passlib[bcrypt]",
"pyotp", # Verified for Python 3.14
"webauthn"
]
ai = [
"openai",
"google-generativeai"
]
[project.scripts]
switchcraft = "switchcraft.main:main"
[project.urls]
Homepage = "https://github.com/FaserF/SwitchCraft"
[tool.setuptools.package-data]
switchcraft = ["assets/**/*", "assets/lang/*.json"]
switchcraft_winget = ["utils/*.json"]
[tool.pytest.ini_options]
testpaths = ["tests"]
pythonpath = ["src"]
python_files = "test_*.py"
python_classes = "Test*"
python_functions = "test_*"
addopts = "--ignore=test_out.txt --ignore=test_output.txt --ignore=test_addons_result.txt -W ignore::ResourceWarning"
timeout = 60
# Flet Web Publishing Configuration
[tool.flet.app]
path = "."
module = "main.py"