[build-system] requires = ["hatchling"] build-backend = "hatchling.build" [tool.hatch.build.targets.wheel] packages = ["src"] [project] name = "canrun" version = "2.0.0" description = "CanRun Universal Game Compatibility Checker - RTX/GTX-exclusive G-Assist plugin" readme = "README.md" license = "Apache-2.0" authors = [ { name = "CanRun Development Team" } ] keywords = ["gaming", "compatibility", "performance", "nvidia", "rtx", "gtx", "g-assist"] classifiers = [ "Development Status :: 4 - Beta", "Intended Audience :: End Users/Desktop", "License :: OSI Approved :: Apache Software License", "Operating System :: Microsoft :: Windows", "Programming Language :: Python :: 3", "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", "Topic :: Games/Entertainment", "Topic :: System :: Hardware", ] requires-python = ">=3.8.1" dependencies = [ # System hardware detection "psutil>=5.9.0", "gputil>=1.4.0", "nvidia-ml-py>=12.535.108", "py-cpuinfo>=9.0.0", "pynvml>=11.5.0", "setuptools>=65.0.0", "WMI>=1.5.1;platform_system=='Windows'", "pywin32>=223;platform_system=='Windows'", "pyinstaller>=6.11.0;platform_system=='Windows'", # HTTP requests and async operations "requests>=2.31.0", "aiohttp>=3.8.0", "beautifulsoup4>=4.12.0", # Data processing and utilities "python-dateutil>=2.8.0", "typing-extensions>=4.0.0", # Enhanced features "colorama>=0.4.6", "tqdm>=4.65.0", "torch>=2.5.1", "rise>=5.7.1", "gradio>=4.0.0", ] [project.optional-dependencies] dev = [ "pytest>=7.0.0", "pytest-asyncio>=0.21.0", "black>=23.0.0", "flake8>=6.0.0", "mypy>=1.0.0", "isort>=5.12.0", ] test = [ "pytest>=7.0.0", "pytest-asyncio>=0.21.0", "pytest-cov>=4.0.0", ] [project.urls] Homepage = "https://github.com/canrun/canrun" Repository = "https://github.com/canrun/canrun" Issues = "https://github.com/canrun/canrun/issues" Documentation = "https://github.com/canrun/canrun/blob/main/README.md" [project.scripts] canrun = "plugin:main" [project.entry-points.'nvidia.g-assist.plugins'] canrun = "plugin:main" [project.entry-points.'g-assist.plugins'] canrun = "plugin:main" [tool.uv] dev-dependencies = [ "pytest>=7.0.0", "pytest-asyncio>=0.21.0", "black>=23.0.0", "flake8>=6.0.0", "mypy>=1.0.0", "isort>=5.12.0", ] [tool.black] line-length = 88 target-version = ['py38'] include = '\.pyi?$' extend-exclude = ''' /( \.eggs | \.git | \.hg | \.mypy_cache | \.tox | \.venv | _build | buck-out | build | dist )/ ''' [tool.isort] profile = "black" multi_line_output = 3 line_length = 88 known_first_party = ["src"] [tool.mypy] python_version = "3.8" warn_return_any = true warn_unused_configs = true disallow_untyped_defs = true disallow_incomplete_defs = true check_untyped_defs = true disallow_untyped_decorators = true no_implicit_optional = true warn_redundant_casts = true warn_unused_ignores = true warn_no_return = true warn_unreachable = true strict_equality = true [tool.pytest.ini_options] minversion = "7.0" addopts = "-ra -q --strict-markers" testpaths = [ "test", ] python_files = [ "test_*.py", "*_test.py", ] asyncio_mode = "auto" [tool.coverage.run] source = ["src"] omit = [ "test/*", "*/test_*", ] [tool.coverage.report] exclude_lines = [ "pragma: no cover", "def __repr__", "if self.debug:", "if settings.DEBUG", "raise AssertionError", "raise NotImplementedError", "if 0:", "if __name__ == .__main__.:", "class .*\\bProtocol\\):", "@(abc\\.)?abstractmethod", ]