Files
Nighthawk42andClaude Opus 4.8 c0a5dc49bf Add PyInstaller/flet-pack build tooling for standalone exes (v2.0.0-alpha)
Add packaging/ with entry scripts and build_exes.py: the CLI is frozen with
PyInstaller (one-file console) and the GUI with `flet pack` (PyInstaller plus
the bundled Flet desktop runtime). Both bundle settings.yaml as data so the
frozen binaries load their defaults via importlib.resources, and the script
zips the results into release/ for upload.

Bump version to 2.0.0a0, gitignore build artifacts (*.exe, *.zip, *.spec,
dist/build/release), add a `build` extra, and document pre-built binaries and
the build process in the README.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-13 21:31:53 -04:00

70 lines
1.7 KiB
TOML

[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "bnet-auth-tool"
version = "2.0.0a0"
description = "Manage Battle.net software authenticators (CLI + optional GUI): attach/retrieve secrets and back up TOTP keys in an encrypted local vault."
readme = "README.md"
requires-python = ">=3.9"
license = { text = "MIT" }
authors = [{ name = "Nighthawk42" }]
keywords = ["battle.net", "blizzard", "authenticator", "totp", "2fa", "mfa", "otp"]
classifiers = [
"Development Status :: 4 - Beta",
"Environment :: Console",
"Intended Audience :: End Users/Desktop",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
"Programming Language :: Python :: 3",
"Topic :: Security :: Cryptography",
"Topic :: Utilities",
]
dependencies = [
"requests>=2.31",
"qrcode[pil]>=7.4",
"cryptography>=42.0",
"PyYAML>=6.0",
"platformdirs>=4.0",
]
[project.optional-dependencies]
gui = [
"flet>=0.28",
]
dev = [
"pytest>=8.0",
"ruff>=0.5",
]
build = [
"flet[all]>=0.28",
"pyinstaller>=6.0",
]
[project.urls]
Homepage = "https://github.com/Nighthawk42/bnet_auth_tool"
Repository = "https://github.com/Nighthawk42/bnet_auth_tool"
Issues = "https://github.com/Nighthawk42/bnet_auth_tool/issues"
[project.scripts]
bnet-auth = "bnet_auth_tool.cli:main"
bnet-auth-gui = "bnet_auth_tool.gui:main"
[tool.hatch.build.targets.wheel]
packages = ["src/bnet_auth_tool"]
[tool.ruff]
line-length = 100
target-version = "py39"
src = ["src", "tests"]
[tool.ruff.lint]
select = ["E", "F", "I", "UP", "B", "SIM", "C4"]
ignore = ["E501"]
[tool.pytest.ini_options]
testpaths = ["tests"]
addopts = "-ra"