[build-system] requires = ["setuptools>=65.0", "wheel"] build-backend = "setuptools.build_meta" [project] name = "webdrop-bridge" version = "1.0.0" description = "Professional Qt-based desktop bridge application converting web drag-and-drop to native file operations for InDesign, Word, and other desktop applications" readme = "README.md" requires-python = ">=3.9" license = {text = "MIT"} authors = [ {name = "WebDrop Team", email = "dev@webdrop.local"} ] keywords = ["qt", "pyside6", "drag-drop", "desktop", "automation"] classifiers = [ "Development Status :: 3 - Alpha", "Environment :: X11 Applications :: Qt", "Intended Audience :: End Users/Desktop", "License :: OSI Approved :: MIT License", "Operating System :: Microsoft :: Windows :: Windows 10", "Operating System :: Microsoft :: Windows :: Windows 11", "Operating System :: MacOS :: MacOS 12", "Operating System :: MacOS :: MacOS 13", "Operating System :: MacOS :: MacOS 14", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.9", "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 :: Desktop Environment", "Topic :: Utilities", ] dependencies = [ "PySide6>=6.6.0", "PyYAML>=6.0", "python-dotenv>=1.0.0", ] [project.optional-dependencies] dev = [ "pytest>=7.4.0", "pytest-cov>=4.1.0", "pytest-qt>=4.2.0", "black>=23.0.0", "ruff>=0.1.0", "mypy>=1.5.0", "isort>=5.12.0", ] build = [ "pyinstaller>=6.0.0", "py2exe>=0.12.0; sys_platform == 'win32'", ] docs = [ "sphinx>=7.0.0", "sphinx-rtd-theme>=1.3.0", ] [project.urls] Homepage = "https://github.com/yourusername/webdrop-bridge" Documentation = "https://webdrop-bridge.readthedocs.io" Repository = "https://github.com/yourusername/webdrop-bridge.git" "Bug Tracker" = "https://github.com/yourusername/webdrop-bridge/issues" [project.scripts] webdrop-bridge = "webdrop_bridge.main:main" [tool.setuptools] packages = ["webdrop_bridge"] package-dir = {"" = "src"} [tool.setuptools.package-data] webdrop_bridge = [ "resources/**/*", "webapp/**/*", ] [tool.black] line-length = 100 target-version = ["py310", "py311", "py312"] extend-exclude = ''' /( | \.git | \.venv | build | dist )/ ''' [tool.isort] profile = "black" line_length = 100 skip_gitignore = true [tool.mypy] python_version = "3.10" strict = true warn_return_any = true warn_unused_configs = true ignore_missing_imports = true [[tool.mypy.overrides]] module = "PySide6.*" ignore_missing_imports = true [tool.pytest.ini_options] minversion = "7.0" testpaths = ["tests"] addopts = [ "-v", "--cov=src/webdrop_bridge", "--cov-report=html", "--cov-report=term-missing", ] filterwarnings = [ "ignore::DeprecationWarning", "ignore::PendingDeprecationWarning", ] [tool.coverage.run] source = ["src/webdrop_bridge"] omit = [ "*/tests/*", "*/site-packages/*", "*/__init__.py", ] [tool.coverage.report] exclude_lines = [ "pragma: no cover", "def __repr__", "raise AssertionError", "raise NotImplementedError", "if __name__ == .__main__.:", "if TYPE_CHECKING:", ]