[build-system]
requires = [
  "pip",
  "nuitka",
  # https://setuptools-git-versioning.readthedocs.io/en/latest/differences.html
  "setuptools>=64.0.0",
  "setuptools-git-versioning",
  "wheel>=0.37.0",
]
build-backend = "setuptools.build_meta"

[project]
name = "extract_otp_secrets"
# https://pypi.org/classifiers/
classifiers = [
    "Development Status :: 5 - Production/Stable",
    "Environment :: Console",
    "Environment :: X11 Applications :: Qt",
    "Environment :: Win32 (MS Windows)",
    "Topic :: System :: Archiving :: Backup",
    "Topic :: Utilities",
    "Topic :: Security",
    "Topic :: Multimedia :: Graphics :: Capture :: Digital Camera",
    "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",
    "Intended Audience :: End Users/Desktop",
    "Intended Audience :: Developers",
    "Intended Audience :: System Administrators",
    "Programming Language :: Python",
    "Operating System :: POSIX :: Linux",
    "Operating System :: Microsoft :: Windows :: Windows 10",
    "Operating System :: Microsoft :: Windows :: Windows 11",
    "Operating System :: MacOS",
    "Natural Language :: English",
    "License :: OSI Approved :: GNU General Public License v3 (GPLv3)",
    "Typing :: Typed",
]
dependencies = [
  "colorama>=0.4.6",
  "opencv-contrib-python",
  "Pillow",
  "protobuf",
  "pyzbar",
  "qrcode",
  "qreader<2.0.0",
]
description = "Extracts one time password (OTP) secrets from QR codes exported by two-factor authentication (2FA) apps such as 'Google Authenticator'"
dynamic = ["version"]
keywords = ["python", "security", "json", "otp", "csv", "protobuf", "qrcode", "two-factor", "totp", "google-authenticator", "recovery", "proto3", "mfa", "two-factor-authentication", "tfa", "qr-codes", "otpauth", "2fa", "security-tools", "cv2"]
license = {text = "GNU General Public License v3 (GPLv3)"}
readme = "README.md"
authors = [{name = "scito", email = "info@scito.ch"}]
maintainers = [{name = "scito", email = "info@scito.ch"}]
requires-python = ">=3.8, <4"
scripts = {extract_otp_secrets = "extract_otp_secrets:sys_main"}
urls = {Project-URL = "https://github.com/scito/extract_otp_secrets", Bug-Reports = "https://github.com/scito/extract_otp_secrets/issues", Source = "https://github.com/scito/extract_otp_secrets"}

# [tool.setuptools]
# Still in beta, once it is stable move config from setup.cfg to pyproject.toml
# py-modules = ["extract_otp_secrets", "protobuf_generated_python.protobuf_generated_python"]

# [tool.setuptools.dynamic]
# version = {attr = "extract_otp_secrets.VERSION"}

[tool.setuptools-git-versioning]
enabled = true

# https://blog.ionelmc.ro/2014/05/25/python-packaging/#the-structure%3E
# https://docs.pytest.org/en/7.1.x/explanation/goodpractices.html#which-import-mode
[tool.pytest.ini_options]
addopts = [ "--import-mode=importlib", ]
