mirror of
https://github.com/lutris/lutris.git
synced 2026-07-30 15:15:56 -04:00
This allows tools such as uv and pip to install the project dependencies ex. `uv sync --group dev` or `pip install -e .`
147 lines
3.8 KiB
TOML
147 lines
3.8 KiB
TOML
[project]
|
|
name = "lutris"
|
|
version = "0.5.23"
|
|
authors = [
|
|
{name = "Mathieu Comandon", email = "strider@strycore.com"}
|
|
]
|
|
description = """
|
|
Lutris is a video game preservation platform that helps you install and play video games from all eras and from most gaming systems.
|
|
By leveraging and combining existing emulators, engine re-implementations and compatibility layers, it gives you a central interface to launch all your games.
|
|
"""
|
|
readme = "README.md"
|
|
requires-python = ">=3.10"
|
|
|
|
license = "GPL-3.0-or-later"
|
|
license-files = ["LICENSE"]
|
|
dependencies = [
|
|
"PyYAML",
|
|
"lxml",
|
|
"requests",
|
|
"Pillow",
|
|
"setproctitle",
|
|
"python-magic",
|
|
"distro",
|
|
"dbus-python",
|
|
"types-requests",
|
|
"types-PyYAML",
|
|
"evdev",
|
|
"PyGObject",
|
|
"pypresence",
|
|
"protobuf",
|
|
"moddb"
|
|
]
|
|
|
|
[project.urls]
|
|
Homepage = "https://lutris.net/"
|
|
Repository = "https://github.com/lutris/lutris"
|
|
Issues = "https://github.com/lutris/lutris/issues"
|
|
|
|
[dependency-groups]
|
|
dev = [
|
|
"ruff==0.12.1",
|
|
"mypy==1.16.1",
|
|
"mypy-baseline",
|
|
"nose2",
|
|
"pygobject-stubs>=2.17.0"
|
|
]
|
|
|
|
|
|
[tool.mypy]
|
|
python_version = "3.10"
|
|
packages = [
|
|
"lutris",
|
|
"tests",
|
|
]
|
|
exclude = [
|
|
".*_pb2.py", # Any automatically generated protobuf files
|
|
"venv",
|
|
"^build/", # setuptools build output
|
|
]
|
|
disable_error_code = [
|
|
"no-redef", # Allow variable redefinition
|
|
"has-type", # Ignore when variable types cannot be determined.
|
|
"dict-item", # Dictionaries are always fully dynamic
|
|
"var-annotated", # Never require type annotations
|
|
"assignment", # Allow incompatible types in assignment (used heavily in lutris class structure).
|
|
]
|
|
allow_redefinition = true
|
|
follow_imports = "silent"
|
|
ignore_missing_imports = true
|
|
|
|
[tool.mypy-baseline]
|
|
# --baseline-path: the file where the baseline should be stored
|
|
baseline_path = ".mypy_baseline"
|
|
# --depth: cut path names longer than that many directories deep
|
|
depth = 40
|
|
# --allow-unsynced: do not fail for unsynced resolved errors
|
|
allow_unsynced = true
|
|
# --preserve-position: do not remove error position from the baseline
|
|
preserve_position = false
|
|
# --hide-stats: do not show stats and messages at the end
|
|
hide_stats = false
|
|
# --no-colors: do not use colors in stats
|
|
no_colors = false
|
|
# --ignore: regexes for error messages to ignore
|
|
ignore = []
|
|
|
|
[[tool.mypy.overrides]]
|
|
module = [
|
|
"lutris.api",
|
|
"lutris.cache",
|
|
"lutris.config",
|
|
"lutris.database.*",
|
|
"lutris.exception_backstops",
|
|
"lutris.exceptions",
|
|
"lutris.gui.dialogs",
|
|
"lutris.monitored_command",
|
|
"lutris.runners",
|
|
"lutris.scanners.default_installers",
|
|
"lutris.services.mame",
|
|
"lutris.settings",
|
|
"lutris.sysoptions",
|
|
"lutris.util",
|
|
"lutris.util.busy",
|
|
"lutris.util.datapath",
|
|
"lutris.util.discord.base",
|
|
"lutris.util.graphics.*",
|
|
"lutris.util.http",
|
|
"lutris.util.jobs",
|
|
"lutris.util.log",
|
|
"lutris.util.flatpak",
|
|
"lutris.util.retroarch.core_config",
|
|
"lutris.util.settings",
|
|
"lutris.util.standalone_scripts",
|
|
"lutris.util.steam.*",
|
|
"lutris.util.shell",
|
|
"lutris.util.system",
|
|
"lutris.util.timer",
|
|
"lutris.util.ubisoft.consts",
|
|
"lutris.util.urlhandler",
|
|
"lutris.util.wine.d3d_extras",
|
|
"lutris.util.wine.dgvoodoo2",
|
|
"lutris.util.xdgshortcuts",
|
|
"lutris.util.yaml",
|
|
"setup",
|
|
"utils.bios_format",
|
|
"utils.meson_post_install",
|
|
]
|
|
# Equivalent to strict = true for per-module config
|
|
# Use strict = true when https://github.com/python/mypy/issues/11401 is fixed
|
|
check_untyped_defs = true
|
|
disallow_any_generics = true
|
|
disallow_incomplete_defs = true
|
|
disallow_subclassing_any = true
|
|
disallow_untyped_calls = true
|
|
disallow_untyped_decorators = true
|
|
disallow_untyped_defs = true
|
|
extra_checks = true
|
|
no_implicit_reexport = true
|
|
strict_equality = true
|
|
warn_return_any = true
|
|
warn_unused_ignores = true
|
|
|
|
[tool.pyright]
|
|
|
|
typeCheckingMode = "basic"
|
|
reportMissingImports = false
|