mirror of
https://github.com/rommapp/romm.git
synced 2026-03-03 00:37:00 +00:00
start fixing mypy issues
This commit is contained in:
4
.trunk/configs/mypy.ini
Normal file
4
.trunk/configs/mypy.ini
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
[mypy]
|
||||||
|
check_untyped_defs = True
|
||||||
|
disable_error_code = import-untyped
|
||||||
|
exclude = ["tests", "alembic"]
|
||||||
@@ -23,10 +23,8 @@ lint:
|
|||||||
- black@24.4.2
|
- black@24.4.2
|
||||||
- checkov@3.2.98
|
- checkov@3.2.98
|
||||||
- git-diff-check
|
- git-diff-check
|
||||||
# - hadolint@2.12.0
|
|
||||||
- isort@5.13.2
|
- isort@5.13.2
|
||||||
# - markdownlint@0.40.0
|
- mypy@1.10.0
|
||||||
# - mypy@1.10.0
|
|
||||||
- osv-scanner@1.7.3
|
- osv-scanner@1.7.3
|
||||||
- oxipng@9.1.1
|
- oxipng@9.1.1
|
||||||
- prettier@3.2.5
|
- prettier@3.2.5
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ representative at an online or offline event.
|
|||||||
|
|
||||||
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
||||||
reported to the community leaders responsible for enforcement at
|
reported to the community leaders responsible for enforcement at
|
||||||
community@romm.fastmail.com.
|
<community@romm.app>.
|
||||||
All complaints will be reviewed and investigated promptly and fairly.
|
All complaints will be reviewed and investigated promptly and fairly.
|
||||||
|
|
||||||
All community leaders are obligated to respect the privacy and security of the
|
All community leaders are obligated to respect the privacy and security of the
|
||||||
@@ -118,7 +118,7 @@ the community.
|
|||||||
|
|
||||||
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
|
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
|
||||||
version 2.0, available at
|
version 2.0, available at
|
||||||
https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
|
<https://www.contributor-covenant.org/version/2/0/code_of_conduct.html>.
|
||||||
|
|
||||||
Community Impact Guidelines were inspired by [Mozilla's code of conduct
|
Community Impact Guidelines were inspired by [Mozilla's code of conduct
|
||||||
enforcement ladder](https://github.com/mozilla/diversity).
|
enforcement ladder](https://github.com/mozilla/diversity).
|
||||||
@@ -126,5 +126,5 @@ enforcement ladder](https://github.com/mozilla/diversity).
|
|||||||
[homepage]: https://www.contributor-covenant.org
|
[homepage]: https://www.contributor-covenant.org
|
||||||
|
|
||||||
For answers to common questions about this code of conduct, see the FAQ at
|
For answers to common questions about this code of conduct, see the FAQ at
|
||||||
https://www.contributor-covenant.org/faq. Translations are available at
|
<https://www.contributor-covenant.org/faq>. Translations are available at
|
||||||
https://www.contributor-covenant.org/translations.
|
<https://www.contributor-covenant.org/translations>.
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ from tasks.update_switch_titledb import (
|
|||||||
|
|
||||||
|
|
||||||
def conditionally_set_cache(
|
def conditionally_set_cache(
|
||||||
index_key: str, filename: dict, parent_dir: str = os.path.dirname(__file__)
|
index_key: str, filename: str, parent_dir: str = os.path.dirname(__file__)
|
||||||
) -> None:
|
) -> None:
|
||||||
fixtures_path = os.path.join(parent_dir, "fixtures")
|
fixtures_path = os.path.join(parent_dir, "fixtures")
|
||||||
if not cache.exists(index_key):
|
if not cache.exists(index_key):
|
||||||
|
|||||||
@@ -318,7 +318,12 @@ class MobyGamesHandler(MetadataHandler):
|
|||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
SLUG_TO_MOBY_ID: Final = {
|
class SlugToMobyId(TypedDict):
|
||||||
|
id: int
|
||||||
|
name: str
|
||||||
|
|
||||||
|
|
||||||
|
SLUG_TO_MOBY_ID: dict[str, SlugToMobyId] = {
|
||||||
"1292-advanced-programmable-video-system": {
|
"1292-advanced-programmable-video-system": {
|
||||||
"id": 253,
|
"id": 253,
|
||||||
"name": "1292 Advanced Programmable Video System",
|
"name": "1292 Advanced Programmable Video System",
|
||||||
|
|||||||
@@ -11,6 +11,8 @@ from handler.filesystem import (
|
|||||||
fs_rom_handler,
|
fs_rom_handler,
|
||||||
)
|
)
|
||||||
from handler.metadata import meta_igdb_handler, meta_moby_handler
|
from handler.metadata import meta_igdb_handler, meta_moby_handler
|
||||||
|
from handler.metadata.igdb_handler import IGDBRom
|
||||||
|
from handler.metadata.moby_handler import MobyGamesRom
|
||||||
from logger.logger import log
|
from logger.logger import log
|
||||||
from models.assets import Save, Screenshot, State
|
from models.assets import Save, Screenshot, State
|
||||||
from models.firmware import Firmware
|
from models.firmware import Firmware
|
||||||
@@ -224,8 +226,8 @@ async def scan_rom(
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
igdb_handler_rom = {}
|
igdb_handler_rom: IGDBRom = IGDBRom(igdb_id=None)
|
||||||
moby_handler_rom = {}
|
moby_handler_rom: MobyGamesRom = MobyGamesRom(moby_id=None)
|
||||||
|
|
||||||
if (
|
if (
|
||||||
"igdb" in metadata_sources
|
"igdb" in metadata_sources
|
||||||
@@ -319,7 +321,7 @@ def _scan_asset(file_name: str, path: str):
|
|||||||
|
|
||||||
|
|
||||||
def scan_save(
|
def scan_save(
|
||||||
file_name: str, user: User, platform_fs_slug: str, emulator: str = None
|
file_name: str, user: User, platform_fs_slug: str, emulator: str | None = None
|
||||||
) -> Save:
|
) -> Save:
|
||||||
saves_path = fs_asset_handler.build_saves_file_path(
|
saves_path = fs_asset_handler.build_saves_file_path(
|
||||||
user=user, platform_fs_slug=platform_fs_slug, emulator=emulator
|
user=user, platform_fs_slug=platform_fs_slug, emulator=emulator
|
||||||
@@ -328,7 +330,7 @@ def scan_save(
|
|||||||
|
|
||||||
|
|
||||||
def scan_state(
|
def scan_state(
|
||||||
file_name: str, user: User, platform_fs_slug: str, emulator: str = None
|
file_name: str, user: User, platform_fs_slug: str, emulator: str | None = None
|
||||||
) -> State:
|
) -> State:
|
||||||
states_path = fs_asset_handler.build_states_file_path(
|
states_path = fs_asset_handler.build_states_file_path(
|
||||||
user=user, platform_fs_slug=platform_fs_slug, emulator=emulator
|
user=user, platform_fs_slug=platform_fs_slug, emulator=emulator
|
||||||
@@ -337,7 +339,7 @@ def scan_state(
|
|||||||
|
|
||||||
|
|
||||||
def scan_screenshot(
|
def scan_screenshot(
|
||||||
file_name: str, user: User, platform_fs_slug: str = None
|
file_name: str, user: User, platform_fs_slug: str | None = None
|
||||||
) -> Screenshot:
|
) -> Screenshot:
|
||||||
screenshots_path = fs_asset_handler.build_screenshots_file_path(
|
screenshots_path = fs_asset_handler.build_screenshots_file_path(
|
||||||
user=user, platform_fs_slug=platform_fs_slug
|
user=user, platform_fs_slug=platform_fs_slug
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ from models.rom import Rom
|
|||||||
|
|
||||||
@pytest.mark.vcr
|
@pytest.mark.vcr
|
||||||
def test_scan_platform():
|
def test_scan_platform():
|
||||||
platform = scan_platform("n64", "n64")
|
platform = scan_platform("n64", ["n64"])
|
||||||
|
|
||||||
assert platform.__class__ == Platform
|
assert platform.__class__ == Platform
|
||||||
assert platform.fs_slug == "n64"
|
assert platform.fs_slug == "n64"
|
||||||
@@ -16,7 +16,7 @@ def test_scan_platform():
|
|||||||
assert platform.igdb_id == 4
|
assert platform.igdb_id == 4
|
||||||
|
|
||||||
try:
|
try:
|
||||||
platform = scan_platform("", "")
|
platform = scan_platform("", [])
|
||||||
except RomsNotFoundException as e:
|
except RomsNotFoundException as e:
|
||||||
assert "Roms not found for platform" in str(e)
|
assert "Roms not found for platform" in str(e)
|
||||||
|
|
||||||
|
|||||||
@@ -27,8 +27,8 @@ class User(BaseModel, SimpleUser):
|
|||||||
enabled: bool = Column(Boolean(), default=True)
|
enabled: bool = Column(Boolean(), default=True)
|
||||||
role: Role = Column(Enum(Role), default=Role.VIEWER)
|
role: Role = Column(Enum(Role), default=Role.VIEWER)
|
||||||
avatar_path: str = Column(String(length=255), default="")
|
avatar_path: str = Column(String(length=255), default="")
|
||||||
last_login: datetime = Column(DateTime(timezone=True), nullable=True)
|
last_login: Mapped[datetime] = Column(DateTime(timezone=True), nullable=True)
|
||||||
last_active: datetime = Column(DateTime(timezone=True), nullable=True)
|
last_active: Mapped[datetime] = Column(DateTime(timezone=True), nullable=True)
|
||||||
|
|
||||||
saves: Mapped[list[Save]] = relationship(
|
saves: Mapped[list[Save]] = relationship(
|
||||||
"Save",
|
"Save",
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ class PeriodicTask(ABC):
|
|||||||
func: str,
|
func: str,
|
||||||
description,
|
description,
|
||||||
enabled: bool = False,
|
enabled: bool = False,
|
||||||
cron_string: str = None,
|
cron_string: str | None = None,
|
||||||
):
|
):
|
||||||
self.func = func
|
self.func = func
|
||||||
self.description = description or func
|
self.description = description or func
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
# poetry_npm run python3 -m utils.generate_supported_platforms
|
# poetry_npm run python3 -m utils.generate_supported_platforms
|
||||||
|
from typing import TypedDict
|
||||||
|
|
||||||
from handler.metadata.igdb_handler import IGDB_PLATFORM_LIST
|
from handler.metadata.igdb_handler import IGDB_PLATFORM_LIST
|
||||||
from handler.metadata.moby_handler import SLUG_TO_MOBY_ID
|
from handler.metadata.moby_handler import SLUG_TO_MOBY_ID
|
||||||
@@ -68,30 +69,37 @@ IGDB_SLUG_TO_MOBY_SLUG = {
|
|||||||
"xboxone": "xbox-one",
|
"xboxone": "xbox-one",
|
||||||
}
|
}
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
supported_platforms = {}
|
|
||||||
matched_moby_slugs = []
|
|
||||||
|
|
||||||
for platform in IGDB_PLATFORM_LIST:
|
class SupportedPlatform(TypedDict):
|
||||||
moby_slug = platform["slug"] if platform["slug"] in SLUG_TO_MOBY_ID else None
|
name: str
|
||||||
moby_slug = IGDB_SLUG_TO_MOBY_SLUG.get(platform["slug"], moby_slug)
|
igdb_slug: str | None
|
||||||
supported_platforms[platform["name"]] = {
|
moby_slug: str | None
|
||||||
"name": platform["name"],
|
|
||||||
"igdb_slug": platform["slug"],
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
supported_platforms: dict[str, SupportedPlatform] = {}
|
||||||
|
matched_moby_slugs: list[str] = []
|
||||||
|
|
||||||
|
for plt in IGDB_PLATFORM_LIST:
|
||||||
|
moby_slug = plt["slug"] if plt["slug"] in SLUG_TO_MOBY_ID else None
|
||||||
|
moby_slug = IGDB_SLUG_TO_MOBY_SLUG.get(plt["slug"], moby_slug)
|
||||||
|
supported_platforms[plt["name"]] = {
|
||||||
|
"name": plt["name"],
|
||||||
|
"igdb_slug": plt["slug"],
|
||||||
"moby_slug": moby_slug,
|
"moby_slug": moby_slug,
|
||||||
}
|
}
|
||||||
if moby_slug:
|
if moby_slug:
|
||||||
matched_moby_slugs.append(moby_slug)
|
matched_moby_slugs.append(moby_slug)
|
||||||
|
|
||||||
# Now go over the moby ids
|
# Now go over the moby ids
|
||||||
for slug, platform in SLUG_TO_MOBY_ID.items():
|
for slug, pltf in SLUG_TO_MOBY_ID.items():
|
||||||
if (
|
if (
|
||||||
platform["name"] not in supported_platforms
|
pltf["name"] not in supported_platforms
|
||||||
and platform["name"].lower() not in supported_platforms
|
and pltf["name"].lower() not in supported_platforms
|
||||||
and slug not in matched_moby_slugs
|
and slug not in matched_moby_slugs
|
||||||
):
|
):
|
||||||
supported_platforms[platform["name"]] = {
|
supported_platforms[pltf["name"]] = {
|
||||||
"name": platform["name"],
|
"name": pltf["name"],
|
||||||
"igdb_slug": None,
|
"igdb_slug": None,
|
||||||
"moby_slug": slug,
|
"moby_slug": slug,
|
||||||
}
|
}
|
||||||
|
|||||||
102
poetry.lock
generated
102
poetry.lock
generated
@@ -1849,60 +1849,60 @@ typing_extensions = ">=4,<5"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "sqlalchemy"
|
name = "sqlalchemy"
|
||||||
version = "2.0.29"
|
version = "2.0.30"
|
||||||
description = "Database Abstraction Library"
|
description = "Database Abstraction Library"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.7"
|
python-versions = ">=3.7"
|
||||||
files = [
|
files = [
|
||||||
{file = "SQLAlchemy-2.0.29-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:4c142852ae192e9fe5aad5c350ea6befe9db14370b34047e1f0f7cf99e63c63b"},
|
{file = "SQLAlchemy-2.0.30-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:3b48154678e76445c7ded1896715ce05319f74b1e73cf82d4f8b59b46e9c0ddc"},
|
||||||
{file = "SQLAlchemy-2.0.29-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:99a1e69d4e26f71e750e9ad6fdc8614fbddb67cfe2173a3628a2566034e223c7"},
|
{file = "SQLAlchemy-2.0.30-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2753743c2afd061bb95a61a51bbb6a1a11ac1c44292fad898f10c9839a7f75b2"},
|
||||||
{file = "SQLAlchemy-2.0.29-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5ef3fbccb4058355053c51b82fd3501a6e13dd808c8d8cd2561e610c5456013c"},
|
{file = "SQLAlchemy-2.0.30-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a7bfc726d167f425d4c16269a9a10fe8630ff6d14b683d588044dcef2d0f6be7"},
|
||||||
{file = "SQLAlchemy-2.0.29-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9d6753305936eddc8ed190e006b7bb33a8f50b9854823485eed3a886857ab8d1"},
|
{file = "SQLAlchemy-2.0.30-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c4f61ada6979223013d9ab83a3ed003ded6959eae37d0d685db2c147e9143797"},
|
||||||
{file = "SQLAlchemy-2.0.29-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:0f3ca96af060a5250a8ad5a63699180bc780c2edf8abf96c58af175921df847a"},
|
{file = "SQLAlchemy-2.0.30-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:3a365eda439b7a00732638f11072907c1bc8e351c7665e7e5da91b169af794af"},
|
||||||
{file = "SQLAlchemy-2.0.29-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c4520047006b1d3f0d89e0532978c0688219857eb2fee7c48052560ae76aca1e"},
|
{file = "SQLAlchemy-2.0.30-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:bba002a9447b291548e8d66fd8c96a6a7ed4f2def0bb155f4f0a1309fd2735d5"},
|
||||||
{file = "SQLAlchemy-2.0.29-cp310-cp310-win32.whl", hash = "sha256:b2a0e3cf0caac2085ff172c3faacd1e00c376e6884b5bc4dd5b6b84623e29e4f"},
|
{file = "SQLAlchemy-2.0.30-cp310-cp310-win32.whl", hash = "sha256:0138c5c16be3600923fa2169532205d18891b28afa817cb49b50e08f62198bb8"},
|
||||||
{file = "SQLAlchemy-2.0.29-cp310-cp310-win_amd64.whl", hash = "sha256:01d10638a37460616708062a40c7b55f73e4d35eaa146781c683e0fa7f6c43fb"},
|
{file = "SQLAlchemy-2.0.30-cp310-cp310-win_amd64.whl", hash = "sha256:99650e9f4cf3ad0d409fed3eec4f071fadd032e9a5edc7270cd646a26446feeb"},
|
||||||
{file = "SQLAlchemy-2.0.29-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:308ef9cb41d099099fffc9d35781638986870b29f744382904bf9c7dadd08513"},
|
{file = "SQLAlchemy-2.0.30-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:955991a09f0992c68a499791a753523f50f71a6885531568404fa0f231832aa0"},
|
||||||
{file = "SQLAlchemy-2.0.29-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:296195df68326a48385e7a96e877bc19aa210e485fa381c5246bc0234c36c78e"},
|
{file = "SQLAlchemy-2.0.30-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f69e4c756ee2686767eb80f94c0125c8b0a0b87ede03eacc5c8ae3b54b99dc46"},
|
||||||
{file = "SQLAlchemy-2.0.29-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a13b917b4ffe5a0a31b83d051d60477819ddf18276852ea68037a144a506efb9"},
|
{file = "SQLAlchemy-2.0.30-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69c9db1ce00e59e8dd09d7bae852a9add716efdc070a3e2068377e6ff0d6fdaa"},
|
||||||
{file = "SQLAlchemy-2.0.29-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4f6d971255d9ddbd3189e2e79d743ff4845c07f0633adfd1de3f63d930dbe673"},
|
{file = "SQLAlchemy-2.0.30-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a1429a4b0f709f19ff3b0cf13675b2b9bfa8a7e79990003207a011c0db880a13"},
|
||||||
{file = "SQLAlchemy-2.0.29-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:61405ea2d563407d316c63a7b5271ae5d274a2a9fbcd01b0aa5503635699fa1e"},
|
{file = "SQLAlchemy-2.0.30-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:efedba7e13aa9a6c8407c48facfdfa108a5a4128e35f4c68f20c3407e4376aa9"},
|
||||||
{file = "SQLAlchemy-2.0.29-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:de7202ffe4d4a8c1e3cde1c03e01c1a3772c92858837e8f3879b497158e4cb44"},
|
{file = "SQLAlchemy-2.0.30-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:16863e2b132b761891d6c49f0a0f70030e0bcac4fd208117f6b7e053e68668d0"},
|
||||||
{file = "SQLAlchemy-2.0.29-cp311-cp311-win32.whl", hash = "sha256:b5d7ed79df55a731749ce65ec20d666d82b185fa4898430b17cb90c892741520"},
|
{file = "SQLAlchemy-2.0.30-cp311-cp311-win32.whl", hash = "sha256:2ecabd9ccaa6e914e3dbb2aa46b76dede7eadc8cbf1b8083c94d936bcd5ffb49"},
|
||||||
{file = "SQLAlchemy-2.0.29-cp311-cp311-win_amd64.whl", hash = "sha256:205f5a2b39d7c380cbc3b5dcc8f2762fb5bcb716838e2d26ccbc54330775b003"},
|
{file = "SQLAlchemy-2.0.30-cp311-cp311-win_amd64.whl", hash = "sha256:0b3f4c438e37d22b83e640f825ef0f37b95db9aa2d68203f2c9549375d0b2260"},
|
||||||
{file = "SQLAlchemy-2.0.29-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:d96710d834a6fb31e21381c6d7b76ec729bd08c75a25a5184b1089141356171f"},
|
{file = "SQLAlchemy-2.0.30-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:5a79d65395ac5e6b0c2890935bad892eabb911c4aa8e8015067ddb37eea3d56c"},
|
||||||
{file = "SQLAlchemy-2.0.29-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:52de4736404e53c5c6a91ef2698c01e52333988ebdc218f14c833237a0804f1b"},
|
{file = "SQLAlchemy-2.0.30-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:9a5baf9267b752390252889f0c802ea13b52dfee5e369527da229189b8bd592e"},
|
||||||
{file = "SQLAlchemy-2.0.29-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5c7b02525ede2a164c5fa5014915ba3591730f2cc831f5be9ff3b7fd3e30958e"},
|
{file = "SQLAlchemy-2.0.30-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3cb5a646930c5123f8461f6468901573f334c2c63c795b9af350063a736d0134"},
|
||||||
{file = "SQLAlchemy-2.0.29-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0dfefdb3e54cd15f5d56fd5ae32f1da2d95d78319c1f6dfb9bcd0eb15d603d5d"},
|
{file = "SQLAlchemy-2.0.30-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:296230899df0b77dec4eb799bcea6fbe39a43707ce7bb166519c97b583cfcab3"},
|
||||||
{file = "SQLAlchemy-2.0.29-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:a88913000da9205b13f6f195f0813b6ffd8a0c0c2bd58d499e00a30eb508870c"},
|
{file = "SQLAlchemy-2.0.30-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:c62d401223f468eb4da32627bffc0c78ed516b03bb8a34a58be54d618b74d472"},
|
||||||
{file = "SQLAlchemy-2.0.29-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:fecd5089c4be1bcc37c35e9aa678938d2888845a134dd016de457b942cf5a758"},
|
{file = "SQLAlchemy-2.0.30-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:3b69e934f0f2b677ec111b4d83f92dc1a3210a779f69bf905273192cf4ed433e"},
|
||||||
{file = "SQLAlchemy-2.0.29-cp312-cp312-win32.whl", hash = "sha256:8197d6f7a3d2b468861ebb4c9f998b9df9e358d6e1cf9c2a01061cb9b6cf4e41"},
|
{file = "SQLAlchemy-2.0.30-cp312-cp312-win32.whl", hash = "sha256:77d2edb1f54aff37e3318f611637171e8ec71472f1fdc7348b41dcb226f93d90"},
|
||||||
{file = "SQLAlchemy-2.0.29-cp312-cp312-win_amd64.whl", hash = "sha256:9b19836ccca0d321e237560e475fd99c3d8655d03da80c845c4da20dda31b6e1"},
|
{file = "SQLAlchemy-2.0.30-cp312-cp312-win_amd64.whl", hash = "sha256:b6c7ec2b1f4969fc19b65b7059ed00497e25f54069407a8701091beb69e591a5"},
|
||||||
{file = "SQLAlchemy-2.0.29-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:87a1d53a5382cdbbf4b7619f107cc862c1b0a4feb29000922db72e5a66a5ffc0"},
|
{file = "SQLAlchemy-2.0.30-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:5a8e3b0a7e09e94be7510d1661339d6b52daf202ed2f5b1f9f48ea34ee6f2d57"},
|
||||||
{file = "SQLAlchemy-2.0.29-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2a0732dffe32333211801b28339d2a0babc1971bc90a983e3035e7b0d6f06b93"},
|
{file = "SQLAlchemy-2.0.30-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b60203c63e8f984df92035610c5fb76d941254cf5d19751faab7d33b21e5ddc0"},
|
||||||
{file = "SQLAlchemy-2.0.29-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:90453597a753322d6aa770c5935887ab1fc49cc4c4fdd436901308383d698b4b"},
|
{file = "SQLAlchemy-2.0.30-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f1dc3eabd8c0232ee8387fbe03e0a62220a6f089e278b1f0aaf5e2d6210741ad"},
|
||||||
{file = "SQLAlchemy-2.0.29-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:ea311d4ee9a8fa67f139c088ae9f905fcf0277d6cd75c310a21a88bf85e130f5"},
|
{file = "SQLAlchemy-2.0.30-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:40ad017c672c00b9b663fcfcd5f0864a0a97828e2ee7ab0c140dc84058d194cf"},
|
||||||
{file = "SQLAlchemy-2.0.29-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:5f20cb0a63a3e0ec4e169aa8890e32b949c8145983afa13a708bc4b0a1f30e03"},
|
{file = "SQLAlchemy-2.0.30-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:e42203d8d20dc704604862977b1470a122e4892791fe3ed165f041e4bf447a1b"},
|
||||||
{file = "SQLAlchemy-2.0.29-cp37-cp37m-win32.whl", hash = "sha256:e5bbe55e8552019c6463709b39634a5fc55e080d0827e2a3a11e18eb73f5cdbd"},
|
{file = "SQLAlchemy-2.0.30-cp37-cp37m-win32.whl", hash = "sha256:2a4f4da89c74435f2bc61878cd08f3646b699e7d2eba97144030d1be44e27584"},
|
||||||
{file = "SQLAlchemy-2.0.29-cp37-cp37m-win_amd64.whl", hash = "sha256:c2f9c762a2735600654c654bf48dad388b888f8ce387b095806480e6e4ff6907"},
|
{file = "SQLAlchemy-2.0.30-cp37-cp37m-win_amd64.whl", hash = "sha256:b6bf767d14b77f6a18b6982cbbf29d71bede087edae495d11ab358280f304d8e"},
|
||||||
{file = "SQLAlchemy-2.0.29-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:7e614d7a25a43a9f54fcce4675c12761b248547f3d41b195e8010ca7297c369c"},
|
{file = "SQLAlchemy-2.0.30-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:bc0c53579650a891f9b83fa3cecd4e00218e071d0ba00c4890f5be0c34887ed3"},
|
||||||
{file = "SQLAlchemy-2.0.29-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:471fcb39c6adf37f820350c28aac4a7df9d3940c6548b624a642852e727ea586"},
|
{file = "SQLAlchemy-2.0.30-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:311710f9a2ee235f1403537b10c7687214bb1f2b9ebb52702c5aa4a77f0b3af7"},
|
||||||
{file = "SQLAlchemy-2.0.29-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:988569c8732f54ad3234cf9c561364221a9e943b78dc7a4aaf35ccc2265f1930"},
|
{file = "SQLAlchemy-2.0.30-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:408f8b0e2c04677e9c93f40eef3ab22f550fecb3011b187f66a096395ff3d9fd"},
|
||||||
{file = "SQLAlchemy-2.0.29-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dddaae9b81c88083e6437de95c41e86823d150f4ee94bf24e158a4526cbead01"},
|
{file = "SQLAlchemy-2.0.30-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:37a4b4fb0dd4d2669070fb05b8b8824afd0af57587393015baee1cf9890242d9"},
|
||||||
{file = "SQLAlchemy-2.0.29-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:334184d1ab8f4c87f9652b048af3f7abea1c809dfe526fb0435348a6fef3d380"},
|
{file = "SQLAlchemy-2.0.30-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:a943d297126c9230719c27fcbbeab57ecd5d15b0bd6bfd26e91bfcfe64220621"},
|
||||||
{file = "SQLAlchemy-2.0.29-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:38b624e5cf02a69b113c8047cf7f66b5dfe4a2ca07ff8b8716da4f1b3ae81567"},
|
{file = "SQLAlchemy-2.0.30-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:0a089e218654e740a41388893e090d2e2c22c29028c9d1353feb38638820bbeb"},
|
||||||
{file = "SQLAlchemy-2.0.29-cp38-cp38-win32.whl", hash = "sha256:bab41acf151cd68bc2b466deae5deeb9e8ae9c50ad113444151ad965d5bf685b"},
|
{file = "SQLAlchemy-2.0.30-cp38-cp38-win32.whl", hash = "sha256:fa561138a64f949f3e889eb9ab8c58e1504ab351d6cf55259dc4c248eaa19da6"},
|
||||||
{file = "SQLAlchemy-2.0.29-cp38-cp38-win_amd64.whl", hash = "sha256:52c8011088305476691b8750c60e03b87910a123cfd9ad48576d6414b6ec2a1d"},
|
{file = "SQLAlchemy-2.0.30-cp38-cp38-win_amd64.whl", hash = "sha256:7d74336c65705b986d12a7e337ba27ab2b9d819993851b140efdf029248e818e"},
|
||||||
{file = "SQLAlchemy-2.0.29-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3071ad498896907a5ef756206b9dc750f8e57352113c19272bdfdc429c7bd7de"},
|
{file = "SQLAlchemy-2.0.30-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ae8c62fe2480dd61c532ccafdbce9b29dacc126fe8be0d9a927ca3e699b9491a"},
|
||||||
{file = "SQLAlchemy-2.0.29-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:dba622396a3170974f81bad49aacebd243455ec3cc70615aeaef9e9613b5bca5"},
|
{file = "SQLAlchemy-2.0.30-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2383146973a15435e4717f94c7509982770e3e54974c71f76500a0136f22810b"},
|
||||||
{file = "SQLAlchemy-2.0.29-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7b184e3de58009cc0bf32e20f137f1ec75a32470f5fede06c58f6c355ed42a72"},
|
{file = "SQLAlchemy-2.0.30-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8409de825f2c3b62ab15788635ccaec0c881c3f12a8af2b12ae4910a0a9aeef6"},
|
||||||
{file = "SQLAlchemy-2.0.29-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8c37f1050feb91f3d6c32f864d8e114ff5545a4a7afe56778d76a9aec62638ba"},
|
{file = "SQLAlchemy-2.0.30-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0094c5dc698a5f78d3d1539853e8ecec02516b62b8223c970c86d44e7a80f6c7"},
|
||||||
{file = "SQLAlchemy-2.0.29-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:bda7ce59b06d0f09afe22c56714c65c957b1068dee3d5e74d743edec7daba552"},
|
{file = "SQLAlchemy-2.0.30-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:edc16a50f5e1b7a06a2dcc1f2205b0b961074c123ed17ebda726f376a5ab0953"},
|
||||||
{file = "SQLAlchemy-2.0.29-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:25664e18bef6dc45015b08f99c63952a53a0a61f61f2e48a9e70cec27e55f699"},
|
{file = "SQLAlchemy-2.0.30-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:f7703c2010355dd28f53deb644a05fc30f796bd8598b43f0ba678878780b6e4c"},
|
||||||
{file = "SQLAlchemy-2.0.29-cp39-cp39-win32.whl", hash = "sha256:77d29cb6c34b14af8a484e831ab530c0f7188f8efed1c6a833a2c674bf3c26ec"},
|
{file = "SQLAlchemy-2.0.30-cp39-cp39-win32.whl", hash = "sha256:1f9a727312ff6ad5248a4367358e2cf7e625e98b1028b1d7ab7b806b7d757513"},
|
||||||
{file = "SQLAlchemy-2.0.29-cp39-cp39-win_amd64.whl", hash = "sha256:04c487305ab035a9548f573763915189fc0fe0824d9ba28433196f8436f1449c"},
|
{file = "SQLAlchemy-2.0.30-cp39-cp39-win_amd64.whl", hash = "sha256:a0ef36b28534f2a5771191be6edb44cc2673c7b2edf6deac6562400288664221"},
|
||||||
{file = "SQLAlchemy-2.0.29-py3-none-any.whl", hash = "sha256:dc4ee2d4ee43251905f88637d5281a8d52e916a021384ec10758826f5cbae305"},
|
{file = "SQLAlchemy-2.0.30-py3-none-any.whl", hash = "sha256:7108d569d3990c71e26a42f60474b4c02c8586c4681af5fd67e51a044fdea86a"},
|
||||||
{file = "SQLAlchemy-2.0.29.tar.gz", hash = "sha256:bd9566b8e58cabd700bc367b60e90d9349cd16f0984973f98a9a09f9c64e86f0"},
|
{file = "SQLAlchemy-2.0.30.tar.gz", hash = "sha256:2b1708916730f4830bc69d6f49d37f7698b5bd7530aca7f04f785f8849e95255"},
|
||||||
]
|
]
|
||||||
|
|
||||||
[package.dependencies]
|
[package.dependencies]
|
||||||
@@ -2489,4 +2489,4 @@ multidict = ">=4.0"
|
|||||||
[metadata]
|
[metadata]
|
||||||
lock-version = "2.0"
|
lock-version = "2.0"
|
||||||
python-versions = "^3.11"
|
python-versions = "^3.11"
|
||||||
content-hash = "323b1951650e0387f1bcdd50dc86745576cc90651e9ab43bd29431aacc59c667"
|
content-hash = "0ff8ecf16515c8921e1bef2e6be3a9b2d26d505d7d561f134e1b4a0458a90a47"
|
||||||
|
|||||||
@@ -3,12 +3,9 @@ package-mode = false
|
|||||||
name = "romm"
|
name = "romm"
|
||||||
version = "0.0.1"
|
version = "0.0.1"
|
||||||
description = "A beautiful, powerful, self-hosted rom manager"
|
description = "A beautiful, powerful, self-hosted rom manager"
|
||||||
license = "GNU GPLv3"
|
license = "GNU AGPLv3"
|
||||||
repository = "https://github.com/rommapp/romm"
|
repository = "https://github.com/rommapp/romm"
|
||||||
authors = [
|
authors = ["Zurdi <zurdi@romm.app>", "Arcane <arcane@romm.app>"]
|
||||||
"Zurdi <https://github.com/zurdi15/>",
|
|
||||||
"Georges-Antoine Assi <contact@me.gantoine.com>",
|
|
||||||
]
|
|
||||||
|
|
||||||
[tool.poetry.dependencies]
|
[tool.poetry.dependencies]
|
||||||
python = "^3.11"
|
python = "^3.11"
|
||||||
@@ -18,7 +15,7 @@ uvicorn = "0.29.0"
|
|||||||
gunicorn = "22.0.0"
|
gunicorn = "22.0.0"
|
||||||
websockets = "12.0"
|
websockets = "12.0"
|
||||||
python-socketio = "5.11.1"
|
python-socketio = "5.11.1"
|
||||||
SQLAlchemy = { extras = ["mypy"], version = "^2.0.28" }
|
SQLAlchemy = { extras = ["mypy"], version = "^2.0.30" }
|
||||||
alembic = "1.13.1"
|
alembic = "1.13.1"
|
||||||
PyYAML = "6.0.1"
|
PyYAML = "6.0.1"
|
||||||
Unidecode = "1.3.8"
|
Unidecode = "1.3.8"
|
||||||
@@ -57,8 +54,3 @@ pytest-asyncio = "^0.23.5"
|
|||||||
[tool.poetry.group.dev.dependencies]
|
[tool.poetry.group.dev.dependencies]
|
||||||
ipdb = "^0.13.13"
|
ipdb = "^0.13.13"
|
||||||
mypy = "^1.10.0"
|
mypy = "^1.10.0"
|
||||||
|
|
||||||
[tool.mypy]
|
|
||||||
plugins = "sqlalchemy.ext.mypy.plugin"
|
|
||||||
check_untyped_defs = true
|
|
||||||
exclude = ["tests", "alembic"]
|
|
||||||
|
|||||||
Reference in New Issue
Block a user